Merge pull request #73 from 0glabs/dev
Some checks failed
Continuous Integration (Commit) / lint (push) Has been cancelled

merge dev changes
This commit is contained in:
0g-wh 2024-08-23 11:41:12 +08:00 committed by GitHub
commit 66539dcab3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 207 additions and 237 deletions

42
Dockerfile-node Normal file
View File

@ -0,0 +1,42 @@
FROM --platform=linux/amd64 ubuntu:24.04
# Install dependencies
RUN apt-get update && \
apt-get install -y \
git \
sudo \
wget \
jq \
make \
gcc \
unzip && \
rm -rf /var/lib/apt/lists/*
# Install Go
RUN wget https://golang.org/dl/go1.22.5.linux-amd64.tar.gz && \
tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz && \
rm go1.22.5.linux-amd64.tar.gz
# Set Go environment variables
ENV GOPATH=/root/go
ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
# Create Go workspace directory
RUN mkdir -p /root/go
WORKDIR /root
# https://docs.0g.ai/0g-doc/run-a-node/validator-node
RUN git clone -b v0.2.3 https://github.com/0glabs/0g-chain.git
RUN ./0g-chain/networks/testnet/install.sh
RUN 0gchaind config chain-id zgtendermint_16600-2
RUN 0gchaind init testnetnode --chain-id zgtendermint_16600-2
RUN rm ~/.0gchain/config/genesis.json
RUN wget -P ~/.0gchain/config https://github.com/0glabs/0g-chain/releases/download/v0.2.3/genesis.json
RUN 0gchaind validate-genesis
RUN sed -i 's|seeds = ""|seeds = "81987895a11f6689ada254c6b57932ab7ed909b6@54.241.167.190:26656,010fb4de28667725a4fef26cdc7f9452cc34b16d@54.176.175.48:26656,e9b4bc203197b62cc7e6a80a64742e752f4210d5@54.193.250.204:26656,68b9145889e7576b652ca68d985826abd46ad660@18.166.164.232:26656"|' $HOME/.0gchain/config/config.toml
ENTRYPOINT ["0gchaind", "start"]

View File

@ -48,9 +48,6 @@ func (suite *tallyHandlerSuite) SetupTest() {
suite.tallier = NewTallyHandler(
suite.app.GetGovKeeper(),
stakingKeeper,
suite.app.GetSavingsKeeper(),
suite.app.GetEarnKeeper(),
suite.app.GetLiquidKeeper(),
suite.app.GetBankKeeper(),
)
}

View File

@ -7,9 +7,9 @@ import (
"github.com/0glabs/0g-chain/client/grpc/util"
)
// KavaGrpcClient enables the usage of kava grpc query clients and query utils
type KavaGrpcClient struct {
config KavaGrpcClientConfig
// ZgChainGrpcClient enables the usage of kava grpc query clients and query utils
type ZgChainGrpcClient struct {
config ZgChainGrpcClientConfig
// Query clients for cosmos and kava modules
Query *query.QueryClient
@ -18,18 +18,18 @@ type KavaGrpcClient struct {
*util.Util
}
// KavaGrpcClientConfig is a configuration struct for a KavaGrpcClient
type KavaGrpcClientConfig struct {
// ZgChainGrpcClientConfig is a configuration struct for a ZgChainGrpcClient
type ZgChainGrpcClientConfig struct {
// note: add future config options here
}
// NewClient creates a new KavaGrpcClient via a grpc url
func NewClient(grpcUrl string) (*KavaGrpcClient, error) {
// NewClient creates a new ZgChainGrpcClient via a grpc url
func NewClient(grpcUrl string) (*ZgChainGrpcClient, error) {
return NewClientWithConfig(grpcUrl, NewDefaultConfig())
}
// NewClientWithConfig creates a new KavaGrpcClient via a grpc url and config
func NewClientWithConfig(grpcUrl string, config KavaGrpcClientConfig) (*KavaGrpcClient, error) {
// NewClientWithConfig creates a new ZgChainGrpcClient via a grpc url and config
func NewClientWithConfig(grpcUrl string, config ZgChainGrpcClientConfig) (*ZgChainGrpcClient, error) {
if grpcUrl == "" {
return nil, errors.New("grpc url cannot be empty")
}
@ -37,7 +37,7 @@ func NewClientWithConfig(grpcUrl string, config KavaGrpcClientConfig) (*KavaGrpc
if error != nil {
return nil, error
}
client := &KavaGrpcClient{
client := &ZgChainGrpcClient{
Query: query,
Util: util.NewUtil(query),
config: config,
@ -45,6 +45,6 @@ func NewClientWithConfig(grpcUrl string, config KavaGrpcClientConfig) (*KavaGrpc
return client, nil
}
func NewDefaultConfig() KavaGrpcClientConfig {
return KavaGrpcClientConfig{}
func NewDefaultConfig() ZgChainGrpcClientConfig {
return ZgChainGrpcClientConfig{}
}

View File

@ -60,21 +60,11 @@ type QueryClient struct {
// kava module query clients
Auction auctiontypes.QueryClient
Bep3 bep3types.QueryClient
Cdp cdptypes.QueryClient
Committee committeetypes.QueryClient
Community communitytypes.QueryClient
Earn earntypes.QueryClient
Evmutil evmutiltypes.QueryClient
Hard hardtypes.QueryClient
Incentive incentivetypes.QueryClient
Issuance issuancetypes.QueryClient
Kavadist kavadisttypes.QueryClient
Liquid liquidtypes.QueryClient
Pricefeed pricefeedtypes.QueryClient
Savings savingstypes.QueryClient
Swap swaptypes.QueryClient
}
// NewQueryClient creates a new QueryClient and initializes all the module query clients
@ -105,21 +95,11 @@ func NewQueryClient(grpcEndpoint string) (*QueryClient, error) {
IbcClient: ibcclienttypes.NewQueryClient(conn),
IbcTransfer: ibctransfertypes.NewQueryClient(conn),
Auction: auctiontypes.NewQueryClient(conn),
Bep3: bep3types.NewQueryClient(conn),
Cdp: cdptypes.NewQueryClient(conn),
Committee: committeetypes.NewQueryClient(conn),
Community: communitytypes.NewQueryClient(conn),
Earn: earntypes.NewQueryClient(conn),
Evmutil: evmutiltypes.NewQueryClient(conn),
Hard: hardtypes.NewQueryClient(conn),
Incentive: incentivetypes.NewQueryClient(conn),
Issuance: issuancetypes.NewQueryClient(conn),
Kavadist: kavadisttypes.NewQueryClient(conn),
Liquid: liquidtypes.NewQueryClient(conn),
Pricefeed: pricefeedtypes.NewQueryClient(conn),
Savings: savingstypes.NewQueryClient(conn),
Swap: swaptypes.NewQueryClient(conn),
}
return client, nil
}

View File

@ -55,20 +55,10 @@ func TestNewQueryClient_ValidClient(t *testing.T) {
require.NotNil(t, client.IbcTransfer)
// validate kava clients
require.NotNil(t, client.Auction)
require.NotNil(t, client.Bep3)
require.NotNil(t, client.Cdp)
require.NotNil(t, client.Committee)
require.NotNil(t, client.Community)
require.NotNil(t, client.Earn)
require.NotNil(t, client.Evmutil)
require.NotNil(t, client.Hard)
require.NotNil(t, client.Incentive)
require.NotNil(t, client.Issuance)
require.NotNil(t, client.Kavadist)
require.NotNil(t, client.Liquid)
require.NotNil(t, client.Pricefeed)
require.NotNil(t, client.Savings)
require.NotNil(t, client.Swap)
})
}

View File

@ -12,6 +12,7 @@ import (
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
simappparams "cosmossdk.io/simapp/params"
"github.com/0glabs/0g-chain/client/rest"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"

4
go.mod
View File

@ -5,6 +5,7 @@ go 1.21
require (
cosmossdk.io/errors v1.0.1
cosmossdk.io/math v1.3.0
cosmossdk.io/simapp v0.0.0-20231127212628-044ff4d8c015
github.com/cenkalti/backoff/v4 v4.1.3
github.com/cometbft/cometbft v0.37.4
github.com/cometbft/cometbft-db v0.9.1
@ -52,7 +53,6 @@ require (
cosmossdk.io/core v0.6.1 // indirect
cosmossdk.io/depinject v1.0.0-alpha.4 // indirect
cosmossdk.io/log v1.3.1 // indirect
cosmossdk.io/simapp v0.0.0-20231127212628-044ff4d8c015 // indirect
cosmossdk.io/tools/rosetta v0.2.1 // indirect
filippo.io/edwards25519 v1.0.0 // indirect
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
@ -234,7 +234,7 @@ replace (
// Use go-ethereum fork with precompiles
github.com/ethereum/go-ethereum => github.com/evmos/go-ethereum v1.10.26-evmos-rc2
// Use ethermint fork that respects min-gas-price with NoBaseFee true and london enabled, and includes eip712 support
github.com/evmos/ethermint => github.com/0glabs/ethermint v0.21.0-0g.v3.0.2
github.com/evmos/ethermint => github.com/0glabs/ethermint v0.21.0-0g.v3.0.3
// See https://github.com/cosmos/cosmos-sdk/pull/10401, https://github.com/cosmos/cosmos-sdk/commit/0592ba6158cd0bf49d894be1cef4faeec59e8320
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.9.0
// Downgraded to avoid bugs in following commits which causes "version does not exist" errors

4
go.sum
View File

@ -211,8 +211,8 @@ git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFN
git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA=
github.com/0glabs/cosmos-sdk v0.47.10-0glabs.3 h1:Wx3tVMTuFaaHDeJT/OzT7QLfAIpeaZsG9R6XoTOyKCw=
github.com/0glabs/cosmos-sdk v0.47.10-0glabs.3/go.mod h1:BWo24B8cApWcO2/widWYIdt3CPxbh+HCSypCPpjTjog=
github.com/0glabs/ethermint v0.21.0-0g.v3.0.2 h1:4YI5wzzRdAvZ27PMLityxooICEE1bkG+7HgNQUm6JyM=
github.com/0glabs/ethermint v0.21.0-0g.v3.0.2/go.mod h1:HYQUhvcZBIG71H3xlxQSk0XyQEjeaHsduOj6O2QImrE=
github.com/0glabs/ethermint v0.21.0-0g.v3.0.3 h1:QNrXBQV5L/9FvYRUzJRXMV745xBmJhIP0aEdo0u8x+8=
github.com/0glabs/ethermint v0.21.0-0g.v3.0.3/go.mod h1:HYQUhvcZBIG71H3xlxQSk0XyQEjeaHsduOj6O2QImrE=
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs=
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4=
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM=

View File

@ -1,5 +1,5 @@
syntax = "proto3";
package zg.validatorvesting.v1beta1;
package zgc.validatorvesting.v1beta1;
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";

View File

@ -5,7 +5,6 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
sdk "github.com/cosmos/cosmos-sdk/types"
// communitytypes "github.com/0glabs/0g-chain/x/community/types"
)
// func (suite *IntegrationTestSuite) TestCommunityUpdateParams_NonAuthority() {

View File

@ -25,7 +25,10 @@ func setupConvertToCoinTest(
) (denom string, initialFunds sdk.Coins, user *testutil.SigningAccount) {
// we expect a denom to be registered to the allowed denoms param
// and for the funded account to have a balance for that denom
params, err := suite.ZgChain.Evmutil.Params(context.Background(), &evmutiltypes.QueryParamsRequest{})
params, err := suite.ZgChain.Grpc.Query.Evmutil.Params(
context.Background(),
&evmutiltypes.QueryParamsRequest{},
)
suite.NoError(err)
suite.GreaterOrEqual(
len(params.Params.AllowedCosmosDenoms), 1,
@ -74,7 +77,7 @@ func (suite *IntegrationTestSuite) setupAccountWithCosmosCoinERC20Balance(
sdkBalance = sdkBalance.Sub(convertAmount)
// query for the deployed contract
deployedContracts, err := suite.ZgChain.Evmutil.DeployedCosmosCoinContracts(
deployedContracts, err := suite.ZgChain.Grpc.Query.Evmutil.DeployedCosmosCoinContracts(
context.Background(),
&evmutiltypes.QueryDeployedCosmosCoinContractsRequest{CosmosDenoms: []string{denom}},
)
@ -110,7 +113,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoinsToFromERC20() {
suite.NoError(res.Err)
// query for the deployed contract
deployedContracts, err := suite.ZgChain.Evmutil.DeployedCosmosCoinContracts(
deployedContracts, err := suite.ZgChain.Grpc.Query.Evmutil.DeployedCosmosCoinContracts(
context.Background(),
&evmutiltypes.QueryDeployedCosmosCoinContractsRequest{CosmosDenoms: []string{denom}},
)
@ -192,18 +195,18 @@ func (suite *IntegrationTestSuite) TestEIP712ConvertCosmosCoinsToFromERC20() {
suite.NoError(err)
// submit the eip712 message to the chain.
res, err := suite.ZgChain.Tx.BroadcastTx(context.Background(), &txtypes.BroadcastTxRequest{
res, err := suite.ZgChain.Grpc.Query.Tx.BroadcastTx(context.Background(), &txtypes.BroadcastTxRequest{
TxBytes: txBytes,
Mode: txtypes.BroadcastMode_BROADCAST_MODE_SYNC,
})
suite.NoError(err)
suite.Equal(sdkerrors.SuccessABCICode, res.TxResponse.Code)
_, err = util.WaitForSdkTxCommit(suite.ZgChain.Tx, res.TxResponse.TxHash, 12*time.Second)
_, err = util.WaitForSdkTxCommit(suite.ZgChain.Grpc.Query.Tx, res.TxResponse.TxHash, 12*time.Second)
suite.Require().NoError(err)
// query for the deployed contract
deployedContracts, err := suite.ZgChain.Evmutil.DeployedCosmosCoinContracts(
deployedContracts, err := suite.ZgChain.Grpc.Query.Evmutil.DeployedCosmosCoinContracts(
context.Background(),
&evmutiltypes.QueryDeployedCosmosCoinContractsRequest{CosmosDenoms: []string{denom}},
)
@ -246,14 +249,14 @@ func (suite *IntegrationTestSuite) TestEIP712ConvertCosmosCoinsToFromERC20() {
suite.NoError(err)
// submit the eip712 message to the chain
res, err = suite.ZgChain.Tx.BroadcastTx(context.Background(), &txtypes.BroadcastTxRequest{
res, err = suite.ZgChain.Grpc.Query.Tx.BroadcastTx(context.Background(), &txtypes.BroadcastTxRequest{
TxBytes: txBytes,
Mode: txtypes.BroadcastMode_BROADCAST_MODE_SYNC,
})
suite.NoError(err)
suite.Equal(sdkerrors.SuccessABCICode, res.TxResponse.Code)
_, err = util.WaitForSdkTxCommit(suite.ZgChain.Tx, res.TxResponse.TxHash, 6*time.Second)
_, err = util.WaitForSdkTxCommit(suite.ZgChain.Grpc.Query.Tx, res.TxResponse.TxHash, 6*time.Second)
suite.NoError(err)
// check erc20 balance

View File

@ -85,18 +85,18 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() {
suite.NoError(err)
// broadcast tx
res, err := suite.ZgChain.Tx.BroadcastTx(context.Background(), &txtypes.BroadcastTxRequest{
res, err := suite.ZgChain.Grpc.Query.Tx.BroadcastTx(context.Background(), &txtypes.BroadcastTxRequest{
TxBytes: txBytes,
Mode: txtypes.BroadcastMode_BROADCAST_MODE_SYNC,
})
suite.NoError(err)
suite.Equal(sdkerrors.SuccessABCICode, res.TxResponse.Code)
_, err = util.WaitForSdkTxCommit(suite.ZgChain.Tx, res.TxResponse.TxHash, 6*time.Second)
_, err = util.WaitForSdkTxCommit(suite.ZgChain.Grpc.Query.Tx, res.TxResponse.TxHash, 6*time.Second)
suite.NoError(err)
// check that the message was processed & the gas denom is transferred.
balRes, err := suite.ZgChain.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{
balRes, err := suite.ZgChain.Grpc.Query.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{
Address: receiver.String(),
Denom: chaincfg.GasDenom,
})

View File

@ -6,18 +6,19 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
"github.com/0glabs/0g-chain/chaincfg"
evmutiltypes "github.com/0glabs/0g-chain/x/evmutil/types"
)
func (suite *IntegrationTestSuite) TestGrpcClientQueryCosmosModule_Balance() {
// ARRANGE
// setup kava account
funds := ukava(1e5) // .1 KAVA
kavaAcc := suite.Kava.NewFundedAccount("balance-test", sdk.NewCoins(funds))
// setup 0g account
funds := chaincfg.MakeCoinForGasDenom(1e5)
zgAcc := suite.ZgChain.NewFundedAccount("balance-test", sdk.NewCoins(funds))
// ACT
rsp, err := suite.Kava.Grpc.Query.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{
Address: kavaAcc.SdkAddress.String(),
rsp, err := suite.ZgChain.Grpc.Query.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{
Address: zgAcc.SdkAddress.String(),
Denom: funds.Denom,
})
@ -28,7 +29,7 @@ func (suite *IntegrationTestSuite) TestGrpcClientQueryCosmosModule_Balance() {
func (suite *IntegrationTestSuite) TestGrpcClientQueryKavaModule_EvmParams() {
// ACT
rsp, err := suite.Kava.Grpc.Query.Evmutil.Params(
rsp, err := suite.ZgChain.Grpc.Query.Evmutil.Params(
context.Background(), &evmutiltypes.QueryParamsRequest{},
)

View File

@ -1,20 +1,21 @@
package e2e_test
import (
"github.com/0glabs/0g-chain/chaincfg"
sdk "github.com/cosmos/cosmos-sdk/types"
)
func (suite *IntegrationTestSuite) TestGrpcClientUtil_Account() {
// ARRANGE
// setup kava account
kavaAcc := suite.Kava.NewFundedAccount("account-test", sdk.NewCoins(ukava(1e5)))
// setup 0g account
zgAcc := suite.ZgChain.NewFundedAccount("account-test", sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e5)))
// ACT
rsp, err := suite.Kava.Grpc.BaseAccount(kavaAcc.SdkAddress.String())
rsp, err := suite.ZgChain.Grpc.BaseAccount(zgAcc.SdkAddress.String())
// ASSERT
suite.Require().NoError(err)
suite.Equal(kavaAcc.SdkAddress.String(), rsp.Address)
suite.Equal(zgAcc.SdkAddress.String(), rsp.Address)
suite.Greater(rsp.AccountNumber, uint64(1))
suite.Equal(uint64(0), rsp.Sequence)
}

View File

@ -47,7 +47,7 @@ func (suite *IntegrationTestSuite) TestChainID() {
suite.Equal(expectedEvmNetworkId, evmNetworkId)
// SDK query
nodeInfo, err := suite.ZgChain.Tm.GetNodeInfo(context.Background(), &tmservice.GetNodeInfoRequest{})
nodeInfo, err := suite.ZgChain.Grpc.Query.Tm.GetNodeInfo(context.Background(), &tmservice.GetNodeInfoRequest{})
suite.NoError(err)
suite.Equal(suite.ZgChain.ChainID, nodeInfo.DefaultNodeInfo.Network)
}
@ -62,7 +62,7 @@ func (suite *IntegrationTestSuite) TestFundedAccount() {
suite.Equal(acc.EvmAddress.Hex(), util.SdkToEvmAddress(acc.SdkAddress).Hex())
// check balance via SDK query
res, err := suite.ZgChain.Bank.Balance(context.Background(), banktypes.NewQueryBalanceRequest(
res, err := suite.ZgChain.Grpc.Query.Bank.Balance(context.Background(), banktypes.NewQueryBalanceRequest(
acc.SdkAddress, chaincfg.GasDenom,
))
suite.NoError(err)

View File

@ -13,11 +13,11 @@ import (
func (suite *IntegrationTestSuite) TestUpgradeParams_SDK() {
suite.SkipIfUpgradeDisabled()
beforeUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight - 1)
afterUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight)
beforeUpgradeCtx := suite.ZgChain.Grpc.CtxAtHeight(suite.UpgradeHeight - 1)
afterUpgradeCtx := suite.ZgChain.Grpc.CtxAtHeight(suite.UpgradeHeight)
// Before params
grpcClient := suite.Kava.Grpc
grpcClient := suite.ZgChain.Grpc
govParamsBefore, err := grpcClient.Query.Gov.Params(beforeUpgradeCtx, &govtypes.QueryParamsRequest{
ParamsType: govtypes.ParamDeposit,
})
@ -47,13 +47,13 @@ func (suite *IntegrationTestSuite) TestUpgradeParams_SDK() {
"x/gov DepositParams max deposit period after upgrade should be 172800s",
)
suite.Assert().Equal(
[]sdk.Coin{{Denom: "ukava", Amount: sdk.NewInt(10_000_000)}},
[]sdk.Coin{{Denom: "ua0gi", Amount: sdk.NewInt(10_000_000)}},
govParamsAfter.DepositParams.MinDeposit,
"x/gov DepositParams min deposit after upgrade should be 10_000_000 ukava",
)
expectedParams := govtypes.Params{
MinDeposit: sdk.NewCoins(sdk.NewCoin("ukava", sdk.NewInt(10_000_000))),
MinDeposit: sdk.NewCoins(sdk.NewCoin("ua0gi", sdk.NewInt(10_000_000))),
MaxDepositPeriod: mustParseDuration("172800s"),
VotingPeriod: mustParseDuration("30s"),
Quorum: "0.334000000000000000",
@ -71,9 +71,9 @@ func (suite *IntegrationTestSuite) TestUpgradeParams_SDK() {
func (suite *IntegrationTestSuite) TestUpgradeParams_Consensus() {
suite.SkipIfUpgradeDisabled()
afterUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight)
afterUpgradeCtx := suite.ZgChain.Grpc.CtxAtHeight(suite.UpgradeHeight)
grpcClient := suite.Kava.Grpc
grpcClient := suite.ZgChain.Grpc
paramsAfter, err := grpcClient.Query.Consensus.Params(afterUpgradeCtx, &consensustypes.QueryParamsRequest{})
suite.NoError(err)
@ -98,25 +98,25 @@ func (suite *IntegrationTestSuite) TestUpgradeParams_Consensus() {
suite.Require().Equal(expectedParams, *paramsAfter.Params, "x/consensus params after upgrade should be as expected")
}
func (suite *IntegrationTestSuite) TestUpgradeParams_CDP_Interval() {
suite.SkipIfUpgradeDisabled()
// func (suite *IntegrationTestSuite) TestUpgradeParams_CDP_Interval() {
// suite.SkipIfUpgradeDisabled()
beforeUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight - 1)
afterUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight)
// beforeUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight - 1)
// afterUpgradeCtx := suite.Kava.Grpc.CtxAtHeight(suite.UpgradeHeight)
grpcClient := suite.Kava.Grpc
// grpcClient := suite.Kava.Grpc
paramsBefore, err := grpcClient.Query.Cdp.Params(beforeUpgradeCtx, &cdptypes.QueryParamsRequest{})
suite.Require().NoError(err)
paramsAfter, err := grpcClient.Query.Cdp.Params(afterUpgradeCtx, &cdptypes.QueryParamsRequest{})
suite.Require().NoError(err)
// paramsBefore, err := grpcClient.Query.Cdp.Params(beforeUpgradeCtx, &cdptypes.QueryParamsRequest{})
// suite.Require().NoError(err)
// paramsAfter, err := grpcClient.Query.Cdp.Params(afterUpgradeCtx, &cdptypes.QueryParamsRequest{})
// suite.Require().NoError(err)
expectedParams := paramsBefore.Params
expectedParams.LiquidationBlockInterval = int64(50)
// expectedParams := paramsBefore.Params
// expectedParams.LiquidationBlockInterval = int64(50)
suite.Require().Equal(expectedParams, paramsAfter.Params,
"expected cdp parameters to equal previous parameters with a liquidation block interval of 100")
}
// suite.Require().Equal(expectedParams, paramsAfter.Params,
// "expected cdp parameters to equal previous parameters with a liquidation block interval of 100")
// }
func mustParseDuration(s string) *time.Duration {
d, err := time.ParseDuration(s)

View File

@ -21,14 +21,11 @@ import (
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
evmtypes "github.com/evmos/ethermint/x/evm/types"
"github.com/0glabs/0g-chain/app"
chainparams "github.com/0glabs/0g-chain/app/params"
"github.com/0glabs/0g-chain/client/grpc"
"github.com/0glabs/0g-chain/tests/e2e/runner"
"github.com/0glabs/0g-chain/tests/util"
committeetypes "github.com/0glabs/0g-chain/x/committee/types"
evmutiltypes "github.com/0glabs/0g-chain/x/evmutil/types"
)
// Chain wraps query clients & accounts for a network
@ -46,23 +43,9 @@ type Chain struct {
EncodingConfig chainparams.EncodingConfig
Auth authtypes.QueryClient
Authz authz.QueryClient
Bank banktypes.QueryClient
Committee committeetypes.QueryClient
Distribution distrtypes.QueryClient
Evm evmtypes.QueryClient
Evmutil evmutiltypes.QueryClient
Gov govv1types.QueryClient
Mint minttypes.QueryClient
Staking stakingtypes.QueryClient
Tm tmservice.ServiceClient
Tx txtypes.ServiceClient
Upgrade upgradetypes.QueryClient
TmSignClient tmclient.SignClient
Grpc *grpc.KavaGrpcClient
Grpc *grpc.ZgChainGrpcClient
}
// NewChain creates the query clients & signing account management for a chain run on a set of ports.
@ -94,7 +77,7 @@ func NewChain(t *testing.T, details *runner.ChainDetails, fundedAccountMnemonic
client, err := grpc.NewClient(details.GrpcUrl)
if err != nil {
chain.t.Fatalf("failed to create kava grpc client: %s", err)
chain.t.Fatalf("failed to create 0g-chain grpc client: %s", err)
}
chain.Grpc = client
@ -108,21 +91,6 @@ func NewChain(t *testing.T, details *runner.ChainDetails, fundedAccountMnemonic
return chain, err
}
chain.Auth = authtypes.NewQueryClient(grpcConn)
chain.Authz = authz.NewQueryClient(grpcConn)
chain.Bank = banktypes.NewQueryClient(grpcConn)
chain.Committee = committeetypes.NewQueryClient(grpcConn)
chain.Distribution = distrtypes.NewQueryClient(grpcConn)
chain.Evm = evmtypes.NewQueryClient(grpcConn)
chain.Evmutil = evmutiltypes.NewQueryClient(grpcConn)
chain.Gov = govv1types.NewQueryClient(grpcConn)
chain.Mint = minttypes.NewQueryClient(grpcConn)
chain.Staking = stakingtypes.NewQueryClient(grpcConn)
chain.Tm = tmservice.NewServiceClient(grpcConn)
chain.Tx = txtypes.NewServiceClient(grpcConn)
chain.Upgrade = upgradetypes.NewQueryClient(grpcConn)
// initialize accounts map
chain.accounts = make(map[string]*SigningAccount)
// setup the signing account for the initially funded account (used to fund all other accounts)

View File

@ -27,7 +27,7 @@ func (suite *E2eTestSuite) InitZgChainEvmData() {
}
// expect the erc20 to be enabled for conversion to sdk.Coin
params, err := suite.ZgChain.Evmutil.Params(context.Background(), &evmutiltypes.QueryParamsRequest{})
params, err := suite.ZgChain.Grpc.Query.Evmutil.Params(context.Background(), &evmutiltypes.QueryParamsRequest{})
if err != nil {
panic(fmt.Sprintf("failed to fetch evmutil params during init: %s", err))
}

View File

@ -18,11 +18,6 @@ import (
"github.com/0glabs/0g-chain/x/evmutil/keeper"
"github.com/0glabs/0g-chain/x/evmutil/testutil"
"github.com/0glabs/0g-chain/x/evmutil/types"
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
vesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"
evmtypes "github.com/evmos/ethermint/x/evm/types"
"github.com/stretchr/testify/suite"
)
type evmBankKeeperTestSuite struct {

View File

@ -200,7 +200,7 @@ func (suite *MsgServerSuite) TestConvertERC20ToCoin_Bep3() {
msg: types.MsgConvertERC20ToCoin{
Initiator: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc",
Receiver: invokerCosmosAddr.String(),
KavaERC20Address: contractAddr.String(),
ZgChainERC20Address: contractAddr.String(),
Amount: sdkmath.NewInt(12e8),
},
userErc20Balance: sdkmath.NewInt(2e18),
@ -214,7 +214,7 @@ func (suite *MsgServerSuite) TestConvertERC20ToCoin_Bep3() {
msg: types.MsgConvertERC20ToCoin{
Initiator: invoker.String(),
Receiver: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc",
KavaERC20Address: contractAddr.String(),
ZgChainERC20Address: contractAddr.String(),
Amount: sdkmath.NewInt(12e8),
},
userErc20Balance: sdkmath.NewInt(2e18),
@ -228,7 +228,7 @@ func (suite *MsgServerSuite) TestConvertERC20ToCoin_Bep3() {
msg: types.MsgConvertERC20ToCoin{
Initiator: invoker.String(),
Receiver: invokerCosmosAddr.String(),
KavaERC20Address: invokerCosmosAddr.String(),
ZgChainERC20Address: invokerCosmosAddr.String(),
Amount: sdkmath.NewInt(12e8),
},
userErc20Balance: sdkmath.NewInt(2e18),

View File

@ -1,7 +0,0 @@
package types
// MoneyMarketInterestRates is a slice of MoneyMarketInterestRate
type MoneyMarketInterestRates []MoneyMarketInterestRate
// InterestFactors is a slice of InterestFactor
type InterestFactors []InterestFactor

View File

@ -1,5 +1,5 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: zg/validatorvesting/v1beta1/query.proto
// source: zgc/validatorvesting/v1beta1/query.proto
package types
@ -39,7 +39,7 @@ func (m *QueryCirculatingSupplyRequest) Reset() { *m = QueryCirculatingS
func (m *QueryCirculatingSupplyRequest) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplyRequest) ProtoMessage() {}
func (*QueryCirculatingSupplyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{0}
return fileDescriptor_4eb4aa17850547e7, []int{0}
}
func (m *QueryCirculatingSupplyRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -77,7 +77,7 @@ func (m *QueryCirculatingSupplyResponse) Reset() { *m = QueryCirculating
func (m *QueryCirculatingSupplyResponse) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplyResponse) ProtoMessage() {}
func (*QueryCirculatingSupplyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{1}
return fileDescriptor_4eb4aa17850547e7, []int{1}
}
func (m *QueryCirculatingSupplyResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -114,7 +114,7 @@ func (m *QueryTotalSupplyRequest) Reset() { *m = QueryTotalSupplyRequest
func (m *QueryTotalSupplyRequest) String() string { return proto.CompactTextString(m) }
func (*QueryTotalSupplyRequest) ProtoMessage() {}
func (*QueryTotalSupplyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{2}
return fileDescriptor_4eb4aa17850547e7, []int{2}
}
func (m *QueryTotalSupplyRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -152,7 +152,7 @@ func (m *QueryTotalSupplyResponse) Reset() { *m = QueryTotalSupplyRespon
func (m *QueryTotalSupplyResponse) String() string { return proto.CompactTextString(m) }
func (*QueryTotalSupplyResponse) ProtoMessage() {}
func (*QueryTotalSupplyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{3}
return fileDescriptor_4eb4aa17850547e7, []int{3}
}
func (m *QueryTotalSupplyResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -189,7 +189,7 @@ func (m *QueryCirculatingSupplyHARDRequest) Reset() { *m = QueryCirculat
func (m *QueryCirculatingSupplyHARDRequest) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplyHARDRequest) ProtoMessage() {}
func (*QueryCirculatingSupplyHARDRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{4}
return fileDescriptor_4eb4aa17850547e7, []int{4}
}
func (m *QueryCirculatingSupplyHARDRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -227,7 +227,7 @@ func (m *QueryCirculatingSupplyHARDResponse) Reset() { *m = QueryCircula
func (m *QueryCirculatingSupplyHARDResponse) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplyHARDResponse) ProtoMessage() {}
func (*QueryCirculatingSupplyHARDResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{5}
return fileDescriptor_4eb4aa17850547e7, []int{5}
}
func (m *QueryCirculatingSupplyHARDResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -264,7 +264,7 @@ func (m *QueryCirculatingSupplyUSDXRequest) Reset() { *m = QueryCirculat
func (m *QueryCirculatingSupplyUSDXRequest) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplyUSDXRequest) ProtoMessage() {}
func (*QueryCirculatingSupplyUSDXRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{6}
return fileDescriptor_4eb4aa17850547e7, []int{6}
}
func (m *QueryCirculatingSupplyUSDXRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -302,7 +302,7 @@ func (m *QueryCirculatingSupplyUSDXResponse) Reset() { *m = QueryCircula
func (m *QueryCirculatingSupplyUSDXResponse) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplyUSDXResponse) ProtoMessage() {}
func (*QueryCirculatingSupplyUSDXResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{7}
return fileDescriptor_4eb4aa17850547e7, []int{7}
}
func (m *QueryCirculatingSupplyUSDXResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -339,7 +339,7 @@ func (m *QueryCirculatingSupplySWPRequest) Reset() { *m = QueryCirculati
func (m *QueryCirculatingSupplySWPRequest) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplySWPRequest) ProtoMessage() {}
func (*QueryCirculatingSupplySWPRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{8}
return fileDescriptor_4eb4aa17850547e7, []int{8}
}
func (m *QueryCirculatingSupplySWPRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -377,7 +377,7 @@ func (m *QueryCirculatingSupplySWPResponse) Reset() { *m = QueryCirculat
func (m *QueryCirculatingSupplySWPResponse) String() string { return proto.CompactTextString(m) }
func (*QueryCirculatingSupplySWPResponse) ProtoMessage() {}
func (*QueryCirculatingSupplySWPResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{9}
return fileDescriptor_4eb4aa17850547e7, []int{9}
}
func (m *QueryCirculatingSupplySWPResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -414,7 +414,7 @@ func (m *QueryTotalSupplyHARDRequest) Reset() { *m = QueryTotalSupplyHAR
func (m *QueryTotalSupplyHARDRequest) String() string { return proto.CompactTextString(m) }
func (*QueryTotalSupplyHARDRequest) ProtoMessage() {}
func (*QueryTotalSupplyHARDRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{10}
return fileDescriptor_4eb4aa17850547e7, []int{10}
}
func (m *QueryTotalSupplyHARDRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -452,7 +452,7 @@ func (m *QueryTotalSupplyHARDResponse) Reset() { *m = QueryTotalSupplyHA
func (m *QueryTotalSupplyHARDResponse) String() string { return proto.CompactTextString(m) }
func (*QueryTotalSupplyHARDResponse) ProtoMessage() {}
func (*QueryTotalSupplyHARDResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{11}
return fileDescriptor_4eb4aa17850547e7, []int{11}
}
func (m *QueryTotalSupplyHARDResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -489,7 +489,7 @@ func (m *QueryTotalSupplyUSDXRequest) Reset() { *m = QueryTotalSupplyUSD
func (m *QueryTotalSupplyUSDXRequest) String() string { return proto.CompactTextString(m) }
func (*QueryTotalSupplyUSDXRequest) ProtoMessage() {}
func (*QueryTotalSupplyUSDXRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{12}
return fileDescriptor_4eb4aa17850547e7, []int{12}
}
func (m *QueryTotalSupplyUSDXRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -527,7 +527,7 @@ func (m *QueryTotalSupplyUSDXResponse) Reset() { *m = QueryTotalSupplyUS
func (m *QueryTotalSupplyUSDXResponse) String() string { return proto.CompactTextString(m) }
func (*QueryTotalSupplyUSDXResponse) ProtoMessage() {}
func (*QueryTotalSupplyUSDXResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a02a785c2c013eb6, []int{13}
return fileDescriptor_4eb4aa17850547e7, []int{13}
}
func (m *QueryTotalSupplyUSDXResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -557,67 +557,67 @@ func (m *QueryTotalSupplyUSDXResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_QueryTotalSupplyUSDXResponse proto.InternalMessageInfo
func init() {
proto.RegisterType((*QueryCirculatingSupplyRequest)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplyRequest")
proto.RegisterType((*QueryCirculatingSupplyResponse)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplyResponse")
proto.RegisterType((*QueryTotalSupplyRequest)(nil), "zg.validatorvesting.v1beta1.QueryTotalSupplyRequest")
proto.RegisterType((*QueryTotalSupplyResponse)(nil), "zg.validatorvesting.v1beta1.QueryTotalSupplyResponse")
proto.RegisterType((*QueryCirculatingSupplyHARDRequest)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplyHARDRequest")
proto.RegisterType((*QueryCirculatingSupplyHARDResponse)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplyHARDResponse")
proto.RegisterType((*QueryCirculatingSupplyUSDXRequest)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplyUSDXRequest")
proto.RegisterType((*QueryCirculatingSupplyUSDXResponse)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplyUSDXResponse")
proto.RegisterType((*QueryCirculatingSupplySWPRequest)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplySWPRequest")
proto.RegisterType((*QueryCirculatingSupplySWPResponse)(nil), "zg.validatorvesting.v1beta1.QueryCirculatingSupplySWPResponse")
proto.RegisterType((*QueryTotalSupplyHARDRequest)(nil), "zg.validatorvesting.v1beta1.QueryTotalSupplyHARDRequest")
proto.RegisterType((*QueryTotalSupplyHARDResponse)(nil), "zg.validatorvesting.v1beta1.QueryTotalSupplyHARDResponse")
proto.RegisterType((*QueryTotalSupplyUSDXRequest)(nil), "zg.validatorvesting.v1beta1.QueryTotalSupplyUSDXRequest")
proto.RegisterType((*QueryTotalSupplyUSDXResponse)(nil), "zg.validatorvesting.v1beta1.QueryTotalSupplyUSDXResponse")
proto.RegisterType((*QueryCirculatingSupplyRequest)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplyRequest")
proto.RegisterType((*QueryCirculatingSupplyResponse)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplyResponse")
proto.RegisterType((*QueryTotalSupplyRequest)(nil), "zgc.validatorvesting.v1beta1.QueryTotalSupplyRequest")
proto.RegisterType((*QueryTotalSupplyResponse)(nil), "zgc.validatorvesting.v1beta1.QueryTotalSupplyResponse")
proto.RegisterType((*QueryCirculatingSupplyHARDRequest)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplyHARDRequest")
proto.RegisterType((*QueryCirculatingSupplyHARDResponse)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplyHARDResponse")
proto.RegisterType((*QueryCirculatingSupplyUSDXRequest)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplyUSDXRequest")
proto.RegisterType((*QueryCirculatingSupplyUSDXResponse)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplyUSDXResponse")
proto.RegisterType((*QueryCirculatingSupplySWPRequest)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplySWPRequest")
proto.RegisterType((*QueryCirculatingSupplySWPResponse)(nil), "zgc.validatorvesting.v1beta1.QueryCirculatingSupplySWPResponse")
proto.RegisterType((*QueryTotalSupplyHARDRequest)(nil), "zgc.validatorvesting.v1beta1.QueryTotalSupplyHARDRequest")
proto.RegisterType((*QueryTotalSupplyHARDResponse)(nil), "zgc.validatorvesting.v1beta1.QueryTotalSupplyHARDResponse")
proto.RegisterType((*QueryTotalSupplyUSDXRequest)(nil), "zgc.validatorvesting.v1beta1.QueryTotalSupplyUSDXRequest")
proto.RegisterType((*QueryTotalSupplyUSDXResponse)(nil), "zgc.validatorvesting.v1beta1.QueryTotalSupplyUSDXResponse")
}
func init() {
proto.RegisterFile("zg/validatorvesting/v1beta1/query.proto", fileDescriptor_a02a785c2c013eb6)
proto.RegisterFile("zgc/validatorvesting/v1beta1/query.proto", fileDescriptor_4eb4aa17850547e7)
}
var fileDescriptor_a02a785c2c013eb6 = []byte{
// 620 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x96, 0x31, 0x6f, 0xd3, 0x40,
0x14, 0xc7, 0x63, 0x24, 0x2a, 0x71, 0x1d, 0x10, 0xa7, 0x22, 0x5a, 0xb7, 0x75, 0x8a, 0x91, 0x00,
0x21, 0xe2, 0x4b, 0x42, 0x4a, 0x5b, 0x68, 0x8b, 0x28, 0x1d, 0xe8, 0x06, 0x49, 0x11, 0x88, 0x25,
0xba, 0x24, 0x96, 0x63, 0xe1, 0xf8, 0xdc, 0xdc, 0x39, 0x34, 0x19, 0xf9, 0x02, 0x20, 0xf1, 0x3d,
0x98, 0xd8, 0xd9, 0x50, 0xc6, 0x8a, 0x0e, 0x20, 0x86, 0x0a, 0x12, 0x3e, 0x08, 0xf2, 0xf9, 0xa2,
0x1e, 0x89, 0x9b, 0x62, 0x57, 0x81, 0x29, 0x89, 0xfd, 0xfe, 0x7e, 0xbf, 0xbf, 0xdf, 0xbb, 0xbf,
0x02, 0x6e, 0x74, 0x2c, 0xd4, 0xc2, 0x8e, 0x5d, 0xc3, 0x8c, 0x34, 0x5b, 0x26, 0x65, 0xb6, 0x6b,
0xa1, 0x56, 0xae, 0x62, 0x32, 0x9c, 0x43, 0x7b, 0xbe, 0xd9, 0x6c, 0x1b, 0x5e, 0x93, 0x30, 0x02,
0xe7, 0x3b, 0x96, 0x31, 0x5c, 0x68, 0x88, 0x42, 0x75, 0xae, 0x4a, 0x68, 0x83, 0xd0, 0x32, 0x2f,
0x45, 0xe1, 0x8f, 0x50, 0xa7, 0xce, 0x58, 0xc4, 0x22, 0xe1, 0xf5, 0xe0, 0x9b, 0xb8, 0xba, 0x60,
0x11, 0x62, 0x39, 0x26, 0xc2, 0x9e, 0x8d, 0xb0, 0xeb, 0x12, 0x86, 0x99, 0x4d, 0x5c, 0xa1, 0xd1,
0xd3, 0x60, 0xf1, 0x69, 0xd0, 0xfa, 0x91, 0xdd, 0xac, 0xfa, 0x0e, 0x0e, 0x5a, 0x95, 0x7c, 0xcf,
0x73, 0xda, 0x45, 0x73, 0xcf, 0x37, 0x29, 0xd3, 0x5b, 0x40, 0x3b, 0xa9, 0x80, 0x7a, 0xc4, 0xa5,
0x26, 0xdc, 0x05, 0x53, 0xb8, 0x41, 0x7c, 0x97, 0xcd, 0x2a, 0x4b, 0xca, 0xcd, 0x0b, 0x5b, 0xeb,
0xdd, 0xa3, 0x74, 0xea, 0xfb, 0x51, 0xfa, 0xba, 0x65, 0xb3, 0xba, 0x5f, 0x31, 0xaa, 0xa4, 0x21,
0x38, 0xc5, 0x47, 0x86, 0xd6, 0x5e, 0x21, 0xd6, 0xf6, 0x4c, 0x6a, 0xec, 0xb8, 0xec, 0xcb, 0xc7,
0x0c, 0x10, 0x36, 0x76, 0x5c, 0x56, 0x14, 0xcf, 0xd2, 0xe7, 0xc0, 0x15, 0xde, 0x77, 0x97, 0x30,
0xec, 0xfc, 0x89, 0xe4, 0x81, 0xd9, 0xd1, 0x5b, 0x13, 0x85, 0xb9, 0x06, 0xae, 0x46, 0xbf, 0x84,
0xc7, 0x0f, 0x8b, 0xdb, 0x03, 0xac, 0x0e, 0xd0, 0xc7, 0x15, 0xfd, 0x1f, 0xc0, 0x67, 0xa5, 0xed,
0x17, 0xa7, 0x02, 0x86, 0x45, 0x13, 0x05, 0xd4, 0xc1, 0x52, 0x74, 0xef, 0xd2, 0xf3, 0x27, 0x03,
0xbe, 0xf6, 0x49, 0x26, 0x78, 0xcd, 0x44, 0xf1, 0x16, 0xc1, 0xfc, 0xf0, 0x4a, 0xc9, 0xa3, 0x65,
0x60, 0x21, 0xfa, 0xf6, 0xbf, 0x86, 0x92, 0xc7, 0x19, 0x01, 0x35, 0xf9, 0x41, 0xe6, 0xdf, 0x4e,
0x83, 0xf3, 0xbc, 0x2d, 0xfc, 0xac, 0x80, 0x4b, 0x23, 0xa3, 0x82, 0xf7, 0x8c, 0x31, 0xe9, 0x65,
0x8c, 0xcd, 0x1a, 0xf5, 0x7e, 0x22, 0x6d, 0x68, 0x57, 0x5f, 0x7d, 0x73, 0xf8, 0xeb, 0xfd, 0xb9,
0x3c, 0xcc, 0xa2, 0xac, 0x94, 0xb3, 0x99, 0xe1, 0xa0, 0xad, 0x1e, 0x3f, 0xa0, 0x4c, 0x43, 0xe4,
0x0f, 0x0a, 0x98, 0x96, 0x5e, 0x22, 0x2c, 0x9c, 0x8e, 0x31, 0x9a, 0x4a, 0xea, 0x72, 0x4c, 0x95,
0xc0, 0xce, 0x73, 0xec, 0xdb, 0xf0, 0xd6, 0x78, 0x6c, 0x16, 0x48, 0x07, 0xc0, 0x5f, 0x15, 0x70,
0x39, 0x32, 0x65, 0xe0, 0x66, 0x82, 0x37, 0x28, 0x2d, 0xba, 0xfa, 0x20, 0xb1, 0x5e, 0xd8, 0xd9,
0xe0, 0x76, 0x56, 0xe0, 0x72, 0xdc, 0x29, 0x94, 0xeb, 0xb8, 0x59, 0x8b, 0x76, 0x16, 0x6c, 0x75,
0x22, 0x67, 0xd2, 0x69, 0x49, 0xe4, 0x4c, 0x3e, 0x4e, 0x67, 0x70, 0xe6, 0xd3, 0xda, 0x3e, 0x3c,
0x54, 0xc0, 0x4c, 0x54, 0xb0, 0xc1, 0x8d, 0x04, 0x60, 0xc7, 0xa1, 0xa9, 0x6e, 0x26, 0x95, 0x0b,
0x5b, 0xeb, 0xdc, 0xd6, 0x5d, 0x58, 0x88, 0x6d, 0x8b, 0xbe, 0xf6, 0xe0, 0x27, 0x05, 0x5c, 0x1c,
0x0a, 0x45, 0xb8, 0x1a, 0xeb, 0x20, 0xc8, 0xdb, 0xb7, 0x96, 0x40, 0x29, 0x6c, 0xac, 0x70, 0x1b,
0x39, 0x88, 0xfe, 0xfe, 0x18, 0x85, 0x1b, 0x37, 0xe4, 0x80, 0xef, 0x5a, 0x3c, 0x07, 0xf2, 0x96,
0xad, 0x25, 0x50, 0x9e, 0xc1, 0x41, 0xb0, 0x59, 0x5b, 0xc5, 0xee, 0x4f, 0x2d, 0xd5, 0xed, 0x69,
0xca, 0x41, 0x4f, 0x53, 0x7e, 0xf4, 0x34, 0xe5, 0x5d, 0x5f, 0x4b, 0x1d, 0xf4, 0xb5, 0xd4, 0xb7,
0xbe, 0x96, 0x7a, 0x59, 0x90, 0xd2, 0x3e, 0x6b, 0x39, 0xb8, 0x42, 0x51, 0xd6, 0xca, 0x54, 0xeb,
0xd8, 0x76, 0xd1, 0x7e, 0x44, 0x1f, 0x9e, 0xff, 0x95, 0x29, 0xfe, 0xef, 0xf0, 0xce, 0xef, 0x00,
0x00, 0x00, 0xff, 0xff, 0x63, 0x31, 0x5f, 0xeb, 0xb4, 0x0a, 0x00, 0x00,
var fileDescriptor_4eb4aa17850547e7 = []byte{
// 624 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x96, 0x4f, 0x6f, 0xd3, 0x30,
0x18, 0xc6, 0x1b, 0x24, 0x26, 0xe1, 0x1d, 0x10, 0xd6, 0x10, 0x5b, 0xd8, 0xd2, 0x11, 0x24, 0x34,
0x21, 0x1a, 0xb7, 0x65, 0x7f, 0x60, 0x14, 0x06, 0x63, 0x07, 0x76, 0x83, 0x76, 0x08, 0xc4, 0xa5,
0x72, 0xd3, 0xc8, 0x8d, 0x48, 0xe3, 0xac, 0x76, 0xca, 0xda, 0x23, 0x9f, 0x00, 0x89, 0x33, 0xdf,
0x81, 0x03, 0x5f, 0x80, 0x5b, 0x8f, 0x13, 0x08, 0x09, 0x38, 0x4c, 0xd0, 0xf2, 0x41, 0x50, 0x1c,
0x57, 0x0d, 0x6d, 0x56, 0xd6, 0x4c, 0x85, 0x53, 0xdb, 0xf8, 0x7d, 0xfd, 0xfe, 0x1e, 0xbf, 0xaf,
0x9f, 0x06, 0xac, 0xb4, 0x89, 0x89, 0x9a, 0xd8, 0xb1, 0xab, 0x98, 0xd3, 0x46, 0xd3, 0x62, 0xdc,
0x76, 0x09, 0x6a, 0xe6, 0x2a, 0x16, 0xc7, 0x39, 0xb4, 0xef, 0x5b, 0x8d, 0x96, 0xe1, 0x35, 0x28,
0xa7, 0x70, 0xb1, 0x4d, 0x4c, 0x63, 0x38, 0xd2, 0x90, 0x91, 0xea, 0x82, 0x49, 0x59, 0x9d, 0xb2,
0xb2, 0x88, 0x45, 0xe1, 0x8f, 0x30, 0x51, 0x9d, 0x23, 0x94, 0xd0, 0xf0, 0x79, 0xf0, 0x4d, 0x3e,
0x5d, 0x24, 0x94, 0x12, 0xc7, 0x42, 0xd8, 0xb3, 0x11, 0x76, 0x5d, 0xca, 0x31, 0xb7, 0xa9, 0x2b,
0x73, 0xf4, 0x34, 0x58, 0x7a, 0x12, 0xd4, 0x7e, 0x68, 0x37, 0x4c, 0xdf, 0xc1, 0x41, 0xa9, 0x92,
0xef, 0x79, 0x4e, 0xab, 0x68, 0xed, 0xfb, 0x16, 0xe3, 0x7a, 0x13, 0x68, 0xc7, 0x05, 0x30, 0x8f,
0xba, 0xcc, 0x82, 0x7b, 0x60, 0x06, 0xd7, 0xa9, 0xef, 0xf2, 0x79, 0x65, 0x59, 0x59, 0x39, 0xb7,
0x5d, 0xe8, 0x1c, 0xa5, 0x53, 0xdf, 0x8f, 0xd2, 0xd7, 0x88, 0xcd, 0x6b, 0x7e, 0xc5, 0x30, 0x69,
0x5d, 0x72, 0xca, 0x8f, 0x0c, 0xab, 0xbe, 0x44, 0xbc, 0xe5, 0x59, 0xcc, 0xd8, 0x75, 0xf9, 0xa7,
0x0f, 0x19, 0x20, 0x65, 0xec, 0xba, 0xbc, 0x28, 0xf7, 0xd2, 0x17, 0xc0, 0x25, 0x51, 0x77, 0x8f,
0x72, 0xec, 0xfc, 0x89, 0xe4, 0x81, 0xf9, 0xd1, 0xa5, 0xa9, 0xc2, 0x5c, 0x05, 0x57, 0xe2, 0x0f,
0xe1, 0xd1, 0x83, 0xe2, 0x4e, 0x1f, 0xab, 0x0d, 0xf4, 0x71, 0x41, 0xff, 0x07, 0xf0, 0x69, 0x69,
0xe7, 0xf9, 0x5f, 0x01, 0xc3, 0xa0, 0xa9, 0x02, 0xea, 0x60, 0x39, 0xbe, 0x76, 0xe9, 0xd9, 0xe3,
0x3e, 0x5f, 0xeb, 0x38, 0x11, 0x22, 0x66, 0xaa, 0x78, 0x4b, 0xe0, 0xf2, 0xf0, 0x48, 0x45, 0x5b,
0xcb, 0xc1, 0x62, 0xfc, 0xf2, 0xbf, 0x86, 0x8a, 0xb6, 0x33, 0x06, 0x6a, 0xfa, 0x8d, 0xcc, 0xbf,
0x9b, 0x05, 0x67, 0x45, 0x59, 0xd8, 0x51, 0xc0, 0x85, 0x91, 0x56, 0xc1, 0x3b, 0xc6, 0x38, 0xfb,
0x32, 0xc6, 0x9a, 0x8d, 0x5a, 0x48, 0x96, 0x1c, 0x0a, 0xd6, 0x6f, 0xbd, 0xfe, 0xfc, 0xeb, 0xed,
0x99, 0x3c, 0xcc, 0xa2, 0x2c, 0x19, 0x58, 0x6d, 0x66, 0xd8, 0x6b, 0xcd, 0xc1, 0x06, 0x65, 0x16,
0x42, 0xbf, 0x57, 0xc0, 0x6c, 0xe4, 0x18, 0xe1, 0xda, 0x09, 0x38, 0x46, 0x8d, 0x49, 0x5d, 0x9f,
0x34, 0x4d, 0x82, 0xe7, 0x05, 0xf8, 0x0d, 0x78, 0x7d, 0x3c, 0x38, 0x0f, 0x52, 0xfb, 0xc8, 0xdf,
0x14, 0x70, 0x31, 0xd6, 0x69, 0xe0, 0x56, 0x92, 0x43, 0x8c, 0x4c, 0xbb, 0x7a, 0x3f, 0xf9, 0x06,
0x52, 0xd0, 0x5d, 0x21, 0x68, 0x03, 0xae, 0x4d, 0xda, 0x89, 0x72, 0x0d, 0x37, 0xaa, 0xf1, 0xda,
0x82, 0xd9, 0x4e, 0xa6, 0x2d, 0x72, 0x69, 0x92, 0x69, 0x8b, 0x5e, 0xab, 0x53, 0x68, 0xf3, 0x59,
0xf5, 0x00, 0x7e, 0x51, 0xc0, 0x5c, 0x9c, 0xc1, 0xc1, 0x7b, 0x49, 0xc8, 0x06, 0xee, 0xa9, 0x6e,
0x25, 0xce, 0x97, 0xc2, 0x0a, 0x42, 0xd8, 0x3a, 0x5c, 0x9d, 0x58, 0x18, 0x7b, 0xe5, 0xc1, 0x8f,
0x0a, 0x38, 0x3f, 0x64, 0x8f, 0xf0, 0xf6, 0x64, 0xf7, 0x21, 0x3a, 0x83, 0x9b, 0x49, 0x52, 0xa5,
0x90, 0x0d, 0x21, 0x24, 0x07, 0xd1, 0xc9, 0xaf, 0x53, 0x38, 0x77, 0x43, 0x1a, 0xc4, 0xc4, 0x4d,
0xa8, 0x21, 0x3a, 0x6b, 0x9b, 0x49, 0x52, 0x4f, 0xa1, 0x21, 0x98, 0xaf, 0xed, 0x62, 0xe7, 0xa7,
0x96, 0xea, 0x74, 0x35, 0xe5, 0xb0, 0xab, 0x29, 0x3f, 0xba, 0x9a, 0xf2, 0xa6, 0xa7, 0xa5, 0x0e,
0x7b, 0x5a, 0xea, 0x6b, 0x4f, 0x4b, 0xbd, 0x58, 0x8d, 0x78, 0x7f, 0x96, 0x38, 0xb8, 0xc2, 0x50,
0x96, 0x64, 0xcc, 0x1a, 0xb6, 0x5d, 0x74, 0x10, 0x53, 0x47, 0xfc, 0x1b, 0x54, 0x66, 0xc4, 0xbb,
0xe2, 0xcd, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x3c, 0x8d, 0x66, 0xc4, 0x0a, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -658,7 +658,7 @@ func NewQueryClient(cc grpc1.ClientConn) QueryClient {
func (c *queryClient) CirculatingSupply(ctx context.Context, in *QueryCirculatingSupplyRequest, opts ...grpc.CallOption) (*QueryCirculatingSupplyResponse, error) {
out := new(QueryCirculatingSupplyResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/CirculatingSupply", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/CirculatingSupply", in, out, opts...)
if err != nil {
return nil, err
}
@ -667,7 +667,7 @@ func (c *queryClient) CirculatingSupply(ctx context.Context, in *QueryCirculatin
func (c *queryClient) TotalSupply(ctx context.Context, in *QueryTotalSupplyRequest, opts ...grpc.CallOption) (*QueryTotalSupplyResponse, error) {
out := new(QueryTotalSupplyResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/TotalSupply", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/TotalSupply", in, out, opts...)
if err != nil {
return nil, err
}
@ -676,7 +676,7 @@ func (c *queryClient) TotalSupply(ctx context.Context, in *QueryTotalSupplyReque
func (c *queryClient) CirculatingSupplyHARD(ctx context.Context, in *QueryCirculatingSupplyHARDRequest, opts ...grpc.CallOption) (*QueryCirculatingSupplyHARDResponse, error) {
out := new(QueryCirculatingSupplyHARDResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/CirculatingSupplyHARD", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/CirculatingSupplyHARD", in, out, opts...)
if err != nil {
return nil, err
}
@ -685,7 +685,7 @@ func (c *queryClient) CirculatingSupplyHARD(ctx context.Context, in *QueryCircul
func (c *queryClient) CirculatingSupplyUSDX(ctx context.Context, in *QueryCirculatingSupplyUSDXRequest, opts ...grpc.CallOption) (*QueryCirculatingSupplyUSDXResponse, error) {
out := new(QueryCirculatingSupplyUSDXResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/CirculatingSupplyUSDX", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/CirculatingSupplyUSDX", in, out, opts...)
if err != nil {
return nil, err
}
@ -694,7 +694,7 @@ func (c *queryClient) CirculatingSupplyUSDX(ctx context.Context, in *QueryCircul
func (c *queryClient) CirculatingSupplySWP(ctx context.Context, in *QueryCirculatingSupplySWPRequest, opts ...grpc.CallOption) (*QueryCirculatingSupplySWPResponse, error) {
out := new(QueryCirculatingSupplySWPResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/CirculatingSupplySWP", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/CirculatingSupplySWP", in, out, opts...)
if err != nil {
return nil, err
}
@ -703,7 +703,7 @@ func (c *queryClient) CirculatingSupplySWP(ctx context.Context, in *QueryCircula
func (c *queryClient) TotalSupplyHARD(ctx context.Context, in *QueryTotalSupplyHARDRequest, opts ...grpc.CallOption) (*QueryTotalSupplyHARDResponse, error) {
out := new(QueryTotalSupplyHARDResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/TotalSupplyHARD", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/TotalSupplyHARD", in, out, opts...)
if err != nil {
return nil, err
}
@ -712,7 +712,7 @@ func (c *queryClient) TotalSupplyHARD(ctx context.Context, in *QueryTotalSupplyH
func (c *queryClient) TotalSupplyUSDX(ctx context.Context, in *QueryTotalSupplyUSDXRequest, opts ...grpc.CallOption) (*QueryTotalSupplyUSDXResponse, error) {
out := new(QueryTotalSupplyUSDXResponse)
err := c.cc.Invoke(ctx, "/zg.validatorvesting.v1beta1.Query/TotalSupplyUSDX", in, out, opts...)
err := c.cc.Invoke(ctx, "/zgc.validatorvesting.v1beta1.Query/TotalSupplyUSDX", in, out, opts...)
if err != nil {
return nil, err
}
@ -777,7 +777,7 @@ func _Query_CirculatingSupply_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/CirculatingSupply",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/CirculatingSupply",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).CirculatingSupply(ctx, req.(*QueryCirculatingSupplyRequest))
@ -795,7 +795,7 @@ func _Query_TotalSupply_Handler(srv interface{}, ctx context.Context, dec func(i
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/TotalSupply",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/TotalSupply",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).TotalSupply(ctx, req.(*QueryTotalSupplyRequest))
@ -813,7 +813,7 @@ func _Query_CirculatingSupplyHARD_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/CirculatingSupplyHARD",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/CirculatingSupplyHARD",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).CirculatingSupplyHARD(ctx, req.(*QueryCirculatingSupplyHARDRequest))
@ -831,7 +831,7 @@ func _Query_CirculatingSupplyUSDX_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/CirculatingSupplyUSDX",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/CirculatingSupplyUSDX",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).CirculatingSupplyUSDX(ctx, req.(*QueryCirculatingSupplyUSDXRequest))
@ -849,7 +849,7 @@ func _Query_CirculatingSupplySWP_Handler(srv interface{}, ctx context.Context, d
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/CirculatingSupplySWP",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/CirculatingSupplySWP",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).CirculatingSupplySWP(ctx, req.(*QueryCirculatingSupplySWPRequest))
@ -867,7 +867,7 @@ func _Query_TotalSupplyHARD_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/TotalSupplyHARD",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/TotalSupplyHARD",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).TotalSupplyHARD(ctx, req.(*QueryTotalSupplyHARDRequest))
@ -885,7 +885,7 @@ func _Query_TotalSupplyUSDX_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/zg.validatorvesting.v1beta1.Query/TotalSupplyUSDX",
FullMethod: "/zgc.validatorvesting.v1beta1.Query/TotalSupplyUSDX",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).TotalSupplyUSDX(ctx, req.(*QueryTotalSupplyUSDXRequest))
@ -894,7 +894,7 @@ func _Query_TotalSupplyUSDX_Handler(srv interface{}, ctx context.Context, dec fu
}
var _Query_serviceDesc = grpc.ServiceDesc{
ServiceName: "zg.validatorvesting.v1beta1.Query",
ServiceName: "zgc.validatorvesting.v1beta1.Query",
HandlerType: (*QueryServer)(nil),
Methods: []grpc.MethodDesc{
{
@ -927,7 +927,7 @@ var _Query_serviceDesc = grpc.ServiceDesc{
},
},
Streams: []grpc.StreamDesc{},
Metadata: "zg/validatorvesting/v1beta1/query.proto",
Metadata: "zgc/validatorvesting/v1beta1/query.proto",
}
func (m *QueryCirculatingSupplyRequest) Marshal() (dAtA []byte, err error) {

View File

@ -1,5 +1,5 @@
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
// source: zg/validatorvesting/v1beta1/query.proto
// source: zgc/validatorvesting/v1beta1/query.proto
/*
Package types is a reverse proxy.