Implement ADR 024 - Coin Metadata (#6821)
* Implement ADR 024 - Coin Metadata * Fix lint * Fix proto lint * Index metadata by denom * Fix test * Fix proto comments * Add GetAllDenomMetaData help method and refactor code accordingly * Add x/bank/keeper/genesis_test.go Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
parent
5676e7293f
commit
5a7e22022c
|
@ -79,3 +79,20 @@ message Supply {
|
|||
repeated cosmos.Coin total = 1
|
||||
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
|
||||
}
|
||||
|
||||
// DenomUnits represents a struct that describes different
|
||||
// denominations units of the basic token
|
||||
message DenomUnits {
|
||||
string denom = 1;
|
||||
uint32 exponent = 2;
|
||||
repeated string aliases = 3;
|
||||
}
|
||||
|
||||
// Metadata represents a struct that describes
|
||||
// a basic token
|
||||
message Metadata {
|
||||
string description = 1;
|
||||
repeated DenomUnits denom_units = 2;
|
||||
string base = 3;
|
||||
string display = 4;
|
||||
}
|
|
@ -119,7 +119,7 @@ func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs
|
|||
}
|
||||
|
||||
// update total supply
|
||||
bankGenesis := banktypes.NewGenesisState(banktypes.DefaultGenesisState().Params, balances, totalSupply)
|
||||
bankGenesis := banktypes.NewGenesisState(banktypes.DefaultGenesisState().Params, balances, totalSupply, []banktypes.Metadata{})
|
||||
genesisState[banktypes.ModuleName] = app.Codec().MustMarshalJSON(bankGenesis)
|
||||
|
||||
stateBytes, err := codec.MarshalJSONIndent(app.Codec(), genesisState)
|
||||
|
@ -158,7 +158,7 @@ func SetupWithGenesisAccounts(genAccs []authtypes.GenesisAccount, balances ...ba
|
|||
totalSupply = totalSupply.Add(b.Coins...)
|
||||
}
|
||||
|
||||
bankGenesis := banktypes.NewGenesisState(banktypes.DefaultGenesisState().Params, balances, totalSupply)
|
||||
bankGenesis := banktypes.NewGenesisState(banktypes.DefaultGenesisState().Params, balances, totalSupply, []banktypes.Metadata{})
|
||||
genesisState[banktypes.ModuleName] = app.Codec().MustMarshalJSON(bankGenesis)
|
||||
|
||||
stateBytes, err := codec.MarshalJSONIndent(app.Codec(), genesisState)
|
||||
|
|
|
@ -0,0 +1,212 @@
|
|||
{
|
||||
"genesis_time": "2020-07-18T22:22:09.286222793Z",
|
||||
"chain_id": "123",
|
||||
"consensus_params": {
|
||||
"block": {
|
||||
"max_bytes": "22020096",
|
||||
"max_gas": "-1",
|
||||
"time_iota_ms": "1000"
|
||||
},
|
||||
"evidence": {
|
||||
"max_age_num_blocks": "100000",
|
||||
"max_age_duration": "172800000000000"
|
||||
},
|
||||
"validator": {
|
||||
"pub_key_types": [
|
||||
"ed25519"
|
||||
]
|
||||
}
|
||||
},
|
||||
"app_hash": "",
|
||||
"app_state": {
|
||||
"bank": {
|
||||
"params": {
|
||||
"default_send_enabled": true
|
||||
},
|
||||
"balances": [ {"address": "cosmos106vrzv5xkheqhjm023pxcxlqmcjvuhtfyachz4",
|
||||
"coins": [
|
||||
{
|
||||
"denom": "nametoken",
|
||||
"amount": "1000"
|
||||
},
|
||||
{
|
||||
"denom": "stake",
|
||||
"amount": "100000000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{ "address": "cosmos1xztun2634zplhajda7tmjaxy488qj44n765t58",
|
||||
"coins": [
|
||||
{
|
||||
"denom": "nametoken",
|
||||
"amount": "1000"
|
||||
},
|
||||
{
|
||||
"denom": "stake",
|
||||
"amount": "100000000"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"supply": [],
|
||||
"denom_metadata": [{
|
||||
"description": "The native staking token of the Cosmos Hub.",
|
||||
"denom_units": [ {
|
||||
"denom": "uatom",
|
||||
"exponent": 0,
|
||||
"aliases": [
|
||||
"microatom"
|
||||
]
|
||||
},
|
||||
{
|
||||
"denom": "matom",
|
||||
"exponent": 3,
|
||||
"aliases": [
|
||||
"milliatom"
|
||||
]
|
||||
},
|
||||
{
|
||||
"denom": "atom",
|
||||
"exponent": 6
|
||||
}],
|
||||
"base": "uatom",
|
||||
"display": "atom"
|
||||
}]
|
||||
|
||||
},
|
||||
"genutil": {
|
||||
"gentxs": []
|
||||
},
|
||||
"capability": {
|
||||
"index": "1",
|
||||
"owners": []
|
||||
},
|
||||
"mint": {
|
||||
"minter": {
|
||||
"inflation": "0.130000000000000000",
|
||||
"annual_provisions": "0.000000000000000000"
|
||||
},
|
||||
"params": {
|
||||
"mint_denom": "stake",
|
||||
"inflation_rate_change": "0.130000000000000000",
|
||||
"inflation_max": "0.200000000000000000",
|
||||
"inflation_min": "0.070000000000000000",
|
||||
"goal_bonded": "0.670000000000000000",
|
||||
"blocks_per_year": "6311520"
|
||||
}
|
||||
},
|
||||
"ibc": {
|
||||
"client_genesis": {
|
||||
"clients": [],
|
||||
"clients_consensus": [],
|
||||
"create_localhost": true
|
||||
},
|
||||
"connection_genesis": {
|
||||
"connections": [],
|
||||
"client_connection_paths": []
|
||||
},
|
||||
"channel_genesis": {
|
||||
"channels": [],
|
||||
"acknowledgements": [],
|
||||
"commitments": [],
|
||||
"send_sequences": [],
|
||||
"recv_sequences": [],
|
||||
"ack_sequences": []
|
||||
}
|
||||
},
|
||||
"upgrade": {},
|
||||
"evidence": {
|
||||
"evidence": []
|
||||
},
|
||||
"auth": {
|
||||
"params": {
|
||||
"max_memo_characters": "256",
|
||||
"tx_sig_limit": "7",
|
||||
"tx_size_cost_per_byte": "10",
|
||||
"sig_verify_cost_ed25519": "590",
|
||||
"sig_verify_cost_secp256k1": "1000"
|
||||
},
|
||||
"accounts": []
|
||||
},
|
||||
"gov": {
|
||||
"starting_proposal_id": "1",
|
||||
"deposits": null,
|
||||
"votes": null,
|
||||
"proposals": null,
|
||||
"deposit_params": {
|
||||
"min_deposit": [
|
||||
{
|
||||
"denom": "stake",
|
||||
"amount": "10000000"
|
||||
}
|
||||
],
|
||||
"max_deposit_period": "172800000000000"
|
||||
},
|
||||
"voting_params": {
|
||||
"voting_period": "172800000000000"
|
||||
},
|
||||
"tally_params": {
|
||||
"quorum": "0.334000000000000000",
|
||||
"threshold": "0.500000000000000000",
|
||||
"veto": "0.334000000000000000"
|
||||
}
|
||||
},
|
||||
"params": null,
|
||||
"transfer": {
|
||||
"port_id": "transfer"
|
||||
},
|
||||
"crisis": {
|
||||
"constant_fee": {
|
||||
"denom": "stake",
|
||||
"amount": "1000"
|
||||
}
|
||||
},
|
||||
"distribution": {
|
||||
"params": {
|
||||
"community_tax": "0.020000000000000000",
|
||||
"base_proposer_reward": "0.010000000000000000",
|
||||
"bonus_proposer_reward": "0.040000000000000000",
|
||||
"withdraw_addr_enabled": true
|
||||
},
|
||||
"fee_pool": {
|
||||
"community_pool": []
|
||||
},
|
||||
"delegator_withdraw_infos": [],
|
||||
"previous_proposer": "",
|
||||
"outstanding_rewards": [],
|
||||
"validator_accumulated_commissions": [],
|
||||
"validator_historical_rewards": [],
|
||||
"validator_current_rewards": [],
|
||||
"delegator_starting_infos": [],
|
||||
"validator_slash_events": []
|
||||
},
|
||||
"slashing": {
|
||||
"params": {
|
||||
"signed_blocks_window": "100",
|
||||
"min_signed_per_window": "0.500000000000000000",
|
||||
"downtime_jail_duration": "600000000000",
|
||||
"slash_fraction_double_sign": "0.050000000000000000",
|
||||
"slash_fraction_downtime": "0.010000000000000000"
|
||||
},
|
||||
"signing_infos": {},
|
||||
"missed_blocks": {}
|
||||
},
|
||||
"staking": {
|
||||
"params": {
|
||||
"unbonding_time": "1814400000000000",
|
||||
"max_validators": 100,
|
||||
"max_entries": 7,
|
||||
"historical_entries": 100,
|
||||
"bond_denom": "stake"
|
||||
},
|
||||
"last_total_power": "0",
|
||||
"last_validator_powers": null,
|
||||
"validators": null,
|
||||
"delegations": null,
|
||||
"unbonding_delegations": null,
|
||||
"redelegations": null,
|
||||
"exported": false
|
||||
}
|
||||
}
|
||||
}
|
|
@ -56,5 +56,5 @@ func (k BaseKeeper) ExportGenesis(ctx sdk.Context) types.GenesisState {
|
|||
})
|
||||
}
|
||||
|
||||
return types.NewGenesisState(k.GetParams(ctx), balances, k.GetSupply(ctx).GetTotal())
|
||||
return types.NewGenesisState(k.GetParams(ctx), balances, k.GetSupply(ctx).GetTotal(), k.GetAllDenomMetaData(ctx))
|
||||
}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package keeper_test
|
||||
|
||||
import (
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/bank/types"
|
||||
)
|
||||
|
||||
func (suite *IntegrationTestSuite) TestExportGenesis() {
|
||||
app, ctx := suite.app, suite.ctx
|
||||
|
||||
expectedMetadata := suite.getTestMetadata()
|
||||
expectedBalances := suite.getTestBalances()
|
||||
for i := range []int{1, 2} {
|
||||
app.BankKeeper.SetDenomMetaData(ctx, expectedMetadata[i])
|
||||
err := app.BankKeeper.SetBalances(ctx, expectedBalances[i].Address, expectedBalances[i].Coins)
|
||||
suite.Require().NoError(err)
|
||||
}
|
||||
|
||||
totalSupply := types.NewSupply(sdk.NewCoins(sdk.NewInt64Coin("test", 400000000)))
|
||||
app.BankKeeper.SetSupply(ctx, totalSupply)
|
||||
app.BankKeeper.SetParams(ctx, types.DefaultParams())
|
||||
|
||||
exportGenesis := app.BankKeeper.ExportGenesis(ctx)
|
||||
|
||||
suite.Require().Len(exportGenesis.Params.SendEnabled, 0)
|
||||
suite.Require().Equal(types.DefaultParams().DefaultSendEnabled, exportGenesis.Params.DefaultSendEnabled)
|
||||
suite.Require().Equal(totalSupply.GetTotal(), exportGenesis.Supply)
|
||||
suite.Require().Equal(expectedBalances, exportGenesis.Balances)
|
||||
suite.Require().Equal(expectedMetadata, exportGenesis.DenomMetadata)
|
||||
}
|
||||
|
||||
func (suite *IntegrationTestSuite) getTestBalances() []types.Balance {
|
||||
addr2, _ := sdk.AccAddressFromBech32("cosmos1f9xjhxm0plzrh9cskf4qee4pc2xwp0n0556gh0")
|
||||
addr1, _ := sdk.AccAddressFromBech32("cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh")
|
||||
return []types.Balance{
|
||||
{addr2, sdk.Coins{sdk.NewInt64Coin("testcoin1", 32), sdk.NewInt64Coin("testcoin2", 34)}},
|
||||
{addr1, sdk.Coins{sdk.NewInt64Coin("testcoin3", 10)}},
|
||||
}
|
||||
|
||||
}
|
|
@ -5,6 +5,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
"github.com/cosmos/cosmos-sdk/store/prefix"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||
|
@ -27,6 +28,10 @@ type Keeper interface {
|
|||
GetSupply(ctx sdk.Context) exported.SupplyI
|
||||
SetSupply(ctx sdk.Context, supply exported.SupplyI)
|
||||
|
||||
GetDenomMetaData(ctx sdk.Context, denom string) types.Metadata
|
||||
SetDenomMetaData(ctx sdk.Context, denomMetaData types.Metadata)
|
||||
IterateAllDenomMetaData(ctx sdk.Context, cb func(types.Metadata) bool)
|
||||
|
||||
SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
|
||||
SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error
|
||||
SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
|
||||
|
@ -175,6 +180,59 @@ func (k BaseKeeper) SetSupply(ctx sdk.Context, supply exported.SupplyI) {
|
|||
store.Set(types.SupplyKey, bz)
|
||||
}
|
||||
|
||||
// GetDenomMetaData retrieves the denomination metadata
|
||||
func (k BaseKeeper) GetDenomMetaData(ctx sdk.Context, denom string) types.Metadata {
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
store = prefix.NewStore(store, types.DenomMetadataKey(denom))
|
||||
|
||||
bz := store.Get([]byte(denom))
|
||||
|
||||
var metadata types.Metadata
|
||||
k.cdc.MustUnmarshalBinaryBare(bz, &metadata)
|
||||
|
||||
return metadata
|
||||
}
|
||||
|
||||
// GetAllDenomMetaData retrieves all denominations metadata
|
||||
func (k BaseKeeper) GetAllDenomMetaData(ctx sdk.Context) []types.Metadata {
|
||||
denomMetaData := make([]types.Metadata, 0)
|
||||
k.IterateAllDenomMetaData(ctx, func(metadata types.Metadata) bool {
|
||||
denomMetaData = append(denomMetaData, metadata)
|
||||
return false
|
||||
})
|
||||
|
||||
return denomMetaData
|
||||
}
|
||||
|
||||
// IterateAllDenomMetaData iterates over all the denominations metadata and
|
||||
// provides the metadata to a callback. If true is returned from the
|
||||
// callback, iteration is halted.
|
||||
func (k BaseKeeper) IterateAllDenomMetaData(ctx sdk.Context, cb func(types.Metadata) bool) {
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
denomMetaDataStore := prefix.NewStore(store, types.DenomMetadataPrefix)
|
||||
|
||||
iterator := denomMetaDataStore.Iterator(nil, nil)
|
||||
defer iterator.Close()
|
||||
|
||||
for ; iterator.Valid(); iterator.Next() {
|
||||
var metadata types.Metadata
|
||||
k.cdc.MustUnmarshalBinaryBare(iterator.Value(), &metadata)
|
||||
|
||||
if cb(metadata) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// SetDenomMetaData sets the denominations metadata
|
||||
func (k BaseKeeper) SetDenomMetaData(ctx sdk.Context, denomMetaData types.Metadata) {
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
denomMetaDataStore := prefix.NewStore(store, types.DenomMetadataKey(denomMetaData.Base))
|
||||
|
||||
m := k.cdc.MustMarshalBinaryBare(&denomMetaData)
|
||||
denomMetaDataStore.Set([]byte(denomMetaData.Base), m)
|
||||
}
|
||||
|
||||
// SendCoinsFromModuleToAccount transfers coins from a ModuleAccount to an AccAddress.
|
||||
// It will panic if the module account does not exist.
|
||||
func (k BaseKeeper) SendCoinsFromModuleToAccount(
|
||||
|
|
|
@ -965,6 +965,74 @@ func (suite *IntegrationTestSuite) TestUndelegateCoins_Invalid() {
|
|||
suite.Require().Error(app.BankKeeper.UndelegateCoins(ctx, addrModule, addr1, delCoins))
|
||||
}
|
||||
|
||||
func (suite *IntegrationTestSuite) TestSetDenomMetaData() {
|
||||
app, ctx := suite.app, suite.ctx
|
||||
|
||||
metadata := suite.getTestMetadata()
|
||||
|
||||
for i := range []int{1, 2} {
|
||||
app.BankKeeper.SetDenomMetaData(ctx, metadata[i])
|
||||
}
|
||||
|
||||
actualMetadata := app.BankKeeper.GetDenomMetaData(ctx, metadata[1].Base)
|
||||
|
||||
suite.Require().Equal(metadata[1].GetBase(), actualMetadata.GetBase())
|
||||
suite.Require().Equal(metadata[1].GetDisplay(), actualMetadata.GetDisplay())
|
||||
suite.Require().Equal(metadata[1].GetDescription(), actualMetadata.GetDescription())
|
||||
suite.Require().Equal(metadata[1].GetDenomUnits()[1].GetDenom(), actualMetadata.GetDenomUnits()[1].GetDenom())
|
||||
suite.Require().Equal(metadata[1].GetDenomUnits()[1].GetExponent(), actualMetadata.GetDenomUnits()[1].GetExponent())
|
||||
suite.Require().Equal(metadata[1].GetDenomUnits()[1].GetAliases(), actualMetadata.GetDenomUnits()[1].GetAliases())
|
||||
}
|
||||
|
||||
func (suite *IntegrationTestSuite) TestIterateAllDenomMetaData() {
|
||||
app, ctx := suite.app, suite.ctx
|
||||
|
||||
expectedMetadata := suite.getTestMetadata()
|
||||
// set metadata
|
||||
for i := range []int{1, 2} {
|
||||
app.BankKeeper.SetDenomMetaData(ctx, expectedMetadata[i])
|
||||
}
|
||||
// retrieve metadata
|
||||
actualMetadata := make([]types.Metadata, 0)
|
||||
app.BankKeeper.IterateAllDenomMetaData(ctx, func(metadata types.Metadata) bool {
|
||||
actualMetadata = append(actualMetadata, metadata)
|
||||
return false
|
||||
})
|
||||
// execute checks
|
||||
for i := range []int{1, 2} {
|
||||
suite.Require().Equal(expectedMetadata[i].GetBase(), actualMetadata[i].GetBase())
|
||||
suite.Require().Equal(expectedMetadata[i].GetDisplay(), actualMetadata[i].GetDisplay())
|
||||
suite.Require().Equal(expectedMetadata[i].GetDescription(), actualMetadata[i].GetDescription())
|
||||
suite.Require().Equal(expectedMetadata[i].GetDenomUnits()[1].GetDenom(), actualMetadata[i].GetDenomUnits()[1].GetDenom())
|
||||
suite.Require().Equal(expectedMetadata[i].GetDenomUnits()[1].GetExponent(), actualMetadata[i].GetDenomUnits()[1].GetExponent())
|
||||
suite.Require().Equal(expectedMetadata[i].GetDenomUnits()[1].GetAliases(), actualMetadata[i].GetDenomUnits()[1].GetAliases())
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *IntegrationTestSuite) getTestMetadata() []types.Metadata {
|
||||
return []types.Metadata{{
|
||||
Description: "The native staking token of the Cosmos Hub.",
|
||||
DenomUnits: []*types.DenomUnits{
|
||||
{"uatom", uint32(0), []string{"microatom"}},
|
||||
{"matom", uint32(3), []string{"milliatom"}},
|
||||
{"atom", uint32(6), nil},
|
||||
},
|
||||
Base: "uatom",
|
||||
Display: "atom",
|
||||
},
|
||||
{
|
||||
Description: "The native staking token of the Token Hub.",
|
||||
DenomUnits: []*types.DenomUnits{
|
||||
{"1token", uint32(5), []string{"decitoken"}},
|
||||
{"2token", uint32(4), []string{"centitoken"}},
|
||||
{"3token", uint32(7), []string{"dekatoken"}},
|
||||
},
|
||||
Base: "utoken",
|
||||
Display: "token",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func TestKeeperTestSuite(t *testing.T) {
|
||||
suite.Run(t, new(IntegrationTestSuite))
|
||||
}
|
||||
|
|
|
@ -389,6 +389,138 @@ func (m *Supply) XXX_DiscardUnknown() {
|
|||
|
||||
var xxx_messageInfo_Supply proto.InternalMessageInfo
|
||||
|
||||
// DenomUnits represents a struct that describes different
|
||||
// denominations units of the basic token
|
||||
type DenomUnits struct {
|
||||
Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
|
||||
Exponent uint32 `protobuf:"varint,2,opt,name=exponent,proto3" json:"exponent,omitempty"`
|
||||
Aliases []string `protobuf:"bytes,3,rep,name=aliases,proto3" json:"aliases,omitempty"`
|
||||
}
|
||||
|
||||
func (m *DenomUnits) Reset() { *m = DenomUnits{} }
|
||||
func (m *DenomUnits) String() string { return proto.CompactTextString(m) }
|
||||
func (*DenomUnits) ProtoMessage() {}
|
||||
func (*DenomUnits) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_717c78e54d4b5794, []int{7}
|
||||
}
|
||||
func (m *DenomUnits) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *DenomUnits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_DenomUnits.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return b[:n], nil
|
||||
}
|
||||
}
|
||||
func (m *DenomUnits) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DenomUnits.Merge(m, src)
|
||||
}
|
||||
func (m *DenomUnits) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *DenomUnits) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DenomUnits.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DenomUnits proto.InternalMessageInfo
|
||||
|
||||
func (m *DenomUnits) GetDenom() string {
|
||||
if m != nil {
|
||||
return m.Denom
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DenomUnits) GetExponent() uint32 {
|
||||
if m != nil {
|
||||
return m.Exponent
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *DenomUnits) GetAliases() []string {
|
||||
if m != nil {
|
||||
return m.Aliases
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Metadata represents a struct that describes
|
||||
// a basic token
|
||||
type Metadata struct {
|
||||
Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
|
||||
DenomUnits []*DenomUnits `protobuf:"bytes,2,rep,name=denom_units,json=denomUnits,proto3" json:"denom_units,omitempty"`
|
||||
Base string `protobuf:"bytes,3,opt,name=base,proto3" json:"base,omitempty"`
|
||||
Display string `protobuf:"bytes,4,opt,name=display,proto3" json:"display,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Metadata) Reset() { *m = Metadata{} }
|
||||
func (m *Metadata) String() string { return proto.CompactTextString(m) }
|
||||
func (*Metadata) ProtoMessage() {}
|
||||
func (*Metadata) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_717c78e54d4b5794, []int{8}
|
||||
}
|
||||
func (m *Metadata) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_Metadata.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return b[:n], nil
|
||||
}
|
||||
}
|
||||
func (m *Metadata) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_Metadata.Merge(m, src)
|
||||
}
|
||||
func (m *Metadata) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *Metadata) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_Metadata.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_Metadata proto.InternalMessageInfo
|
||||
|
||||
func (m *Metadata) GetDescription() string {
|
||||
if m != nil {
|
||||
return m.Description
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Metadata) GetDenomUnits() []*DenomUnits {
|
||||
if m != nil {
|
||||
return m.DenomUnits
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Metadata) GetBase() string {
|
||||
if m != nil {
|
||||
return m.Base
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Metadata) GetDisplay() string {
|
||||
if m != nil {
|
||||
return m.Display
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*Params)(nil), "cosmos.bank.Params")
|
||||
proto.RegisterType((*SendEnabled)(nil), "cosmos.bank.SendEnabled")
|
||||
|
@ -397,49 +529,58 @@ func init() {
|
|||
proto.RegisterType((*Output)(nil), "cosmos.bank.Output")
|
||||
proto.RegisterType((*MsgMultiSend)(nil), "cosmos.bank.MsgMultiSend")
|
||||
proto.RegisterType((*Supply)(nil), "cosmos.bank.Supply")
|
||||
proto.RegisterType((*DenomUnits)(nil), "cosmos.bank.DenomUnits")
|
||||
proto.RegisterType((*Metadata)(nil), "cosmos.bank.Metadata")
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("cosmos/bank/bank.proto", fileDescriptor_717c78e54d4b5794) }
|
||||
|
||||
var fileDescriptor_717c78e54d4b5794 = []byte{
|
||||
// 583 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x54, 0x3d, 0x6f, 0xd3, 0x4e,
|
||||
0x18, 0xf7, 0xa5, 0xad, 0xd3, 0x5e, 0xb2, 0xfc, 0x2f, 0xd1, 0x5f, 0xa6, 0x12, 0x76, 0xb0, 0x84,
|
||||
0x94, 0x22, 0xe2, 0x14, 0x2a, 0x96, 0x6c, 0x75, 0x55, 0xa0, 0x42, 0x11, 0xc8, 0x45, 0x0c, 0x20,
|
||||
0x11, 0x39, 0xf1, 0x35, 0x44, 0xb1, 0x7d, 0x56, 0xee, 0x2c, 0x35, 0xe2, 0x0b, 0x30, 0x32, 0x32,
|
||||
0x66, 0x61, 0x61, 0x02, 0x89, 0x8d, 0x2f, 0x50, 0x89, 0xa5, 0x62, 0x62, 0x32, 0x28, 0x59, 0x98,
|
||||
0x33, 0x32, 0x21, 0xdf, 0x9d, 0xa9, 0x2d, 0x21, 0x54, 0x5e, 0x16, 0x96, 0x28, 0xf7, 0x3c, 0xbf,
|
||||
0xb7, 0x7b, 0xce, 0x77, 0xf0, 0xff, 0x01, 0xa1, 0x01, 0xa1, 0xed, 0xbe, 0x1b, 0x8e, 0xf9, 0x8f,
|
||||
0x15, 0x4d, 0x08, 0x23, 0xa8, 0x22, 0xea, 0x56, 0x5a, 0xda, 0xac, 0x0f, 0xc9, 0x90, 0xf0, 0x7a,
|
||||
0x3b, 0xfd, 0x27, 0x20, 0x9b, 0x17, 0x04, 0xa4, 0x27, 0x1a, 0x12, 0x2f, 0x5a, 0x35, 0xa9, 0x9a,
|
||||
0x2f, 0x9a, 0xef, 0x01, 0x54, 0xef, 0xb9, 0x13, 0x37, 0xa0, 0xe8, 0x31, 0xac, 0x52, 0x1c, 0x7a,
|
||||
0x3d, 0x1c, 0xba, 0x7d, 0x1f, 0x7b, 0x1a, 0x68, 0xac, 0x34, 0x2b, 0xd7, 0x35, 0x2b, 0x67, 0x6a,
|
||||
0x1d, 0xe2, 0xd0, 0xdb, 0x17, 0x7d, 0xfb, 0xd2, 0x32, 0x31, 0x2e, 0x4e, 0xdd, 0xc0, 0xef, 0x98,
|
||||
0x79, 0xde, 0x55, 0x12, 0x8c, 0x18, 0x0e, 0x22, 0x36, 0x35, 0x9d, 0x0a, 0x3d, 0xc3, 0xa3, 0x47,
|
||||
0xb0, 0xee, 0xe1, 0x23, 0x37, 0xf6, 0x59, 0xaf, 0xe0, 0x53, 0x6a, 0x80, 0xe6, 0xba, 0xbd, 0xb5,
|
||||
0x4c, 0x8c, 0xcb, 0x42, 0xed, 0x47, 0xa8, 0xbc, 0x2a, 0x92, 0x80, 0x5c, 0x98, 0xce, 0xea, 0x8b,
|
||||
0x99, 0xa1, 0x98, 0xb7, 0x60, 0x25, 0x57, 0x44, 0x75, 0xb8, 0xe6, 0xe1, 0x90, 0x04, 0x1a, 0x68,
|
||||
0x80, 0xe6, 0x86, 0x23, 0x16, 0x48, 0x83, 0xe5, 0x82, 0xb5, 0x93, 0x2d, 0x3b, 0xeb, 0xa9, 0xc8,
|
||||
0x97, 0x99, 0x01, 0xcc, 0x77, 0x25, 0x58, 0xee, 0xd2, 0x61, 0x2a, 0x86, 0xc6, 0xb0, 0x7a, 0x34,
|
||||
0x21, 0x41, 0xcf, 0xf5, 0xbc, 0x09, 0xa6, 0x94, 0x8b, 0x55, 0xed, 0xdb, 0xcb, 0xc4, 0xa8, 0x89,
|
||||
0xbc, 0xf9, 0xae, 0xf9, 0x35, 0x31, 0x5a, 0xc3, 0x11, 0x7b, 0x12, 0xf7, 0xad, 0x01, 0x09, 0xda,
|
||||
0x85, 0x99, 0xb7, 0xa8, 0x37, 0x6e, 0xb3, 0x69, 0x84, 0xa9, 0xb5, 0x3b, 0x18, 0xec, 0x0a, 0x86,
|
||||
0x53, 0x49, 0xf9, 0x72, 0x81, 0x30, 0x84, 0x8c, 0x7c, 0xb7, 0x2a, 0x71, 0xab, 0x9b, 0xcb, 0xc4,
|
||||
0xf8, 0x4f, 0x58, 0x9d, 0xf5, 0x7e, 0xc3, 0x68, 0x83, 0x91, 0xcc, 0xe6, 0x01, 0x54, 0xdd, 0x80,
|
||||
0xc4, 0x21, 0xd3, 0x56, 0xf8, 0x29, 0x57, 0xb3, 0x53, 0xde, 0x23, 0xa3, 0xd0, 0xde, 0x3e, 0x49,
|
||||
0x0c, 0xe5, 0xd5, 0x27, 0xa3, 0x79, 0x0e, 0xfd, 0x94, 0x40, 0x1d, 0xa9, 0xd6, 0x59, 0xe5, 0xd3,
|
||||
0x7b, 0x0d, 0xe0, 0xda, 0x41, 0x18, 0xc5, 0x0c, 0xdd, 0x81, 0xe5, 0xe2, 0xd8, 0xae, 0xfd, 0x7a,
|
||||
0xec, 0x4c, 0x01, 0xdd, 0x87, 0x6b, 0x83, 0xd4, 0x4d, 0x2b, 0xfd, 0x95, 0xcc, 0x42, 0x4c, 0x46,
|
||||
0x7e, 0x03, 0xa0, 0x7a, 0x37, 0x66, 0xff, 0x54, 0xe6, 0xa7, 0xb0, 0xda, 0xa5, 0xc3, 0x6e, 0xec,
|
||||
0xb3, 0x11, 0xff, 0x50, 0xb7, 0xa1, 0x3a, 0x4a, 0xa7, 0x4e, 0xe5, 0xd5, 0x45, 0x85, 0xab, 0xcb,
|
||||
0x0f, 0xc4, 0x5e, 0x4d, 0x2d, 0x1d, 0x89, 0x43, 0x3b, 0xb0, 0x4c, 0xf8, 0xa6, 0xb3, 0x7c, 0xb5,
|
||||
0x02, 0x45, 0x0c, 0x44, 0x72, 0x32, 0xa4, 0x34, 0x7f, 0x09, 0xa0, 0x7a, 0x18, 0x47, 0x91, 0x3f,
|
||||
0x4d, 0xf7, 0xc8, 0x08, 0x73, 0x7d, 0x69, 0xfb, 0xc7, 0x7b, 0xe4, 0x62, 0x9d, 0xfd, 0x67, 0x33,
|
||||
0x43, 0xc9, 0x2e, 0xe4, 0x87, 0xb7, 0xad, 0x1b, 0x57, 0x7e, 0xaa, 0x70, 0x2c, 0x5e, 0x4b, 0x7c,
|
||||
0x1c, 0x91, 0x09, 0xc3, 0x9e, 0x25, 0xb2, 0x1d, 0xd8, 0x7b, 0x27, 0x73, 0x1d, 0x9c, 0xce, 0x75,
|
||||
0xf0, 0x79, 0xae, 0x83, 0xe7, 0x0b, 0x5d, 0x39, 0x5d, 0xe8, 0xca, 0xc7, 0x85, 0xae, 0x3c, 0xdc,
|
||||
0x3a, 0x8f, 0x1e, 0x0f, 0xd6, 0x57, 0xf9, 0x63, 0xb9, 0xf3, 0x2d, 0x00, 0x00, 0xff, 0xff, 0xba,
|
||||
0x32, 0x90, 0x68, 0x99, 0x05, 0x00, 0x00,
|
||||
// 697 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x55, 0xcf, 0x6b, 0x13, 0x4d,
|
||||
0x18, 0xce, 0xa6, 0x69, 0x92, 0xbe, 0xc9, 0x77, 0xf8, 0xa6, 0xe5, 0xfb, 0xd6, 0x82, 0xd9, 0xb8,
|
||||
0x20, 0xa4, 0x62, 0x37, 0xd5, 0x22, 0x48, 0x6e, 0x4d, 0xad, 0x5a, 0x24, 0x28, 0x5b, 0x15, 0x51,
|
||||
0x30, 0x4c, 0xb2, 0xd3, 0xb8, 0x74, 0x77, 0x67, 0xc9, 0xcc, 0x42, 0x83, 0xff, 0x80, 0x47, 0x0f,
|
||||
0x1e, 0x3c, 0xf6, 0xe2, 0xc5, 0x93, 0x82, 0x37, 0xff, 0x81, 0x82, 0x97, 0xe2, 0xc9, 0x53, 0x94,
|
||||
0xf6, 0xe2, 0x39, 0x47, 0x4f, 0x32, 0x33, 0xbb, 0xcd, 0x2e, 0xa8, 0xd4, 0x1f, 0x17, 0x2f, 0x65,
|
||||
0xdf, 0xf7, 0x7d, 0xde, 0xe7, 0x79, 0xe6, 0x9d, 0xbe, 0x13, 0xf8, 0xaf, 0x4f, 0x99, 0x4f, 0x59,
|
||||
0xb3, 0x87, 0x83, 0x1d, 0xf9, 0xc7, 0x0a, 0x87, 0x94, 0x53, 0x54, 0x51, 0x79, 0x4b, 0xa4, 0x16,
|
||||
0x17, 0x06, 0x74, 0x40, 0x65, 0xbe, 0x29, 0xbe, 0x14, 0x64, 0xf1, 0x94, 0x82, 0x74, 0x55, 0x21,
|
||||
0xc6, 0xab, 0xd2, 0x7c, 0xcc, 0x9a, 0x4e, 0x9a, 0xef, 0x34, 0x28, 0xde, 0xc2, 0x43, 0xec, 0x33,
|
||||
0xf4, 0x10, 0xaa, 0x8c, 0x04, 0x4e, 0x97, 0x04, 0xb8, 0xe7, 0x11, 0x47, 0xd7, 0xea, 0x33, 0x8d,
|
||||
0xca, 0x45, 0xdd, 0x4a, 0x89, 0x5a, 0x5b, 0x24, 0x70, 0x36, 0x54, 0xbd, 0x7d, 0x66, 0x32, 0x36,
|
||||
0x4e, 0x8f, 0xb0, 0xef, 0xb5, 0xcc, 0x74, 0xdf, 0x79, 0xea, 0xbb, 0x9c, 0xf8, 0x21, 0x1f, 0x99,
|
||||
0x76, 0x85, 0x4d, 0xf1, 0xe8, 0x01, 0x2c, 0x38, 0x64, 0x1b, 0x47, 0x1e, 0xef, 0x66, 0x74, 0xf2,
|
||||
0x75, 0xad, 0x51, 0x6e, 0x2f, 0x4d, 0xc6, 0xc6, 0x59, 0xc5, 0xf6, 0x2d, 0x54, 0x9a, 0x15, 0xc5,
|
||||
0x80, 0x94, 0x99, 0x56, 0xe1, 0xf9, 0x9e, 0x91, 0x33, 0xaf, 0x41, 0x25, 0x95, 0x44, 0x0b, 0x30,
|
||||
0xeb, 0x90, 0x80, 0xfa, 0xba, 0x56, 0xd7, 0x1a, 0x73, 0xb6, 0x0a, 0x90, 0x0e, 0xa5, 0x8c, 0xb4,
|
||||
0x9d, 0x84, 0xad, 0xb2, 0x20, 0xf9, 0xbc, 0x67, 0x68, 0xe6, 0xdb, 0x3c, 0x94, 0x3a, 0x6c, 0x20,
|
||||
0xc8, 0xd0, 0x0e, 0x54, 0xb7, 0x87, 0xd4, 0xef, 0x62, 0xc7, 0x19, 0x12, 0xc6, 0x24, 0x59, 0xb5,
|
||||
0x7d, 0x7d, 0x32, 0x36, 0xe6, 0x95, 0xdf, 0x74, 0xd5, 0xfc, 0x32, 0x36, 0x96, 0x07, 0x2e, 0x7f,
|
||||
0x14, 0xf5, 0xac, 0x3e, 0xf5, 0x9b, 0x99, 0x99, 0x2f, 0x33, 0x67, 0xa7, 0xc9, 0x47, 0x21, 0x61,
|
||||
0xd6, 0x5a, 0xbf, 0xbf, 0xa6, 0x3a, 0xec, 0x8a, 0xe8, 0x8f, 0x03, 0x44, 0x00, 0x38, 0x3d, 0x96,
|
||||
0xca, 0x4b, 0xa9, 0xab, 0x93, 0xb1, 0xf1, 0xaf, 0x92, 0x9a, 0xd6, 0x7e, 0x41, 0x68, 0x8e, 0xd3,
|
||||
0x44, 0xe6, 0x2e, 0x14, 0xb1, 0x4f, 0xa3, 0x80, 0xeb, 0x33, 0xf2, 0x96, 0xab, 0xc9, 0x2d, 0xaf,
|
||||
0x53, 0x37, 0x68, 0xaf, 0xec, 0x8f, 0x8d, 0xdc, 0xcb, 0x8f, 0x46, 0xe3, 0x04, 0xfc, 0xa2, 0x81,
|
||||
0xd9, 0x31, 0x5b, 0xab, 0x20, 0xa7, 0xf7, 0x4a, 0x83, 0xd9, 0xcd, 0x20, 0x8c, 0x38, 0xba, 0x01,
|
||||
0xa5, 0xec, 0xd8, 0x2e, 0xfc, 0xbc, 0xed, 0x84, 0x01, 0xdd, 0x86, 0xd9, 0xbe, 0x50, 0xd3, 0xf3,
|
||||
0x7f, 0xc4, 0xb3, 0x22, 0x8b, 0x2d, 0xbf, 0xd6, 0xa0, 0x78, 0x33, 0xe2, 0x7f, 0x95, 0xe7, 0xc7,
|
||||
0x50, 0xed, 0xb0, 0x41, 0x27, 0xf2, 0xb8, 0x2b, 0xff, 0x51, 0x57, 0xa0, 0xe8, 0x8a, 0xa9, 0xb3,
|
||||
0x78, 0x75, 0x51, 0x66, 0x75, 0xe5, 0x85, 0xb4, 0x0b, 0x42, 0xd2, 0x8e, 0x71, 0x68, 0x15, 0x4a,
|
||||
0x54, 0x1e, 0x3a, 0xf1, 0x37, 0x9f, 0x69, 0x51, 0x03, 0x89, 0x7b, 0x12, 0x64, 0x2c, 0xfe, 0x42,
|
||||
0x83, 0xe2, 0x56, 0x14, 0x86, 0xde, 0x48, 0x9c, 0x91, 0x53, 0x8e, 0xbd, 0x58, 0xf6, 0xb7, 0xcf,
|
||||
0x28, 0xc9, 0x5a, 0x1b, 0x4f, 0xf6, 0x8c, 0x5c, 0xb2, 0x90, 0xef, 0xdf, 0x2c, 0x5f, 0x3a, 0xf7,
|
||||
0x43, 0x86, 0x5d, 0xf5, 0x5a, 0x92, 0xdd, 0x90, 0x0e, 0x39, 0x71, 0x2c, 0xe5, 0x6d, 0xd3, 0xbc,
|
||||
0x07, 0x70, 0x45, 0xac, 0xfd, 0x9d, 0xc0, 0xe5, 0xec, 0x3b, 0x2f, 0xc2, 0x22, 0x94, 0x45, 0x5f,
|
||||
0x40, 0x02, 0x2e, 0x57, 0xee, 0x1f, 0xfb, 0x38, 0x16, 0xaf, 0x05, 0xf6, 0x5c, 0xcc, 0x08, 0x93,
|
||||
0xab, 0x32, 0x67, 0x27, 0xa1, 0xf9, 0x4c, 0x83, 0x72, 0x87, 0x70, 0xec, 0x60, 0x8e, 0x51, 0x1d,
|
||||
0x2a, 0x0e, 0x61, 0xfd, 0xa1, 0x1b, 0x72, 0x97, 0x06, 0x31, 0x7d, 0x3a, 0x85, 0x2e, 0x0b, 0x44,
|
||||
0x40, 0xfd, 0x6e, 0x24, 0x9c, 0xc4, 0xf3, 0xfe, 0x3f, 0x33, 0xef, 0xa9, 0x51, 0x1b, 0x9c, 0xa9,
|
||||
0x69, 0x04, 0x85, 0x1e, 0x66, 0x44, 0x9f, 0x91, 0xa4, 0xf2, 0x5b, 0xd8, 0x72, 0x5c, 0x16, 0x7a,
|
||||
0x78, 0xa4, 0x17, 0x64, 0x3a, 0x09, 0xdb, 0xeb, 0xfb, 0x87, 0x35, 0xed, 0xe0, 0xb0, 0xa6, 0x7d,
|
||||
0x3a, 0xac, 0x69, 0x4f, 0x8f, 0x6a, 0xb9, 0x83, 0xa3, 0x5a, 0xee, 0xc3, 0x51, 0x2d, 0x77, 0x7f,
|
||||
0xe9, 0x24, 0x03, 0x94, 0x37, 0xd1, 0x2b, 0xca, 0x5f, 0x87, 0xd5, 0xaf, 0x01, 0x00, 0x00, 0xff,
|
||||
0xff, 0xde, 0xcf, 0x77, 0x95, 0x8a, 0x06, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (this *SendEnabled) Equal(that interface{}) bool {
|
||||
|
@ -948,6 +1089,108 @@ func (m *Supply) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *DenomUnits) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *DenomUnits) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *DenomUnits) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if len(m.Aliases) > 0 {
|
||||
for iNdEx := len(m.Aliases) - 1; iNdEx >= 0; iNdEx-- {
|
||||
i -= len(m.Aliases[iNdEx])
|
||||
copy(dAtA[i:], m.Aliases[iNdEx])
|
||||
i = encodeVarintBank(dAtA, i, uint64(len(m.Aliases[iNdEx])))
|
||||
i--
|
||||
dAtA[i] = 0x1a
|
||||
}
|
||||
}
|
||||
if m.Exponent != 0 {
|
||||
i = encodeVarintBank(dAtA, i, uint64(m.Exponent))
|
||||
i--
|
||||
dAtA[i] = 0x10
|
||||
}
|
||||
if len(m.Denom) > 0 {
|
||||
i -= len(m.Denom)
|
||||
copy(dAtA[i:], m.Denom)
|
||||
i = encodeVarintBank(dAtA, i, uint64(len(m.Denom)))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *Metadata) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *Metadata) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *Metadata) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if len(m.Display) > 0 {
|
||||
i -= len(m.Display)
|
||||
copy(dAtA[i:], m.Display)
|
||||
i = encodeVarintBank(dAtA, i, uint64(len(m.Display)))
|
||||
i--
|
||||
dAtA[i] = 0x22
|
||||
}
|
||||
if len(m.Base) > 0 {
|
||||
i -= len(m.Base)
|
||||
copy(dAtA[i:], m.Base)
|
||||
i = encodeVarintBank(dAtA, i, uint64(len(m.Base)))
|
||||
i--
|
||||
dAtA[i] = 0x1a
|
||||
}
|
||||
if len(m.DenomUnits) > 0 {
|
||||
for iNdEx := len(m.DenomUnits) - 1; iNdEx >= 0; iNdEx-- {
|
||||
{
|
||||
size, err := m.DenomUnits[iNdEx].MarshalToSizedBuffer(dAtA[:i])
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i -= size
|
||||
i = encodeVarintBank(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
}
|
||||
if len(m.Description) > 0 {
|
||||
i -= len(m.Description)
|
||||
copy(dAtA[i:], m.Description)
|
||||
i = encodeVarintBank(dAtA, i, uint64(len(m.Description)))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func encodeVarintBank(dAtA []byte, offset int, v uint64) int {
|
||||
offset -= sovBank(v)
|
||||
base := offset
|
||||
|
@ -1090,6 +1333,55 @@ func (m *Supply) Size() (n int) {
|
|||
return n
|
||||
}
|
||||
|
||||
func (m *DenomUnits) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
l = len(m.Denom)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovBank(uint64(l))
|
||||
}
|
||||
if m.Exponent != 0 {
|
||||
n += 1 + sovBank(uint64(m.Exponent))
|
||||
}
|
||||
if len(m.Aliases) > 0 {
|
||||
for _, s := range m.Aliases {
|
||||
l = len(s)
|
||||
n += 1 + l + sovBank(uint64(l))
|
||||
}
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *Metadata) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
l = len(m.Description)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovBank(uint64(l))
|
||||
}
|
||||
if len(m.DenomUnits) > 0 {
|
||||
for _, e := range m.DenomUnits {
|
||||
l = e.Size()
|
||||
n += 1 + l + sovBank(uint64(l))
|
||||
}
|
||||
}
|
||||
l = len(m.Base)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovBank(uint64(l))
|
||||
}
|
||||
l = len(m.Display)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovBank(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func sovBank(x uint64) (n int) {
|
||||
return (math_bits.Len64(x|1) + 6) / 7
|
||||
}
|
||||
|
@ -1913,6 +2205,325 @@ func (m *Supply) Unmarshal(dAtA []byte) error {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
func (m *DenomUnits) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
preIndex := iNdEx
|
||||
var wire uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
wire |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: DenomUnits: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: DenomUnits: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Denom = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Exponent", wireType)
|
||||
}
|
||||
m.Exponent = 0
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
m.Exponent |= uint32(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
case 3:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Aliases", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Aliases = append(m.Aliases, string(dAtA[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipBank(dAtA[iNdEx:])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if skippy < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if (iNdEx + skippy) < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if (iNdEx + skippy) > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
iNdEx += skippy
|
||||
}
|
||||
}
|
||||
|
||||
if iNdEx > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *Metadata) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
preIndex := iNdEx
|
||||
var wire uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
wire |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: Metadata: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: Metadata: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Description = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field DenomUnits", wireType)
|
||||
}
|
||||
var msglen int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
msglen |= int(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if msglen < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
postIndex := iNdEx + msglen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.DenomUnits = append(m.DenomUnits, &DenomUnits{})
|
||||
if err := m.DenomUnits[len(m.DenomUnits)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 3:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Base", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Base = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 4:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Display", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowBank
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Display = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipBank(dAtA[iNdEx:])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if skippy < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if (iNdEx + skippy) < 0 {
|
||||
return ErrInvalidLengthBank
|
||||
}
|
||||
if (iNdEx + skippy) > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
iNdEx += skippy
|
||||
}
|
||||
}
|
||||
|
||||
if iNdEx > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func skipBank(dAtA []byte) (n int, err error) {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
|
|
|
@ -14,9 +14,10 @@ var _ exported.GenesisBalance = (*Balance)(nil)
|
|||
|
||||
// GenesisState defines the bank module's genesis state.
|
||||
type GenesisState struct {
|
||||
Params Params `json:"params" yaml:"params"`
|
||||
Balances []Balance `json:"balances" yaml:"balances"`
|
||||
Supply sdk.Coins `json:"supply" yaml:"supply"`
|
||||
Params Params `json:"params" yaml:"params"`
|
||||
Balances []Balance `json:"balances" yaml:"balances"`
|
||||
Supply sdk.Coins `json:"supply" yaml:"supply"`
|
||||
DenomMetadata []Metadata `json:"denom_metadata" yaml:"denom_metadata"`
|
||||
}
|
||||
|
||||
// Balance defines an account address and balance pair used in the bank module's
|
||||
|
@ -60,17 +61,18 @@ func ValidateGenesis(data GenesisState) error {
|
|||
}
|
||||
|
||||
// NewGenesisState creates a new genesis state.
|
||||
func NewGenesisState(params Params, balances []Balance, supply sdk.Coins) GenesisState {
|
||||
func NewGenesisState(params Params, balances []Balance, supply sdk.Coins, denomMetaData []Metadata) GenesisState {
|
||||
return GenesisState{
|
||||
Params: params,
|
||||
Balances: balances,
|
||||
Supply: supply,
|
||||
Params: params,
|
||||
Balances: balances,
|
||||
Supply: supply,
|
||||
DenomMetadata: denomMetaData,
|
||||
}
|
||||
}
|
||||
|
||||
// DefaultGenesisState returns a default bank module genesis state.
|
||||
func DefaultGenesisState() GenesisState {
|
||||
return NewGenesisState(DefaultParams(), []Balance{}, DefaultSupply().GetTotal())
|
||||
return NewGenesisState(DefaultParams(), []Balance{}, DefaultSupply().GetTotal(), []Metadata{})
|
||||
}
|
||||
|
||||
// GetGenesisStateFromAppState returns x/bank GenesisState given raw application
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
package types_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
"github.com/cosmos/cosmos-sdk/x/bank/types"
|
||||
)
|
||||
|
||||
func TestMarshalJSONMetaData(t *testing.T) {
|
||||
cdc := codec.New()
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
input []types.Metadata
|
||||
strOutput string
|
||||
}{
|
||||
{"nil metadata", nil, `null`},
|
||||
{"empty metadata", []types.Metadata{}, `[]`},
|
||||
{"non-empty coins", []types.Metadata{{
|
||||
Description: "The native staking token of the Cosmos Hub.",
|
||||
DenomUnits: []*types.DenomUnits{
|
||||
{"uatom", uint32(0), []string{"microatom"}}, // The default exponent value 0 is omitted in the json
|
||||
{"matom", uint32(3), []string{"milliatom"}},
|
||||
{"atom", uint32(6), nil},
|
||||
},
|
||||
Base: "uatom",
|
||||
Display: "atom",
|
||||
},
|
||||
},
|
||||
`[{"description":"The native staking token of the Cosmos Hub.","denom_units":[{"denom":"uatom","aliases":["microatom"]},{"denom":"matom","exponent":3,"aliases":["milliatom"]},{"denom":"atom","exponent":6}],"base":"uatom","display":"atom"}]`},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
tc := tc
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
bz, err := cdc.MarshalJSON(tc.input)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, tc.strOutput, string(bz))
|
||||
|
||||
var newMetadata []types.Metadata
|
||||
require.NoError(t, cdc.UnmarshalJSON(bz, &newMetadata))
|
||||
|
||||
if len(tc.input) == 0 {
|
||||
require.Nil(t, newMetadata)
|
||||
} else {
|
||||
require.Equal(t, tc.input, newMetadata)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
|
@ -22,10 +22,17 @@ const (
|
|||
|
||||
// KVStore keys
|
||||
var (
|
||||
BalancesPrefix = []byte("balances")
|
||||
SupplyKey = []byte{0x00}
|
||||
BalancesPrefix = []byte("balances")
|
||||
SupplyKey = []byte{0x00}
|
||||
DenomMetadataPrefix = []byte{0x1}
|
||||
)
|
||||
|
||||
// DenomMetadataKey returns the denomination metadata key.
|
||||
func DenomMetadataKey(denom string) []byte {
|
||||
d := []byte(denom)
|
||||
return append(DenomMetadataPrefix, d...)
|
||||
}
|
||||
|
||||
// AddressFromBalancesStore returns an account address from a balances prefix
|
||||
// store. The key must not contain the perfix BalancesPrefix as the prefix store
|
||||
// iterator discards the actual prefix.
|
||||
|
|
|
@ -8,8 +8,10 @@ import (
|
|||
"github.com/stretchr/testify/require"
|
||||
"github.com/tendermint/tendermint/crypto/ed25519"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
"github.com/cosmos/cosmos-sdk/simapp"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/genutil/types"
|
||||
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
|
||||
)
|
||||
|
@ -69,3 +71,24 @@ func TestValidateGenesisBadMessage(t *testing.T) {
|
|||
err = types.ValidateGenesis(genesisState, simapp.MakeEncodingConfig().TxConfig.TxJSONDecoder())
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestGenesisStateFromGenFile(t *testing.T) {
|
||||
cdc := codec.New()
|
||||
|
||||
genFile := "../../../tests/fixtures/adr-024-coin-metadata_genesis.json"
|
||||
genesisState, _, err := types.GenesisStateFromGenFile(cdc, genFile)
|
||||
require.NoError(t, err)
|
||||
|
||||
var bankGenesis banktypes.GenesisState
|
||||
cdc.MustUnmarshalJSON(genesisState[banktypes.ModuleName], &bankGenesis)
|
||||
|
||||
require.True(t, bankGenesis.Params.DefaultSendEnabled)
|
||||
require.Equal(t, "1000nametoken,100000000stake", bankGenesis.Balances[0].GetCoins().String())
|
||||
require.Equal(t, "cosmos106vrzv5xkheqhjm023pxcxlqmcjvuhtfyachz4", bankGenesis.Balances[0].GetAddress().String())
|
||||
require.Equal(t, "The native staking token of the Cosmos Hub.", bankGenesis.DenomMetadata[0].GetDescription())
|
||||
require.Equal(t, "uatom", bankGenesis.DenomMetadata[0].GetBase())
|
||||
require.Equal(t, "matom", bankGenesis.DenomMetadata[0].GetDenomUnits()[1].GetDenom())
|
||||
require.Equal(t, []string{"milliatom"}, bankGenesis.DenomMetadata[0].GetDenomUnits()[1].GetAliases())
|
||||
require.Equal(t, uint32(3), bankGenesis.DenomMetadata[0].GetDenomUnits()[1].GetExponent())
|
||||
|
||||
}
|
||||
|
|
|
@ -419,14 +419,14 @@ func (m *MsgConnectionOpenConfirm) GetSigner() github_com_cosmos_cosmos_sdk_type
|
|||
// a connection between two chains.
|
||||
type ConnectionEnd struct {
|
||||
// client associated with this connection.
|
||||
ClientID string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty" yaml:"client_id"`
|
||||
ClientID string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty" yaml:"client_id"`
|
||||
// IBC version which can be utilised to determine encodings or protocols for
|
||||
// channels or packets utilising this connection
|
||||
Versions []string `protobuf:"bytes,3,rep,name=versions,proto3" json:"versions,omitempty"`
|
||||
Versions []string `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"`
|
||||
// current state of the connection end.
|
||||
State State `protobuf:"varint,4,opt,name=state,proto3,enum=ibc.connection.State" json:"state,omitempty"`
|
||||
State State `protobuf:"varint,3,opt,name=state,proto3,enum=ibc.connection.State" json:"state,omitempty"`
|
||||
// counterparty chain associated with this connection.
|
||||
Counterparty Counterparty `protobuf:"bytes,5,opt,name=counterparty,proto3" json:"counterparty"`
|
||||
Counterparty Counterparty `protobuf:"bytes,4,opt,name=counterparty,proto3" json:"counterparty"`
|
||||
}
|
||||
|
||||
func (m *ConnectionEnd) Reset() { *m = ConnectionEnd{} }
|
||||
|
@ -716,65 +716,66 @@ func init() {
|
|||
func init() { proto.RegisterFile("ibc/connection/connection.proto", fileDescriptor_3bf62bacf5a27ee9) }
|
||||
|
||||
var fileDescriptor_3bf62bacf5a27ee9 = []byte{
|
||||
// 926 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
|
||||
0x10, 0x16, 0x29, 0xea, 0x6f, 0x2c, 0xdb, 0x0a, 0x23, 0x37, 0x84, 0x1a, 0x90, 0x2c, 0x73, 0x11,
|
||||
0x5a, 0x58, 0x6a, 0x92, 0x22, 0x07, 0x03, 0x3d, 0x48, 0xb2, 0x8c, 0x12, 0xad, 0x1d, 0x81, 0x96,
|
||||
0x0b, 0x34, 0x17, 0x41, 0x26, 0x57, 0xf2, 0x42, 0x16, 0x29, 0x90, 0xeb, 0x22, 0x7e, 0x83, 0xc0,
|
||||
0xa7, 0xf6, 0xd8, 0x83, 0x81, 0x02, 0x79, 0x89, 0x3e, 0x41, 0x91, 0x63, 0x8e, 0x3d, 0x11, 0x85,
|
||||
0x8c, 0xbe, 0x80, 0xd0, 0x53, 0x4f, 0x05, 0x77, 0xf9, 0x27, 0xdb, 0x68, 0x91, 0xca, 0x87, 0xc2,
|
||||
0x27, 0xcd, 0xcf, 0xb7, 0xb3, 0x33, 0xf3, 0x8d, 0x86, 0x0b, 0x0a, 0x3e, 0x36, 0x9b, 0xa6, 0x63,
|
||||
0xdb, 0xc8, 0x24, 0xd8, 0xb1, 0x53, 0x62, 0x63, 0xe6, 0x3a, 0xc4, 0x11, 0x37, 0xf0, 0xb1, 0xd9,
|
||||
0x48, 0xac, 0xb5, 0xea, 0xd8, 0x19, 0x3b, 0xd4, 0xd5, 0x0c, 0x24, 0x86, 0xaa, 0x85, 0x61, 0xa6,
|
||||
0x53, 0x4c, 0xa6, 0xc8, 0x26, 0x29, 0x91, 0x01, 0xb4, 0x5f, 0x78, 0xd8, 0xda, 0xf7, 0xc6, 0x9d,
|
||||
0x38, 0xd0, 0xcb, 0x19, 0xb2, 0x75, 0x1b, 0x13, 0xf1, 0x4b, 0x28, 0x99, 0xa7, 0x18, 0xd9, 0x64,
|
||||
0x80, 0x2d, 0x89, 0x53, 0xb9, 0x7a, 0xa9, 0xad, 0xce, 0x7d, 0xa5, 0xd8, 0xa1, 0x46, 0x7d, 0x77,
|
||||
0xe1, 0x2b, 0x95, 0xf3, 0xe1, 0xf4, 0x74, 0x47, 0x8b, 0x61, 0x9a, 0x51, 0x64, 0xb2, 0x6e, 0x89,
|
||||
0xfb, 0xb0, 0x9e, 0x64, 0x17, 0x84, 0xe0, 0x69, 0x88, 0xfa, 0xdc, 0x57, 0xca, 0xc9, 0x6d, 0x34,
|
||||
0x4c, 0x35, 0x0c, 0x93, 0x86, 0x6b, 0x46, 0x39, 0xd1, 0x75, 0x4b, 0xdc, 0x83, 0xb2, 0xe9, 0x9c,
|
||||
0xd9, 0x04, 0xb9, 0xb3, 0xa1, 0x4b, 0xce, 0xa5, 0xac, 0xca, 0xd5, 0xd7, 0x9e, 0x3d, 0x6e, 0x2c,
|
||||
0x77, 0xa1, 0xd1, 0x49, 0x61, 0xda, 0xc2, 0x3b, 0x5f, 0xc9, 0x18, 0x4b, 0xe7, 0x44, 0x1d, 0xf2,
|
||||
0x1e, 0x1e, 0xdb, 0xc8, 0x95, 0x04, 0x95, 0xab, 0x97, 0xdb, 0x4f, 0xff, 0xf2, 0x95, 0xed, 0x31,
|
||||
0x26, 0x27, 0x67, 0xc7, 0x0d, 0xd3, 0x99, 0x36, 0x4d, 0xc7, 0x9b, 0x3a, 0x5e, 0xf8, 0xb3, 0xed,
|
||||
0x59, 0x93, 0x26, 0x39, 0x9f, 0x21, 0xaf, 0xd1, 0x32, 0xcd, 0x96, 0x65, 0xb9, 0xc8, 0xf3, 0x8c,
|
||||
0x30, 0x80, 0xf6, 0xa7, 0x00, 0xd5, 0x1b, 0xad, 0xeb, 0xbb, 0xe7, 0xf7, 0xb4, 0x73, 0x47, 0xb0,
|
||||
0x95, 0xd6, 0x07, 0xdf, 0x23, 0xd7, 0xc3, 0x8e, 0xed, 0x49, 0x82, 0x9a, 0x0d, 0x2a, 0x5c, 0xf8,
|
||||
0xca, 0xe3, 0x28, 0x9d, 0x5b, 0x60, 0x9a, 0x51, 0x4d, 0xdb, 0xbf, 0x0d, 0xcd, 0xe2, 0x17, 0x00,
|
||||
0x33, 0xd7, 0x71, 0x46, 0x03, 0x6c, 0x63, 0x22, 0xe5, 0x28, 0x29, 0x5b, 0x0b, 0x5f, 0x79, 0xc0,
|
||||
0x62, 0x25, 0x3e, 0xcd, 0x28, 0x51, 0x85, 0x0e, 0xe7, 0x27, 0x50, 0x66, 0x9e, 0x13, 0x84, 0xc7,
|
||||
0x27, 0x44, 0xca, 0xab, 0x5c, 0x5d, 0x30, 0xd6, 0xa8, 0xed, 0x2b, 0x6a, 0x12, 0x3b, 0xb0, 0xc9,
|
||||
0x20, 0xa6, 0x63, 0x7b, 0xc8, 0xf6, 0xce, 0x3c, 0xa9, 0x40, 0xa3, 0xd7, 0x16, 0xbe, 0xf2, 0x51,
|
||||
0x3a, 0x7a, 0x0c, 0xd0, 0x8c, 0x0d, 0x6a, 0xe9, 0x44, 0x06, 0x71, 0x0f, 0x2a, 0xb1, 0x37, 0xba,
|
||||
0xab, 0x18, 0xdc, 0xd5, 0xfe, 0x78, 0xe1, 0x2b, 0x8f, 0xe2, 0xf6, 0x2f, 0x21, 0x34, 0x63, 0x33,
|
||||
0x36, 0x85, 0xc9, 0x24, 0x63, 0x57, 0x5a, 0x75, 0xec, 0x7e, 0xcd, 0xde, 0x32, 0x76, 0x2d, 0x73,
|
||||
0x72, 0x73, 0x6e, 0xb8, 0x95, 0xe6, 0x46, 0x82, 0x42, 0xc8, 0x1d, 0x1b, 0x40, 0x23, 0x52, 0xc5,
|
||||
0xa7, 0xc0, 0x98, 0x18, 0x10, 0x97, 0x8d, 0x53, 0xb9, 0x5d, 0x4d, 0x66, 0x3a, 0x76, 0x69, 0x46,
|
||||
0x91, 0xca, 0xc1, 0x5f, 0x62, 0xe7, 0x1a, 0x5f, 0x02, 0xed, 0xe1, 0xa3, 0x85, 0xaf, 0x3c, 0x4c,
|
||||
0x9f, 0x8a, 0xfa, 0xf7, 0x6f, 0x44, 0xe6, 0xee, 0x84, 0xc8, 0xfc, 0x4a, 0x44, 0x16, 0x56, 0x25,
|
||||
0xf2, 0x2d, 0x0f, 0xd2, 0x0d, 0x22, 0x3b, 0x8e, 0x3d, 0xc2, 0xee, 0xf4, 0xae, 0xc9, 0x8c, 0x29,
|
||||
0x1b, 0x9a, 0x13, 0x4a, 0xe7, 0x2d, 0x94, 0x0d, 0xcd, 0x49, 0x44, 0x59, 0x30, 0x4e, 0xd7, 0x29,
|
||||
0xcb, 0x7e, 0x00, 0x65, 0x77, 0xb8, 0x65, 0xff, 0xe0, 0x60, 0x3d, 0x29, 0xb8, 0x6b, 0x5b, 0xcb,
|
||||
0xeb, 0x95, 0xff, 0xe0, 0xf5, 0x5a, 0x83, 0x62, 0xbc, 0xba, 0xb2, 0xc1, 0xea, 0x32, 0x62, 0x5d,
|
||||
0xfc, 0x0c, 0x72, 0x1e, 0x19, 0x12, 0x44, 0xd3, 0xde, 0x78, 0xb6, 0x75, 0x7d, 0x49, 0x1e, 0x06,
|
||||
0x4e, 0x83, 0x61, 0x6e, 0x2c, 0xd6, 0xdc, 0x7f, 0x5b, 0xac, 0x3b, 0xc2, 0x9b, 0x9f, 0x95, 0x8c,
|
||||
0xf6, 0x23, 0x0f, 0x55, 0xdd, 0x42, 0x36, 0xc1, 0x23, 0x8c, 0xac, 0xa4, 0x62, 0xf1, 0x09, 0xf0,
|
||||
0x31, 0xfd, 0x0f, 0xe7, 0xbe, 0xc2, 0xd3, 0x0a, 0x4b, 0xac, 0xc2, 0xa0, 0x34, 0x1e, 0xdf, 0xd7,
|
||||
0x9e, 0xf8, 0x1c, 0x94, 0xd3, 0xd0, 0xff, 0xd9, 0x97, 0x75, 0x07, 0xf2, 0x33, 0x17, 0x8d, 0xf0,
|
||||
0xeb, 0x6b, 0xdf, 0xd4, 0xf8, 0x89, 0xb5, 0x8f, 0xdc, 0xc9, 0x29, 0xea, 0x51, 0x4c, 0x58, 0x66,
|
||||
0x78, 0x22, 0x2c, 0xf0, 0x09, 0xac, 0xb1, 0xd4, 0x7b, 0x43, 0x72, 0xe2, 0x89, 0x55, 0xc8, 0xcd,
|
||||
0x02, 0x41, 0xe2, 0x28, 0x07, 0x4c, 0xd1, 0x46, 0xb0, 0x99, 0x24, 0xc7, 0x80, 0x2b, 0xf6, 0x21,
|
||||
0xbe, 0x87, 0x4f, 0xdf, 0xf3, 0x35, 0x14, 0xc2, 0xaf, 0xb2, 0x28, 0x03, 0xe0, 0x68, 0x16, 0x5d,
|
||||
0x76, 0x81, 0x91, 0xb2, 0x04, 0xf3, 0x32, 0x42, 0x43, 0x72, 0xe6, 0xa2, 0x28, 0x46, 0xac, 0xb3,
|
||||
0xca, 0x3e, 0xfd, 0x89, 0x83, 0x1c, 0x9d, 0x0c, 0xf1, 0x05, 0x28, 0x87, 0xfd, 0x56, 0xbf, 0x3b,
|
||||
0x38, 0x3a, 0xd0, 0x0f, 0xf4, 0xbe, 0xde, 0xfa, 0x46, 0x7f, 0xd5, 0xdd, 0x1d, 0x1c, 0x1d, 0x1c,
|
||||
0xf6, 0xba, 0x1d, 0x7d, 0x4f, 0xef, 0xee, 0x56, 0x32, 0xb5, 0x07, 0x17, 0x97, 0xea, 0xfa, 0x12,
|
||||
0x40, 0x94, 0x00, 0xd8, 0xb9, 0xc0, 0x58, 0xe1, 0x6a, 0xc5, 0x8b, 0x4b, 0x55, 0x08, 0x64, 0x51,
|
||||
0x86, 0x75, 0xe6, 0xe9, 0x1b, 0xdf, 0xbd, 0xec, 0x75, 0x0f, 0x2a, 0x7c, 0x6d, 0xed, 0xe2, 0x52,
|
||||
0x2d, 0x84, 0x6a, 0x72, 0x92, 0x3a, 0xb3, 0xec, 0x64, 0x20, 0xd7, 0x84, 0x37, 0x6f, 0xe5, 0x4c,
|
||||
0xbb, 0xf7, 0x6e, 0x2e, 0x73, 0xef, 0xe7, 0x32, 0xf7, 0xfb, 0x5c, 0xe6, 0x7e, 0xb8, 0x92, 0x33,
|
||||
0xef, 0xaf, 0xe4, 0xcc, 0x6f, 0x57, 0x72, 0xe6, 0xd5, 0x8b, 0x7f, 0xdc, 0x51, 0xaf, 0x9b, 0xc1,
|
||||
0x6b, 0xfa, 0xf3, 0xe7, 0xdb, 0xa9, 0x77, 0x39, 0xdd, 0x5b, 0xc7, 0x79, 0xfa, 0x98, 0x7e, 0xfe,
|
||||
0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2c, 0xb0, 0xb2, 0x80, 0xb6, 0x0b, 0x00, 0x00,
|
||||
// 936 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
|
||||
0x14, 0x8f, 0x1d, 0xe7, 0xdf, 0x6b, 0xda, 0x66, 0xbd, 0x29, 0x6b, 0x85, 0x95, 0x6d, 0xbc, 0x97,
|
||||
0x08, 0xd4, 0x84, 0xdd, 0x45, 0x7b, 0xa8, 0xc4, 0x21, 0x49, 0x53, 0x61, 0x41, 0xbb, 0x91, 0x9b,
|
||||
0x22, 0xb1, 0x97, 0x28, 0xb5, 0x27, 0xe9, 0x28, 0x8d, 0x1d, 0xd9, 0x53, 0xb4, 0xfd, 0x06, 0xab,
|
||||
0x9e, 0xe0, 0xc8, 0xa1, 0x12, 0xd2, 0x7e, 0x09, 0x3e, 0x01, 0xda, 0xe3, 0x1e, 0x39, 0x59, 0x28,
|
||||
0x15, 0x5f, 0x20, 0xe2, 0xc4, 0x09, 0x79, 0xc6, 0xb1, 0xdd, 0xb4, 0x80, 0xa8, 0x7b, 0x40, 0x9c,
|
||||
0xf2, 0xfe, 0xfc, 0xe6, 0xbd, 0x79, 0xef, 0xf7, 0xf2, 0x3c, 0xa0, 0xe0, 0x63, 0xb3, 0x69, 0x3a,
|
||||
0xb6, 0x8d, 0x4c, 0x82, 0x1d, 0x3b, 0x21, 0x36, 0x66, 0xae, 0x43, 0x1c, 0x71, 0x03, 0x1f, 0x9b,
|
||||
0x8d, 0xd8, 0x5a, 0xab, 0x8e, 0x9d, 0xb1, 0x43, 0x5d, 0xcd, 0x40, 0x62, 0xa8, 0x5a, 0x18, 0x66,
|
||||
0x3a, 0xc5, 0x64, 0x8a, 0x6c, 0x92, 0x10, 0x19, 0x40, 0xfb, 0x89, 0x87, 0xad, 0x7d, 0x6f, 0xdc,
|
||||
0x89, 0x02, 0xbd, 0x9c, 0x21, 0x5b, 0xb7, 0x31, 0x11, 0x3f, 0x87, 0x92, 0x79, 0x8a, 0x91, 0x4d,
|
||||
0x06, 0xd8, 0x92, 0x38, 0x95, 0xab, 0x97, 0xda, 0xea, 0xdc, 0x57, 0x8a, 0x1d, 0x6a, 0xd4, 0x77,
|
||||
0x17, 0xbe, 0x52, 0x39, 0x1f, 0x4e, 0x4f, 0x77, 0xb4, 0x08, 0xa6, 0x19, 0x45, 0x26, 0xeb, 0x96,
|
||||
0xb8, 0x0f, 0xeb, 0xf1, 0xed, 0x82, 0x10, 0x3c, 0x0d, 0x51, 0x9f, 0xfb, 0x4a, 0x39, 0xce, 0x46,
|
||||
0xc3, 0x54, 0xc3, 0x30, 0x49, 0xb8, 0x66, 0x94, 0x63, 0x5d, 0xb7, 0xc4, 0x3d, 0x28, 0x9b, 0xce,
|
||||
0x99, 0x4d, 0x90, 0x3b, 0x1b, 0xba, 0xe4, 0x5c, 0xca, 0xaa, 0x5c, 0x7d, 0xed, 0xd9, 0xe3, 0xc6,
|
||||
0xf5, 0x2e, 0x34, 0x3a, 0x09, 0x4c, 0x5b, 0x78, 0xe7, 0x2b, 0x19, 0xe3, 0xda, 0x39, 0x51, 0x87,
|
||||
0xbc, 0x87, 0xc7, 0x36, 0x72, 0x25, 0x41, 0xe5, 0xea, 0xe5, 0xf6, 0xd3, 0x3f, 0x7c, 0x65, 0x7b,
|
||||
0x8c, 0xc9, 0xc9, 0xd9, 0x71, 0xc3, 0x74, 0xa6, 0x4d, 0xd3, 0xf1, 0xa6, 0x8e, 0x17, 0xfe, 0x6c,
|
||||
0x7b, 0xd6, 0xa4, 0x49, 0xce, 0x67, 0xc8, 0x6b, 0xb4, 0x4c, 0xb3, 0x65, 0x59, 0x2e, 0xf2, 0x3c,
|
||||
0x23, 0x0c, 0xa0, 0xfd, 0x2e, 0x40, 0xf5, 0x46, 0xeb, 0xfa, 0xee, 0xf9, 0xff, 0xb4, 0x73, 0x47,
|
||||
0xb0, 0x95, 0xd4, 0x07, 0xdf, 0x22, 0xd7, 0xc3, 0x8e, 0xed, 0x49, 0x82, 0x9a, 0x0d, 0x2a, 0x5c,
|
||||
0xf8, 0xca, 0xe3, 0xe5, 0x75, 0x6e, 0x81, 0x69, 0x46, 0x35, 0x69, 0xff, 0x3a, 0x34, 0x8b, 0x9f,
|
||||
0x01, 0xcc, 0x5c, 0xc7, 0x19, 0x0d, 0xb0, 0x8d, 0x89, 0x94, 0xa3, 0xa4, 0x6c, 0x2d, 0x7c, 0xe5,
|
||||
0x01, 0x8b, 0x15, 0xfb, 0x34, 0xa3, 0x44, 0x15, 0x3a, 0x9c, 0x1f, 0x41, 0x99, 0x79, 0x4e, 0x10,
|
||||
0x1e, 0x9f, 0x10, 0x29, 0xaf, 0x72, 0x75, 0xc1, 0x58, 0xa3, 0xb6, 0x2f, 0xa8, 0x49, 0xec, 0xc0,
|
||||
0x26, 0x83, 0x98, 0x8e, 0xed, 0x21, 0xdb, 0x3b, 0xf3, 0xa4, 0x02, 0x8d, 0x5e, 0x5b, 0xf8, 0xca,
|
||||
0x07, 0xc9, 0xe8, 0x11, 0x40, 0x33, 0x36, 0xa8, 0xa5, 0xb3, 0x34, 0x88, 0x7b, 0x50, 0x89, 0xbc,
|
||||
0xcb, 0x5c, 0xc5, 0x20, 0x57, 0xfb, 0xc3, 0x85, 0xaf, 0x3c, 0x8a, 0xda, 0x7f, 0x0d, 0xa1, 0x19,
|
||||
0x9b, 0x91, 0x29, 0xbc, 0x4c, 0x3c, 0x76, 0xa5, 0xb4, 0x63, 0xf7, 0x73, 0xf6, 0x96, 0xb1, 0x6b,
|
||||
0x99, 0x93, 0x9b, 0x73, 0xc3, 0xa5, 0x9a, 0x1b, 0x09, 0x0a, 0x21, 0x77, 0x6c, 0x00, 0x8d, 0xa5,
|
||||
0x2a, 0x3e, 0x05, 0xc6, 0xc4, 0x80, 0xb8, 0x6c, 0x9c, 0xca, 0xed, 0x6a, 0x3c, 0xd3, 0x91, 0x4b,
|
||||
0x33, 0x8a, 0x54, 0x0e, 0xfe, 0x12, 0x3b, 0x2b, 0x7c, 0x09, 0xb4, 0x87, 0x8f, 0x16, 0xbe, 0xf2,
|
||||
0x30, 0x79, 0x6a, 0xd9, 0xbf, 0x7f, 0x22, 0x32, 0x77, 0x2f, 0x44, 0xe6, 0x53, 0x11, 0x59, 0x48,
|
||||
0x4b, 0xe4, 0x5b, 0x1e, 0xa4, 0x1b, 0x44, 0x76, 0x1c, 0x7b, 0x84, 0xdd, 0xe9, 0x7d, 0x93, 0x19,
|
||||
0x51, 0x36, 0x34, 0x27, 0x94, 0xce, 0x5b, 0x28, 0x1b, 0x9a, 0x93, 0x25, 0x65, 0xc1, 0x38, 0xad,
|
||||
0x52, 0x96, 0xfd, 0x17, 0x94, 0xdd, 0xe3, 0x96, 0xfd, 0x8d, 0x83, 0xf5, 0xb8, 0xe0, 0xae, 0x6d,
|
||||
0xa5, 0x5d, 0xaf, 0x35, 0x28, 0x46, 0xab, 0x8b, 0x0f, 0x56, 0x97, 0x11, 0xe9, 0xe2, 0x27, 0x90,
|
||||
0xf3, 0xc8, 0x90, 0x20, 0x5a, 0xec, 0xc6, 0xb3, 0xad, 0xd5, 0x25, 0x79, 0x18, 0x38, 0x0d, 0x86,
|
||||
0xb9, 0xb1, 0x58, 0x85, 0xbb, 0x2d, 0xd6, 0x1d, 0xe1, 0xcd, 0x8f, 0x4a, 0x46, 0xfb, 0x9e, 0x87,
|
||||
0xaa, 0x6e, 0x21, 0x9b, 0xe0, 0x11, 0x46, 0x56, 0x5c, 0xb1, 0xf8, 0x04, 0xf8, 0xa8, 0xce, 0x87,
|
||||
0x73, 0x5f, 0xe1, 0x69, 0x85, 0x25, 0x56, 0x61, 0x50, 0x1a, 0x8f, 0x57, 0x7a, 0xc2, 0xa7, 0xea,
|
||||
0x49, 0xf6, 0xaf, 0x7a, 0x22, 0xdc, 0xa1, 0x27, 0xb9, 0x54, 0x3d, 0xf1, 0x39, 0x28, 0x27, 0xa1,
|
||||
0xff, 0xb1, 0x2f, 0xeb, 0x0e, 0xe4, 0x67, 0x2e, 0x1a, 0xe1, 0xd7, 0x2b, 0xdf, 0xd4, 0xe8, 0x89,
|
||||
0xb5, 0x8f, 0xdc, 0xc9, 0x29, 0xea, 0x51, 0x4c, 0x58, 0x66, 0x78, 0x22, 0x2c, 0xf0, 0x09, 0xac,
|
||||
0xb1, 0xab, 0xf7, 0x86, 0xe4, 0xc4, 0x13, 0xab, 0x90, 0x9b, 0x05, 0x82, 0xc4, 0x51, 0x0e, 0x98,
|
||||
0xa2, 0x8d, 0x60, 0x33, 0xbe, 0x1c, 0x03, 0xa6, 0xec, 0x43, 0x94, 0x87, 0x4f, 0xe6, 0xf9, 0x12,
|
||||
0x0a, 0xe1, 0x57, 0x59, 0x94, 0x01, 0xf0, 0x72, 0x16, 0x5d, 0x96, 0xc0, 0x48, 0x58, 0x82, 0x79,
|
||||
0x19, 0xa1, 0x21, 0x39, 0x73, 0x51, 0xf4, 0x1f, 0x5a, 0xea, 0xac, 0xb2, 0x8f, 0x7f, 0xe0, 0x20,
|
||||
0x47, 0x27, 0x43, 0x7c, 0x01, 0xca, 0x61, 0xbf, 0xd5, 0xef, 0x0e, 0x8e, 0x0e, 0xf4, 0x03, 0xbd,
|
||||
0xaf, 0xb7, 0xbe, 0xd2, 0x5f, 0x75, 0x77, 0x07, 0x47, 0x07, 0x87, 0xbd, 0x6e, 0x47, 0xdf, 0xd3,
|
||||
0xbb, 0xbb, 0x95, 0x4c, 0xed, 0xc1, 0xc5, 0xa5, 0xba, 0x7e, 0x0d, 0x20, 0x4a, 0x00, 0xec, 0x5c,
|
||||
0x60, 0xac, 0x70, 0xb5, 0xe2, 0xc5, 0xa5, 0x2a, 0x04, 0xb2, 0x28, 0xc3, 0x3a, 0xf3, 0xf4, 0x8d,
|
||||
0x6f, 0x5e, 0xf6, 0xba, 0x07, 0x15, 0xbe, 0xb6, 0x76, 0x71, 0xa9, 0x16, 0x42, 0x35, 0x3e, 0x49,
|
||||
0x9d, 0x59, 0x76, 0x32, 0x90, 0x6b, 0xc2, 0x9b, 0xb7, 0x72, 0xa6, 0xdd, 0x7b, 0x37, 0x97, 0xb9,
|
||||
0xf7, 0x73, 0x99, 0xfb, 0x75, 0x2e, 0x73, 0xdf, 0x5d, 0xc9, 0x99, 0xf7, 0x57, 0x72, 0xe6, 0x97,
|
||||
0x2b, 0x39, 0xf3, 0xea, 0xc5, 0xdf, 0xee, 0xa8, 0xd7, 0xcd, 0xe0, 0x35, 0xfd, 0xe9, 0xf3, 0xed,
|
||||
0xc4, 0xbb, 0x9c, 0xee, 0xad, 0xe3, 0x3c, 0x7d, 0x4c, 0x3f, 0xff, 0x33, 0x00, 0x00, 0xff, 0xff,
|
||||
0x7a, 0xce, 0x37, 0x62, 0xb6, 0x0b, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *MsgConnectionOpenInit) Marshal() (dAtA []byte, err error) {
|
||||
|
@ -1064,11 +1065,11 @@ func (m *ConnectionEnd) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||
i = encodeVarintConnection(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x2a
|
||||
dAtA[i] = 0x22
|
||||
if m.State != 0 {
|
||||
i = encodeVarintConnection(dAtA, i, uint64(m.State))
|
||||
i--
|
||||
dAtA[i] = 0x20
|
||||
dAtA[i] = 0x18
|
||||
}
|
||||
if len(m.Versions) > 0 {
|
||||
for iNdEx := len(m.Versions) - 1; iNdEx >= 0; iNdEx-- {
|
||||
|
@ -1076,7 +1077,7 @@ func (m *ConnectionEnd) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||
copy(dAtA[i:], m.Versions[iNdEx])
|
||||
i = encodeVarintConnection(dAtA, i, uint64(len(m.Versions[iNdEx])))
|
||||
i--
|
||||
dAtA[i] = 0x1a
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
}
|
||||
if len(m.ClientID) > 0 {
|
||||
|
@ -1084,7 +1085,7 @@ func (m *ConnectionEnd) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||
copy(dAtA[i:], m.ClientID)
|
||||
i = encodeVarintConnection(dAtA, i, uint64(len(m.ClientID)))
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
@ -2537,7 +2538,7 @@ func (m *ConnectionEnd) Unmarshal(dAtA []byte) error {
|
|||
return fmt.Errorf("proto: ConnectionEnd: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 2:
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field ClientID", wireType)
|
||||
}
|
||||
|
@ -2569,7 +2570,7 @@ func (m *ConnectionEnd) Unmarshal(dAtA []byte) error {
|
|||
}
|
||||
m.ClientID = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 3:
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Versions", wireType)
|
||||
}
|
||||
|
@ -2601,7 +2602,7 @@ func (m *ConnectionEnd) Unmarshal(dAtA []byte) error {
|
|||
}
|
||||
m.Versions = append(m.Versions, string(dAtA[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
case 4:
|
||||
case 3:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field State", wireType)
|
||||
}
|
||||
|
@ -2620,7 +2621,7 @@ func (m *ConnectionEnd) Unmarshal(dAtA []byte) error {
|
|||
break
|
||||
}
|
||||
}
|
||||
case 5:
|
||||
case 4:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Counterparty", wireType)
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue