mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 03:27:26 +00:00 
			
		
		
		
	Merge pull request #73 from 0glabs/dev
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Continuous Integration (Commit) / lint (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Continuous Integration (Commit) / lint (push) Has been cancelled
				
			merge dev changes
This commit is contained in:
		
						commit
						66539dcab3
					
				
							
								
								
									
										42
									
								
								Dockerfile-node
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Dockerfile-node
									
									
									
									
									
										Normal 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"]
 | 
			
		||||
@ -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(),
 | 
			
		||||
	)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							@ -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
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
									
									
									
									
								
							@ -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=
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
package zg.validatorvesting.v1beta1;
 | 
			
		||||
package zgc.validatorvesting.v1beta1;
 | 
			
		||||
 | 
			
		||||
import "cosmos_proto/cosmos.proto";
 | 
			
		||||
import "gogoproto/gogo.proto";
 | 
			
		||||
@ -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() {
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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,
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
@ -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{},
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -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 {
 | 
			
		||||
 | 
			
		||||
@ -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),
 | 
			
		||||
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
package types
 | 
			
		||||
 | 
			
		||||
// MoneyMarketInterestRates is a slice of MoneyMarketInterestRate
 | 
			
		||||
type MoneyMarketInterestRates []MoneyMarketInterestRate
 | 
			
		||||
 | 
			
		||||
// InterestFactors is a slice of InterestFactor
 | 
			
		||||
type InterestFactors []InterestFactor
 | 
			
		||||
@ -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) {
 | 
			
		||||
 | 
			
		||||
@ -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.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user