github.com/Finschia/finschia-sdk@v0.49.1/x/collection/collection.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: lbm/collection/v1/collection.proto
     3  
     4  package collection
     5  
     6  import (
     7  	fmt "fmt"
     8  	github_com_Finschia_finschia_sdk_types "github.com/Finschia/finschia-sdk/types"
     9  	_ "github.com/gogo/protobuf/gogoproto"
    10  	proto "github.com/gogo/protobuf/proto"
    11  	_ "github.com/regen-network/cosmos-proto"
    12  	io "io"
    13  	math "math"
    14  	math_bits "math/bits"
    15  )
    16  
    17  // Reference imports to suppress errors if they are not otherwise used.
    18  var _ = proto.Marshal
    19  var _ = fmt.Errorf
    20  var _ = math.Inf
    21  
    22  // This is a compile-time assertion to ensure that this generated file
    23  // is compatible with the proto package it is being compiled against.
    24  // A compilation error at this line likely means your copy of the
    25  // proto package needs to be updated.
    26  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    27  
    28  // Permission enumerates the valid permissions on a contract.
    29  type Permission int32
    30  
    31  const (
    32  	// unspecified defines the default permission which is invalid.
    33  	PermissionUnspecified Permission = 0
    34  	// PERMISSION_ISSUE defines a permission to create a token class.
    35  	PermissionIssue Permission = 1
    36  	// PERMISSION_MODIFY defines a permission to modify a contract.
    37  	PermissionModify Permission = 2
    38  	// PERMISSION_MINT defines a permission to mint tokens of a contract.
    39  	PermissionMint Permission = 3
    40  	// PERMISSION_BURN defines a permission to burn tokens of a contract.
    41  	PermissionBurn Permission = 4
    42  )
    43  
    44  var Permission_name = map[int32]string{
    45  	0: "PERMISSION_UNSPECIFIED",
    46  	1: "PERMISSION_ISSUE",
    47  	2: "PERMISSION_MODIFY",
    48  	3: "PERMISSION_MINT",
    49  	4: "PERMISSION_BURN",
    50  }
    51  
    52  var Permission_value = map[string]int32{
    53  	"PERMISSION_UNSPECIFIED": 0,
    54  	"PERMISSION_ISSUE":       1,
    55  	"PERMISSION_MODIFY":      2,
    56  	"PERMISSION_MINT":        3,
    57  	"PERMISSION_BURN":        4,
    58  }
    59  
    60  func (x Permission) String() string {
    61  	return proto.EnumName(Permission_name, int32(x))
    62  }
    63  
    64  func (Permission) EnumDescriptor() ([]byte, []int) {
    65  	return fileDescriptor_bb15fea9f4c37044, []int{0}
    66  }
    67  
    68  // Deprecated: use Permission
    69  //
    70  // LegacyPermission enumerates the valid permissions on a contract.
    71  type LegacyPermission int32
    72  
    73  const (
    74  	// unspecified defines the default permission which is invalid.
    75  	LegacyPermissionUnspecified LegacyPermission = 0
    76  	// issue defines a permission to create a token class.
    77  	LegacyPermissionIssue LegacyPermission = 1
    78  	// modify defines a permission to modify a contract.
    79  	LegacyPermissionModify LegacyPermission = 2
    80  	// mint defines a permission to mint tokens of a contract.
    81  	LegacyPermissionMint LegacyPermission = 3
    82  	// burn defines a permission to burn tokens of a contract.
    83  	LegacyPermissionBurn LegacyPermission = 4
    84  )
    85  
    86  var LegacyPermission_name = map[int32]string{
    87  	0: "LEGACY_PERMISSION_UNSPECIFIED",
    88  	1: "LEGACY_PERMISSION_ISSUE",
    89  	2: "LEGACY_PERMISSION_MODIFY",
    90  	3: "LEGACY_PERMISSION_MINT",
    91  	4: "LEGACY_PERMISSION_BURN",
    92  }
    93  
    94  var LegacyPermission_value = map[string]int32{
    95  	"LEGACY_PERMISSION_UNSPECIFIED": 0,
    96  	"LEGACY_PERMISSION_ISSUE":       1,
    97  	"LEGACY_PERMISSION_MODIFY":      2,
    98  	"LEGACY_PERMISSION_MINT":        3,
    99  	"LEGACY_PERMISSION_BURN":        4,
   100  }
   101  
   102  func (LegacyPermission) EnumDescriptor() ([]byte, []int) {
   103  	return fileDescriptor_bb15fea9f4c37044, []int{1}
   104  }
   105  
   106  // Params defines the parameters for the collection module.
   107  type Params struct {
   108  	DepthLimit uint32 `protobuf:"varint,1,opt,name=depth_limit,json=depthLimit,proto3" json:"depth_limit,omitempty"` // Deprecated: Do not use.
   109  	WidthLimit uint32 `protobuf:"varint,2,opt,name=width_limit,json=widthLimit,proto3" json:"width_limit,omitempty"` // Deprecated: Do not use.
   110  }
   111  
   112  func (m *Params) Reset()         { *m = Params{} }
   113  func (m *Params) String() string { return proto.CompactTextString(m) }
   114  func (*Params) ProtoMessage()    {}
   115  func (*Params) Descriptor() ([]byte, []int) {
   116  	return fileDescriptor_bb15fea9f4c37044, []int{0}
   117  }
   118  func (m *Params) XXX_Unmarshal(b []byte) error {
   119  	return m.Unmarshal(b)
   120  }
   121  func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   122  	if deterministic {
   123  		return xxx_messageInfo_Params.Marshal(b, m, deterministic)
   124  	} else {
   125  		b = b[:cap(b)]
   126  		n, err := m.MarshalToSizedBuffer(b)
   127  		if err != nil {
   128  			return nil, err
   129  		}
   130  		return b[:n], nil
   131  	}
   132  }
   133  func (m *Params) XXX_Merge(src proto.Message) {
   134  	xxx_messageInfo_Params.Merge(m, src)
   135  }
   136  func (m *Params) XXX_Size() int {
   137  	return m.Size()
   138  }
   139  func (m *Params) XXX_DiscardUnknown() {
   140  	xxx_messageInfo_Params.DiscardUnknown(m)
   141  }
   142  
   143  var xxx_messageInfo_Params proto.InternalMessageInfo
   144  
   145  // Contract defines the information of the contract for the collection.
   146  type Contract struct {
   147  	// contract_id defines the unique identifier of the contract.
   148  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   149  	// name defines the human-readable name of the contract.
   150  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   151  	// meta is a brief description of the contract.
   152  	Meta string `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
   153  	// uri for the contract image stored off chain.
   154  	Uri string `protobuf:"bytes,4,opt,name=uri,proto3" json:"uri,omitempty"`
   155  }
   156  
   157  func (m *Contract) Reset()         { *m = Contract{} }
   158  func (m *Contract) String() string { return proto.CompactTextString(m) }
   159  func (*Contract) ProtoMessage()    {}
   160  func (*Contract) Descriptor() ([]byte, []int) {
   161  	return fileDescriptor_bb15fea9f4c37044, []int{1}
   162  }
   163  func (m *Contract) XXX_Unmarshal(b []byte) error {
   164  	return m.Unmarshal(b)
   165  }
   166  func (m *Contract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   167  	if deterministic {
   168  		return xxx_messageInfo_Contract.Marshal(b, m, deterministic)
   169  	} else {
   170  		b = b[:cap(b)]
   171  		n, err := m.MarshalToSizedBuffer(b)
   172  		if err != nil {
   173  			return nil, err
   174  		}
   175  		return b[:n], nil
   176  	}
   177  }
   178  func (m *Contract) XXX_Merge(src proto.Message) {
   179  	xxx_messageInfo_Contract.Merge(m, src)
   180  }
   181  func (m *Contract) XXX_Size() int {
   182  	return m.Size()
   183  }
   184  func (m *Contract) XXX_DiscardUnknown() {
   185  	xxx_messageInfo_Contract.DiscardUnknown(m)
   186  }
   187  
   188  var xxx_messageInfo_Contract proto.InternalMessageInfo
   189  
   190  // FTClass defines the class of fungible token.
   191  //
   192  // Since: 0.46.0 (finschia)
   193  //
   194  // Deprecated: Do not use.
   195  type FTClass struct {
   196  	// id defines the unique identifier of the token class.
   197  	// Note: size of the class id is 8 in length.
   198  	// Note: token id of the fungible token would be `id` + `00000000`.
   199  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   200  	// name defines the human-readable name of the token class.
   201  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   202  	// meta is a brief description of the token class.
   203  	Meta string `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
   204  	// decimals is the number of decimals which one must divide the amount by to get its user representation.
   205  	Decimals int32 `protobuf:"varint,4,opt,name=decimals,proto3" json:"decimals,omitempty"`
   206  	// mintable represents whether the token class is allowed to mint or burn its tokens.
   207  	Mintable bool `protobuf:"varint,5,opt,name=mintable,proto3" json:"mintable,omitempty"`
   208  }
   209  
   210  func (m *FTClass) Reset()         { *m = FTClass{} }
   211  func (m *FTClass) String() string { return proto.CompactTextString(m) }
   212  func (*FTClass) ProtoMessage()    {}
   213  func (*FTClass) Descriptor() ([]byte, []int) {
   214  	return fileDescriptor_bb15fea9f4c37044, []int{2}
   215  }
   216  func (m *FTClass) XXX_Unmarshal(b []byte) error {
   217  	return m.Unmarshal(b)
   218  }
   219  func (m *FTClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   220  	if deterministic {
   221  		return xxx_messageInfo_FTClass.Marshal(b, m, deterministic)
   222  	} else {
   223  		b = b[:cap(b)]
   224  		n, err := m.MarshalToSizedBuffer(b)
   225  		if err != nil {
   226  			return nil, err
   227  		}
   228  		return b[:n], nil
   229  	}
   230  }
   231  func (m *FTClass) XXX_Merge(src proto.Message) {
   232  	xxx_messageInfo_FTClass.Merge(m, src)
   233  }
   234  func (m *FTClass) XXX_Size() int {
   235  	return m.Size()
   236  }
   237  func (m *FTClass) XXX_DiscardUnknown() {
   238  	xxx_messageInfo_FTClass.DiscardUnknown(m)
   239  }
   240  
   241  var xxx_messageInfo_FTClass proto.InternalMessageInfo
   242  
   243  func (m *FTClass) GetId() string {
   244  	if m != nil {
   245  		return m.Id
   246  	}
   247  	return ""
   248  }
   249  
   250  func (m *FTClass) GetName() string {
   251  	if m != nil {
   252  		return m.Name
   253  	}
   254  	return ""
   255  }
   256  
   257  func (m *FTClass) GetMeta() string {
   258  	if m != nil {
   259  		return m.Meta
   260  	}
   261  	return ""
   262  }
   263  
   264  func (m *FTClass) GetDecimals() int32 {
   265  	if m != nil {
   266  		return m.Decimals
   267  	}
   268  	return 0
   269  }
   270  
   271  func (m *FTClass) GetMintable() bool {
   272  	if m != nil {
   273  		return m.Mintable
   274  	}
   275  	return false
   276  }
   277  
   278  // NFTClass defines the class of non-fungible token.
   279  //
   280  // Since: 0.46.0 (finschia)
   281  type NFTClass struct {
   282  	// id defines the unique identifier of the token class.
   283  	// Note: size of the class id is 8 in length.
   284  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   285  	// name defines the human-readable name of the token class.
   286  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   287  	// meta is a brief description of the token class.
   288  	Meta string `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
   289  }
   290  
   291  func (m *NFTClass) Reset()         { *m = NFTClass{} }
   292  func (m *NFTClass) String() string { return proto.CompactTextString(m) }
   293  func (*NFTClass) ProtoMessage()    {}
   294  func (*NFTClass) Descriptor() ([]byte, []int) {
   295  	return fileDescriptor_bb15fea9f4c37044, []int{3}
   296  }
   297  func (m *NFTClass) XXX_Unmarshal(b []byte) error {
   298  	return m.Unmarshal(b)
   299  }
   300  func (m *NFTClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   301  	if deterministic {
   302  		return xxx_messageInfo_NFTClass.Marshal(b, m, deterministic)
   303  	} else {
   304  		b = b[:cap(b)]
   305  		n, err := m.MarshalToSizedBuffer(b)
   306  		if err != nil {
   307  			return nil, err
   308  		}
   309  		return b[:n], nil
   310  	}
   311  }
   312  func (m *NFTClass) XXX_Merge(src proto.Message) {
   313  	xxx_messageInfo_NFTClass.Merge(m, src)
   314  }
   315  func (m *NFTClass) XXX_Size() int {
   316  	return m.Size()
   317  }
   318  func (m *NFTClass) XXX_DiscardUnknown() {
   319  	xxx_messageInfo_NFTClass.DiscardUnknown(m)
   320  }
   321  
   322  var xxx_messageInfo_NFTClass proto.InternalMessageInfo
   323  
   324  func (m *NFTClass) GetId() string {
   325  	if m != nil {
   326  		return m.Id
   327  	}
   328  	return ""
   329  }
   330  
   331  func (m *NFTClass) GetName() string {
   332  	if m != nil {
   333  		return m.Name
   334  	}
   335  	return ""
   336  }
   337  
   338  func (m *NFTClass) GetMeta() string {
   339  	if m != nil {
   340  		return m.Meta
   341  	}
   342  	return ""
   343  }
   344  
   345  // NFT defines the information of non-fungible token.
   346  //
   347  // Since: 0.46.0 (finschia)
   348  type NFT struct {
   349  	// token id defines the unique identifier of the token.
   350  	TokenId string `protobuf:"bytes,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
   351  	// name defines the human-readable name of the token.
   352  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   353  	// meta is a brief description of the token.
   354  	Meta string `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
   355  }
   356  
   357  func (m *NFT) Reset()         { *m = NFT{} }
   358  func (m *NFT) String() string { return proto.CompactTextString(m) }
   359  func (*NFT) ProtoMessage()    {}
   360  func (*NFT) Descriptor() ([]byte, []int) {
   361  	return fileDescriptor_bb15fea9f4c37044, []int{4}
   362  }
   363  func (m *NFT) XXX_Unmarshal(b []byte) error {
   364  	return m.Unmarshal(b)
   365  }
   366  func (m *NFT) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   367  	if deterministic {
   368  		return xxx_messageInfo_NFT.Marshal(b, m, deterministic)
   369  	} else {
   370  		b = b[:cap(b)]
   371  		n, err := m.MarshalToSizedBuffer(b)
   372  		if err != nil {
   373  			return nil, err
   374  		}
   375  		return b[:n], nil
   376  	}
   377  }
   378  func (m *NFT) XXX_Merge(src proto.Message) {
   379  	xxx_messageInfo_NFT.Merge(m, src)
   380  }
   381  func (m *NFT) XXX_Size() int {
   382  	return m.Size()
   383  }
   384  func (m *NFT) XXX_DiscardUnknown() {
   385  	xxx_messageInfo_NFT.DiscardUnknown(m)
   386  }
   387  
   388  var xxx_messageInfo_NFT proto.InternalMessageInfo
   389  
   390  // Deprecated: use NFT
   391  //
   392  // OwnerNFT defines the information of non-fungible token.
   393  type OwnerNFT struct {
   394  	// contract id associated with the contract.
   395  	ContractId string `protobuf:"bytes,1,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"`
   396  	// id defines the unique identifier of the token.
   397  	TokenId string `protobuf:"bytes,2,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
   398  	// name defines the human-readable name of the token.
   399  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   400  	// meta is a brief description of the token.
   401  	Meta string `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
   402  	// owner of the token.
   403  	Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
   404  }
   405  
   406  func (m *OwnerNFT) Reset()         { *m = OwnerNFT{} }
   407  func (m *OwnerNFT) String() string { return proto.CompactTextString(m) }
   408  func (*OwnerNFT) ProtoMessage()    {}
   409  func (*OwnerNFT) Descriptor() ([]byte, []int) {
   410  	return fileDescriptor_bb15fea9f4c37044, []int{5}
   411  }
   412  func (m *OwnerNFT) XXX_Unmarshal(b []byte) error {
   413  	return m.Unmarshal(b)
   414  }
   415  func (m *OwnerNFT) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   416  	if deterministic {
   417  		return xxx_messageInfo_OwnerNFT.Marshal(b, m, deterministic)
   418  	} else {
   419  		b = b[:cap(b)]
   420  		n, err := m.MarshalToSizedBuffer(b)
   421  		if err != nil {
   422  			return nil, err
   423  		}
   424  		return b[:n], nil
   425  	}
   426  }
   427  func (m *OwnerNFT) XXX_Merge(src proto.Message) {
   428  	xxx_messageInfo_OwnerNFT.Merge(m, src)
   429  }
   430  func (m *OwnerNFT) XXX_Size() int {
   431  	return m.Size()
   432  }
   433  func (m *OwnerNFT) XXX_DiscardUnknown() {
   434  	xxx_messageInfo_OwnerNFT.DiscardUnknown(m)
   435  }
   436  
   437  var xxx_messageInfo_OwnerNFT proto.InternalMessageInfo
   438  
   439  // FT defines the information of fungible token.
   440  //
   441  // Deprecated: Do not use.
   442  type FT struct {
   443  	// contract id associated with the contract.
   444  	ContractId string `protobuf:"bytes,1,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"`
   445  	// token id defines the unique identifier of the fungible token.
   446  	TokenId string `protobuf:"bytes,2,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
   447  	// name defines the human-readable name of the fungible token.
   448  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   449  	// meta is a brief description of the fungible token.
   450  	Meta string `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
   451  	// decimals is the number of decimals which one must divide the amount by to get its user representation.
   452  	Decimals int32 `protobuf:"varint,5,opt,name=decimals,proto3" json:"decimals,omitempty"`
   453  	// mintable represents whether the fungible token is allowed to be minted or burnt.
   454  	Mintable bool `protobuf:"varint,6,opt,name=mintable,proto3" json:"mintable,omitempty"`
   455  }
   456  
   457  func (m *FT) Reset()         { *m = FT{} }
   458  func (m *FT) String() string { return proto.CompactTextString(m) }
   459  func (*FT) ProtoMessage()    {}
   460  func (*FT) Descriptor() ([]byte, []int) {
   461  	return fileDescriptor_bb15fea9f4c37044, []int{6}
   462  }
   463  func (m *FT) XXX_Unmarshal(b []byte) error {
   464  	return m.Unmarshal(b)
   465  }
   466  func (m *FT) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   467  	if deterministic {
   468  		return xxx_messageInfo_FT.Marshal(b, m, deterministic)
   469  	} else {
   470  		b = b[:cap(b)]
   471  		n, err := m.MarshalToSizedBuffer(b)
   472  		if err != nil {
   473  			return nil, err
   474  		}
   475  		return b[:n], nil
   476  	}
   477  }
   478  func (m *FT) XXX_Merge(src proto.Message) {
   479  	xxx_messageInfo_FT.Merge(m, src)
   480  }
   481  func (m *FT) XXX_Size() int {
   482  	return m.Size()
   483  }
   484  func (m *FT) XXX_DiscardUnknown() {
   485  	xxx_messageInfo_FT.DiscardUnknown(m)
   486  }
   487  
   488  var xxx_messageInfo_FT proto.InternalMessageInfo
   489  
   490  // Deprecated: use TokenClass
   491  //
   492  // TokenType defines the information of token type.
   493  // It represents a NFTClass whose class_id is token_type.
   494  //
   495  // Note: There is no TokenType instance for FTClass.
   496  type TokenType struct {
   497  	// contract id associated with the contract.
   498  	ContractId string `protobuf:"bytes,1,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"`
   499  	// token type defines the unique identifier of the token type.
   500  	// the format of the value is identical to that of class_id.
   501  	TokenType string `protobuf:"bytes,2,opt,name=token_type,json=tokenType,proto3" json:"token_type,omitempty"`
   502  	// name defines the human-readable name of the token type.
   503  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   504  	// meta is a brief description of the token type.
   505  	Meta string `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
   506  }
   507  
   508  func (m *TokenType) Reset()         { *m = TokenType{} }
   509  func (m *TokenType) String() string { return proto.CompactTextString(m) }
   510  func (*TokenType) ProtoMessage()    {}
   511  func (*TokenType) Descriptor() ([]byte, []int) {
   512  	return fileDescriptor_bb15fea9f4c37044, []int{7}
   513  }
   514  func (m *TokenType) XXX_Unmarshal(b []byte) error {
   515  	return m.Unmarshal(b)
   516  }
   517  func (m *TokenType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   518  	if deterministic {
   519  		return xxx_messageInfo_TokenType.Marshal(b, m, deterministic)
   520  	} else {
   521  		b = b[:cap(b)]
   522  		n, err := m.MarshalToSizedBuffer(b)
   523  		if err != nil {
   524  			return nil, err
   525  		}
   526  		return b[:n], nil
   527  	}
   528  }
   529  func (m *TokenType) XXX_Merge(src proto.Message) {
   530  	xxx_messageInfo_TokenType.Merge(m, src)
   531  }
   532  func (m *TokenType) XXX_Size() int {
   533  	return m.Size()
   534  }
   535  func (m *TokenType) XXX_DiscardUnknown() {
   536  	xxx_messageInfo_TokenType.DiscardUnknown(m)
   537  }
   538  
   539  var xxx_messageInfo_TokenType proto.InternalMessageInfo
   540  
   541  // Coin defines a token with a token id and an amount.
   542  type Coin struct {
   543  	// token id associated with the token.
   544  	TokenId string `protobuf:"bytes,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
   545  	// amount of the token.
   546  	Amount github_com_Finschia_finschia_sdk_types.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/Finschia/finschia-sdk/types.Int" json:"amount"`
   547  }
   548  
   549  func (m *Coin) Reset()      { *m = Coin{} }
   550  func (*Coin) ProtoMessage() {}
   551  func (*Coin) Descriptor() ([]byte, []int) {
   552  	return fileDescriptor_bb15fea9f4c37044, []int{8}
   553  }
   554  func (m *Coin) XXX_Unmarshal(b []byte) error {
   555  	return m.Unmarshal(b)
   556  }
   557  func (m *Coin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   558  	if deterministic {
   559  		return xxx_messageInfo_Coin.Marshal(b, m, deterministic)
   560  	} else {
   561  		b = b[:cap(b)]
   562  		n, err := m.MarshalToSizedBuffer(b)
   563  		if err != nil {
   564  			return nil, err
   565  		}
   566  		return b[:n], nil
   567  	}
   568  }
   569  func (m *Coin) XXX_Merge(src proto.Message) {
   570  	xxx_messageInfo_Coin.Merge(m, src)
   571  }
   572  func (m *Coin) XXX_Size() int {
   573  	return m.Size()
   574  }
   575  func (m *Coin) XXX_DiscardUnknown() {
   576  	xxx_messageInfo_Coin.DiscardUnknown(m)
   577  }
   578  
   579  var xxx_messageInfo_Coin proto.InternalMessageInfo
   580  
   581  // Grant defines permission given to a grantee.
   582  //
   583  // Since: 0.46.0 (finschia)
   584  type Grant struct {
   585  	// address of the grantee.
   586  	Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"`
   587  	// permission on the contract.
   588  	Permission Permission `protobuf:"varint,2,opt,name=permission,proto3,enum=lbm.collection.v1.Permission" json:"permission,omitempty"`
   589  }
   590  
   591  func (m *Grant) Reset()         { *m = Grant{} }
   592  func (m *Grant) String() string { return proto.CompactTextString(m) }
   593  func (*Grant) ProtoMessage()    {}
   594  func (*Grant) Descriptor() ([]byte, []int) {
   595  	return fileDescriptor_bb15fea9f4c37044, []int{9}
   596  }
   597  func (m *Grant) XXX_Unmarshal(b []byte) error {
   598  	return m.Unmarshal(b)
   599  }
   600  func (m *Grant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   601  	if deterministic {
   602  		return xxx_messageInfo_Grant.Marshal(b, m, deterministic)
   603  	} else {
   604  		b = b[:cap(b)]
   605  		n, err := m.MarshalToSizedBuffer(b)
   606  		if err != nil {
   607  			return nil, err
   608  		}
   609  		return b[:n], nil
   610  	}
   611  }
   612  func (m *Grant) XXX_Merge(src proto.Message) {
   613  	xxx_messageInfo_Grant.Merge(m, src)
   614  }
   615  func (m *Grant) XXX_Size() int {
   616  	return m.Size()
   617  }
   618  func (m *Grant) XXX_DiscardUnknown() {
   619  	xxx_messageInfo_Grant.DiscardUnknown(m)
   620  }
   621  
   622  var xxx_messageInfo_Grant proto.InternalMessageInfo
   623  
   624  // Authorization defines an authorization given to the operator on tokens of the holder.
   625  //
   626  // Since: 0.46.0 (finschia)
   627  type Authorization struct {
   628  	// address of the holder which authorizes the manipulation of its tokens.
   629  	Holder string `protobuf:"bytes,1,opt,name=holder,proto3" json:"holder,omitempty"`
   630  	// address of the operator which the authorization is granted to.
   631  	Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"`
   632  }
   633  
   634  func (m *Authorization) Reset()         { *m = Authorization{} }
   635  func (m *Authorization) String() string { return proto.CompactTextString(m) }
   636  func (*Authorization) ProtoMessage()    {}
   637  func (*Authorization) Descriptor() ([]byte, []int) {
   638  	return fileDescriptor_bb15fea9f4c37044, []int{10}
   639  }
   640  func (m *Authorization) XXX_Unmarshal(b []byte) error {
   641  	return m.Unmarshal(b)
   642  }
   643  func (m *Authorization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   644  	if deterministic {
   645  		return xxx_messageInfo_Authorization.Marshal(b, m, deterministic)
   646  	} else {
   647  		b = b[:cap(b)]
   648  		n, err := m.MarshalToSizedBuffer(b)
   649  		if err != nil {
   650  			return nil, err
   651  		}
   652  		return b[:n], nil
   653  	}
   654  }
   655  func (m *Authorization) XXX_Merge(src proto.Message) {
   656  	xxx_messageInfo_Authorization.Merge(m, src)
   657  }
   658  func (m *Authorization) XXX_Size() int {
   659  	return m.Size()
   660  }
   661  func (m *Authorization) XXX_DiscardUnknown() {
   662  	xxx_messageInfo_Authorization.DiscardUnknown(m)
   663  }
   664  
   665  var xxx_messageInfo_Authorization proto.InternalMessageInfo
   666  
   667  // Attribute defines a key and value of the attribute.
   668  //
   669  // Since: 0.46.0 (finschia)
   670  type Attribute struct {
   671  	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   672  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   673  }
   674  
   675  func (m *Attribute) Reset()         { *m = Attribute{} }
   676  func (m *Attribute) String() string { return proto.CompactTextString(m) }
   677  func (*Attribute) ProtoMessage()    {}
   678  func (*Attribute) Descriptor() ([]byte, []int) {
   679  	return fileDescriptor_bb15fea9f4c37044, []int{11}
   680  }
   681  func (m *Attribute) XXX_Unmarshal(b []byte) error {
   682  	return m.Unmarshal(b)
   683  }
   684  func (m *Attribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   685  	if deterministic {
   686  		return xxx_messageInfo_Attribute.Marshal(b, m, deterministic)
   687  	} else {
   688  		b = b[:cap(b)]
   689  		n, err := m.MarshalToSizedBuffer(b)
   690  		if err != nil {
   691  			return nil, err
   692  		}
   693  		return b[:n], nil
   694  	}
   695  }
   696  func (m *Attribute) XXX_Merge(src proto.Message) {
   697  	xxx_messageInfo_Attribute.Merge(m, src)
   698  }
   699  func (m *Attribute) XXX_Size() int {
   700  	return m.Size()
   701  }
   702  func (m *Attribute) XXX_DiscardUnknown() {
   703  	xxx_messageInfo_Attribute.DiscardUnknown(m)
   704  }
   705  
   706  var xxx_messageInfo_Attribute proto.InternalMessageInfo
   707  
   708  func init() {
   709  	proto.RegisterEnum("lbm.collection.v1.Permission", Permission_name, Permission_value)
   710  	proto.RegisterEnum("lbm.collection.v1.LegacyPermission", LegacyPermission_name, LegacyPermission_value)
   711  	proto.RegisterType((*Params)(nil), "lbm.collection.v1.Params")
   712  	proto.RegisterType((*Contract)(nil), "lbm.collection.v1.Contract")
   713  	proto.RegisterType((*FTClass)(nil), "lbm.collection.v1.FTClass")
   714  	proto.RegisterType((*NFTClass)(nil), "lbm.collection.v1.NFTClass")
   715  	proto.RegisterType((*NFT)(nil), "lbm.collection.v1.NFT")
   716  	proto.RegisterType((*OwnerNFT)(nil), "lbm.collection.v1.OwnerNFT")
   717  	proto.RegisterType((*FT)(nil), "lbm.collection.v1.FT")
   718  	proto.RegisterType((*TokenType)(nil), "lbm.collection.v1.TokenType")
   719  	proto.RegisterType((*Coin)(nil), "lbm.collection.v1.Coin")
   720  	proto.RegisterType((*Grant)(nil), "lbm.collection.v1.Grant")
   721  	proto.RegisterType((*Authorization)(nil), "lbm.collection.v1.Authorization")
   722  	proto.RegisterType((*Attribute)(nil), "lbm.collection.v1.Attribute")
   723  }
   724  
   725  func init() {
   726  	proto.RegisterFile("lbm/collection/v1/collection.proto", fileDescriptor_bb15fea9f4c37044)
   727  }
   728  
   729  var fileDescriptor_bb15fea9f4c37044 = []byte{
   730  	// 886 bytes of a gzipped FileDescriptorProto
   731  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x4f, 0x6f, 0xe3, 0xd4,
   732  	0x17, 0xb5, 0xf3, 0xaf, 0xc9, 0xad, 0xa6, 0x93, 0xf1, 0x2f, 0xbf, 0xe2, 0x06, 0xd5, 0x89, 0xcc,
   733  	0x82, 0xa1, 0xa8, 0x89, 0x66, 0x06, 0x10, 0xaa, 0xc4, 0xa2, 0xc9, 0x24, 0x83, 0x51, 0x9b, 0x56,
   734  	0x4e, 0x8a, 0x34, 0x6c, 0x82, 0x63, 0xbf, 0x26, 0x4f, 0xb5, 0xfd, 0x22, 0xfb, 0xa5, 0x25, 0x7c,
   735  	0x82, 0x51, 0x36, 0xb0, 0x64, 0x13, 0xa9, 0x12, 0x2c, 0x66, 0xc3, 0x6e, 0xd6, 0xac, 0xbb, 0x1c,
   736  	0xcd, 0x0a, 0xb1, 0x18, 0x41, 0xbb, 0x61, 0xcf, 0x17, 0x40, 0xef, 0xd9, 0x71, 0x4c, 0x12, 0x66,
   737  	0x46, 0x20, 0xb1, 0xbb, 0xf7, 0xbe, 0x73, 0xce, 0xbd, 0x3e, 0xd7, 0xf6, 0x03, 0xd5, 0xee, 0x39,
   738  	0x55, 0x93, 0xd8, 0x36, 0x32, 0x29, 0x26, 0x6e, 0xf5, 0xfc, 0x5e, 0x2c, 0xab, 0x0c, 0x3d, 0x42,
   739  	0x89, 0x74, 0xc7, 0xee, 0x39, 0x95, 0x58, 0xf5, 0xfc, 0x5e, 0xb1, 0xd0, 0x27, 0x7d, 0xc2, 0x4f,
   740  	0xab, 0x2c, 0x0a, 0x80, 0xc5, 0x2d, 0x93, 0xf8, 0x0e, 0xf1, 0xbb, 0xc1, 0x41, 0x90, 0x04, 0x47,
   741  	0xaa, 0x0e, 0x99, 0x63, 0xc3, 0x33, 0x1c, 0x5f, 0x7a, 0x07, 0xd6, 0x2d, 0x34, 0xa4, 0x83, 0xae,
   742  	0x8d, 0x1d, 0x4c, 0x65, 0xb1, 0x2c, 0xde, 0xbd, 0x55, 0x4b, 0xc8, 0xa2, 0x0e, 0xbc, 0x7c, 0xc0,
   743  	0xaa, 0x0c, 0x74, 0x81, 0xad, 0x08, 0x94, 0x98, 0x83, 0x78, 0x99, 0x83, 0xd4, 0x0e, 0x64, 0xeb,
   744  	0xc4, 0xa5, 0x9e, 0x61, 0x52, 0x69, 0x03, 0x12, 0xd8, 0xe2, 0x62, 0x39, 0x3d, 0x81, 0x2d, 0x49,
   745  	0x82, 0x94, 0x6b, 0x38, 0x88, 0x33, 0x73, 0x3a, 0x8f, 0x59, 0xcd, 0x41, 0xd4, 0x90, 0x93, 0x41,
   746  	0x8d, 0xc5, 0x52, 0x1e, 0x92, 0x23, 0x0f, 0xcb, 0x29, 0x5e, 0x62, 0xa1, 0xfa, 0x8d, 0x08, 0x6b,
   747  	0xcd, 0x4e, 0xdd, 0x36, 0x7c, 0xff, 0x1f, 0xab, 0x16, 0x21, 0x6b, 0x21, 0x13, 0x3b, 0x86, 0xed,
   748  	0x73, 0xe9, 0xb4, 0x1e, 0xe5, 0xec, 0xcc, 0xc1, 0x2e, 0x35, 0x7a, 0x36, 0x92, 0xd3, 0x65, 0xf1,
   749  	0x6e, 0x56, 0x8f, 0xf2, 0xbd, 0xc2, 0x93, 0xcb, 0x92, 0xf8, 0xe2, 0xd9, 0x2e, 0x74, 0xc8, 0x19,
   750  	0x72, 0xf9, 0x0c, 0xb2, 0xa8, 0x7e, 0x0e, 0xd9, 0xd6, 0xbf, 0x9c, 0x68, 0x4f, 0x5a, 0x56, 0x56,
   751  	0x3f, 0x85, 0x64, 0xab, 0xd9, 0x91, 0xb6, 0x20, 0x4b, 0x59, 0xb1, 0x1b, 0x09, 0xaf, 0xf1, 0x5c,
   752  	0x7b, 0x63, 0x75, 0xe6, 0x59, 0xf6, 0xe8, 0xc2, 0x45, 0x1e, 0xd3, 0x2b, 0xc1, 0xba, 0x19, 0xae,
   753  	0x65, 0x2e, 0x09, 0xb3, 0x92, 0x66, 0xfd, 0xa5, 0x61, 0x62, 0x75, 0xc3, 0xe4, 0x8a, 0x86, 0xa9,
   754  	0x98, 0xc1, 0x05, 0x48, 0x13, 0xd6, 0x8f, 0x3b, 0x98, 0xd3, 0x83, 0x64, 0x2f, 0xf7, 0xe2, 0xd9,
   755  	0x6e, 0x9a, 0x3f, 0xa0, 0xfa, 0xa3, 0x08, 0x89, 0xff, 0x68, 0x96, 0xf8, 0xb2, 0xd3, 0xaf, 0x58,
   756  	0x76, 0x66, 0x61, 0xd9, 0xeb, 0xd1, 0xb4, 0xb2, 0xa8, 0xfa, 0x90, 0xe3, 0x61, 0x67, 0x3c, 0x44,
   757  	0xaf, 0x9f, 0x7a, 0x1b, 0x20, 0x98, 0x9a, 0x8e, 0x87, 0xb3, 0xed, 0xe4, 0x68, 0xc4, 0x7f, 0xc3,
   758  	0xc9, 0xd5, 0x0b, 0x48, 0xd5, 0x09, 0x76, 0x5f, 0xf5, 0x06, 0x7c, 0x06, 0x19, 0xc3, 0x21, 0x23,
   759  	0x37, 0xf8, 0x06, 0x73, 0xb5, 0xfb, 0x57, 0x2f, 0x4b, 0xc2, 0x2f, 0x2f, 0x4b, 0x3b, 0x7d, 0x4c,
   760  	0x07, 0xa3, 0x5e, 0xc5, 0x24, 0x4e, 0xb5, 0x89, 0x5d, 0xdf, 0x1c, 0x60, 0xa3, 0x7a, 0x1a, 0x06,
   761  	0xbb, 0xbe, 0x75, 0x56, 0x65, 0xa3, 0xf9, 0x15, 0xcd, 0xa5, 0x7a, 0xa8, 0xb0, 0x97, 0xfd, 0xee,
   762  	0xb2, 0x24, 0xfc, 0x7e, 0x59, 0x12, 0xd5, 0x2f, 0x21, 0xfd, 0xc8, 0x33, 0x5c, 0x2a, 0xc9, 0xb0,
   763  	0xd6, 0x67, 0x01, 0x42, 0xb3, 0xc6, 0x61, 0x2a, 0x7d, 0x02, 0x30, 0x44, 0x9e, 0x83, 0x7d, 0x1f,
   764  	0x13, 0x97, 0x37, 0xdf, 0xb8, 0xbf, 0x5d, 0x59, 0xfa, 0x13, 0x55, 0x8e, 0x23, 0x90, 0x1e, 0x23,
   765  	0xa8, 0x75, 0xb8, 0xb5, 0x3f, 0xa2, 0x03, 0xe2, 0xe1, 0xaf, 0x0d, 0x06, 0x95, 0x36, 0x21, 0x33,
   766  	0x20, 0xb6, 0x85, 0xbc, 0xb0, 0x51, 0x98, 0xb1, 0x0d, 0x91, 0x21, 0xf2, 0x0c, 0x4a, 0xbc, 0xd0,
   767  	0xc8, 0x28, 0x57, 0x1f, 0x40, 0x6e, 0x9f, 0x52, 0x0f, 0xf7, 0x46, 0x14, 0xb1, 0x3f, 0xc5, 0x19,
   768  	0x1a, 0x87, 0x6c, 0x16, 0xb2, 0x97, 0xf0, 0xdc, 0xb0, 0x47, 0xb3, 0x05, 0x04, 0xc9, 0xce, 0x1f,
   769  	0x22, 0xc0, 0x7c, 0x28, 0xe9, 0x43, 0xd8, 0x3c, 0x6e, 0xe8, 0x87, 0x5a, 0xbb, 0xad, 0x1d, 0xb5,
   770  	0xba, 0x27, 0xad, 0xf6, 0x71, 0xa3, 0xae, 0x35, 0xb5, 0xc6, 0xc3, 0xbc, 0x50, 0xdc, 0x9a, 0x4c,
   771  	0xcb, 0xff, 0x9f, 0x63, 0x4f, 0x5c, 0x7f, 0x88, 0x4c, 0x7c, 0x8a, 0x91, 0x25, 0xbd, 0x07, 0xf9,
   772  	0x18, 0x4d, 0x6b, 0xb7, 0x4f, 0x1a, 0x79, 0xb1, 0xf8, 0xbf, 0xc9, 0xb4, 0x7c, 0x7b, 0x4e, 0xd0,
   773  	0x7c, 0x7f, 0x84, 0xa4, 0xf7, 0xe1, 0x4e, 0x0c, 0x7a, 0x78, 0xf4, 0x50, 0x6b, 0x3e, 0xce, 0x27,
   774  	0x8a, 0x85, 0xc9, 0xb4, 0x9c, 0x9f, 0x63, 0x0f, 0x89, 0x85, 0x4f, 0xc7, 0xd2, 0xbb, 0x70, 0x3b,
   775  	0x0e, 0xd6, 0x5a, 0x9d, 0x7c, 0xb2, 0x28, 0x4d, 0xa6, 0xe5, 0x8d, 0x18, 0x14, 0xbb, 0x74, 0x01,
   776  	0x58, 0x3b, 0xd1, 0x5b, 0xf9, 0xd4, 0x22, 0xb0, 0x36, 0xf2, 0xdc, 0x62, 0xea, 0xc9, 0xf7, 0x8a,
   777  	0xb0, 0xf3, 0x53, 0x02, 0xf2, 0x07, 0xa8, 0x6f, 0x98, 0xe3, 0xd8, 0xb3, 0xd7, 0x60, 0xfb, 0xa0,
   778  	0xf1, 0x68, 0xbf, 0xfe, 0xb8, 0xfb, 0xb7, 0x16, 0x94, 0x26, 0xd3, 0xf2, 0xdb, 0x8b, 0xc4, 0xb8,
   779  	0x11, 0x1f, 0xc1, 0x5b, 0xcb, 0x1a, 0x33, 0x3f, 0xb8, 0x81, 0x8b, 0xec, 0xc0, 0x95, 0x8f, 0x41,
   780  	0x5e, 0xe6, 0x45, 0xe6, 0x14, 0x27, 0xd3, 0xf2, 0xe6, 0x22, 0x31, 0xb4, 0xe8, 0x03, 0xd8, 0x5c,
   781  	0xc1, 0x0c, 0x9c, 0x92, 0x27, 0xd3, 0x72, 0x61, 0x89, 0xc7, 0xfc, 0x5a, 0xc9, 0x0a, 0x6d, 0x5b,
   782  	0xc9, 0xe2, 0xe6, 0x65, 0x99, 0x79, 0x4f, 0x7f, 0x50, 0x84, 0xda, 0xd1, 0xd5, 0x6f, 0x8a, 0xf0,
   783  	0xf4, 0x5a, 0x11, 0xae, 0xae, 0x15, 0xf1, 0xf9, 0xb5, 0x22, 0xfe, 0x7a, 0xad, 0x88, 0xdf, 0xde,
   784  	0x28, 0xc2, 0xf3, 0x1b, 0x45, 0xf8, 0xf9, 0x46, 0x11, 0xbe, 0xd8, 0x7d, 0xed, 0x27, 0xf7, 0x55,
   785  	0xec, 0xee, 0xee, 0x65, 0xf8, 0xc5, 0xfb, 0xe0, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x96, 0x09,
   786  	0xbe, 0x0d, 0xe2, 0x07, 0x00, 0x00,
   787  }
   788  
   789  func (this *Coin) Equal(that interface{}) bool {
   790  	if that == nil {
   791  		return this == nil
   792  	}
   793  
   794  	that1, ok := that.(*Coin)
   795  	if !ok {
   796  		that2, ok := that.(Coin)
   797  		if ok {
   798  			that1 = &that2
   799  		} else {
   800  			return false
   801  		}
   802  	}
   803  	if that1 == nil {
   804  		return this == nil
   805  	} else if this == nil {
   806  		return false
   807  	}
   808  	if this.TokenId != that1.TokenId {
   809  		return false
   810  	}
   811  	if !this.Amount.Equal(that1.Amount) {
   812  		return false
   813  	}
   814  	return true
   815  }
   816  func (m *Params) Marshal() (dAtA []byte, err error) {
   817  	size := m.Size()
   818  	dAtA = make([]byte, size)
   819  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   820  	if err != nil {
   821  		return nil, err
   822  	}
   823  	return dAtA[:n], nil
   824  }
   825  
   826  func (m *Params) MarshalTo(dAtA []byte) (int, error) {
   827  	size := m.Size()
   828  	return m.MarshalToSizedBuffer(dAtA[:size])
   829  }
   830  
   831  func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   832  	i := len(dAtA)
   833  	_ = i
   834  	var l int
   835  	_ = l
   836  	if m.WidthLimit != 0 {
   837  		i = encodeVarintCollection(dAtA, i, uint64(m.WidthLimit))
   838  		i--
   839  		dAtA[i] = 0x10
   840  	}
   841  	if m.DepthLimit != 0 {
   842  		i = encodeVarintCollection(dAtA, i, uint64(m.DepthLimit))
   843  		i--
   844  		dAtA[i] = 0x8
   845  	}
   846  	return len(dAtA) - i, nil
   847  }
   848  
   849  func (m *Contract) Marshal() (dAtA []byte, err error) {
   850  	size := m.Size()
   851  	dAtA = make([]byte, size)
   852  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   853  	if err != nil {
   854  		return nil, err
   855  	}
   856  	return dAtA[:n], nil
   857  }
   858  
   859  func (m *Contract) MarshalTo(dAtA []byte) (int, error) {
   860  	size := m.Size()
   861  	return m.MarshalToSizedBuffer(dAtA[:size])
   862  }
   863  
   864  func (m *Contract) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   865  	i := len(dAtA)
   866  	_ = i
   867  	var l int
   868  	_ = l
   869  	if len(m.Uri) > 0 {
   870  		i -= len(m.Uri)
   871  		copy(dAtA[i:], m.Uri)
   872  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Uri)))
   873  		i--
   874  		dAtA[i] = 0x22
   875  	}
   876  	if len(m.Meta) > 0 {
   877  		i -= len(m.Meta)
   878  		copy(dAtA[i:], m.Meta)
   879  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
   880  		i--
   881  		dAtA[i] = 0x1a
   882  	}
   883  	if len(m.Name) > 0 {
   884  		i -= len(m.Name)
   885  		copy(dAtA[i:], m.Name)
   886  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
   887  		i--
   888  		dAtA[i] = 0x12
   889  	}
   890  	if len(m.Id) > 0 {
   891  		i -= len(m.Id)
   892  		copy(dAtA[i:], m.Id)
   893  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Id)))
   894  		i--
   895  		dAtA[i] = 0xa
   896  	}
   897  	return len(dAtA) - i, nil
   898  }
   899  
   900  func (m *FTClass) Marshal() (dAtA []byte, err error) {
   901  	size := m.Size()
   902  	dAtA = make([]byte, size)
   903  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   904  	if err != nil {
   905  		return nil, err
   906  	}
   907  	return dAtA[:n], nil
   908  }
   909  
   910  func (m *FTClass) MarshalTo(dAtA []byte) (int, error) {
   911  	size := m.Size()
   912  	return m.MarshalToSizedBuffer(dAtA[:size])
   913  }
   914  
   915  func (m *FTClass) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   916  	i := len(dAtA)
   917  	_ = i
   918  	var l int
   919  	_ = l
   920  	if m.Mintable {
   921  		i--
   922  		if m.Mintable {
   923  			dAtA[i] = 1
   924  		} else {
   925  			dAtA[i] = 0
   926  		}
   927  		i--
   928  		dAtA[i] = 0x28
   929  	}
   930  	if m.Decimals != 0 {
   931  		i = encodeVarintCollection(dAtA, i, uint64(m.Decimals))
   932  		i--
   933  		dAtA[i] = 0x20
   934  	}
   935  	if len(m.Meta) > 0 {
   936  		i -= len(m.Meta)
   937  		copy(dAtA[i:], m.Meta)
   938  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
   939  		i--
   940  		dAtA[i] = 0x1a
   941  	}
   942  	if len(m.Name) > 0 {
   943  		i -= len(m.Name)
   944  		copy(dAtA[i:], m.Name)
   945  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
   946  		i--
   947  		dAtA[i] = 0x12
   948  	}
   949  	if len(m.Id) > 0 {
   950  		i -= len(m.Id)
   951  		copy(dAtA[i:], m.Id)
   952  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Id)))
   953  		i--
   954  		dAtA[i] = 0xa
   955  	}
   956  	return len(dAtA) - i, nil
   957  }
   958  
   959  func (m *NFTClass) Marshal() (dAtA []byte, err error) {
   960  	size := m.Size()
   961  	dAtA = make([]byte, size)
   962  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   963  	if err != nil {
   964  		return nil, err
   965  	}
   966  	return dAtA[:n], nil
   967  }
   968  
   969  func (m *NFTClass) MarshalTo(dAtA []byte) (int, error) {
   970  	size := m.Size()
   971  	return m.MarshalToSizedBuffer(dAtA[:size])
   972  }
   973  
   974  func (m *NFTClass) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   975  	i := len(dAtA)
   976  	_ = i
   977  	var l int
   978  	_ = l
   979  	if len(m.Meta) > 0 {
   980  		i -= len(m.Meta)
   981  		copy(dAtA[i:], m.Meta)
   982  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
   983  		i--
   984  		dAtA[i] = 0x1a
   985  	}
   986  	if len(m.Name) > 0 {
   987  		i -= len(m.Name)
   988  		copy(dAtA[i:], m.Name)
   989  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
   990  		i--
   991  		dAtA[i] = 0x12
   992  	}
   993  	if len(m.Id) > 0 {
   994  		i -= len(m.Id)
   995  		copy(dAtA[i:], m.Id)
   996  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Id)))
   997  		i--
   998  		dAtA[i] = 0xa
   999  	}
  1000  	return len(dAtA) - i, nil
  1001  }
  1002  
  1003  func (m *NFT) Marshal() (dAtA []byte, err error) {
  1004  	size := m.Size()
  1005  	dAtA = make([]byte, size)
  1006  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1007  	if err != nil {
  1008  		return nil, err
  1009  	}
  1010  	return dAtA[:n], nil
  1011  }
  1012  
  1013  func (m *NFT) MarshalTo(dAtA []byte) (int, error) {
  1014  	size := m.Size()
  1015  	return m.MarshalToSizedBuffer(dAtA[:size])
  1016  }
  1017  
  1018  func (m *NFT) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1019  	i := len(dAtA)
  1020  	_ = i
  1021  	var l int
  1022  	_ = l
  1023  	if len(m.Meta) > 0 {
  1024  		i -= len(m.Meta)
  1025  		copy(dAtA[i:], m.Meta)
  1026  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
  1027  		i--
  1028  		dAtA[i] = 0x1a
  1029  	}
  1030  	if len(m.Name) > 0 {
  1031  		i -= len(m.Name)
  1032  		copy(dAtA[i:], m.Name)
  1033  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
  1034  		i--
  1035  		dAtA[i] = 0x12
  1036  	}
  1037  	if len(m.TokenId) > 0 {
  1038  		i -= len(m.TokenId)
  1039  		copy(dAtA[i:], m.TokenId)
  1040  		i = encodeVarintCollection(dAtA, i, uint64(len(m.TokenId)))
  1041  		i--
  1042  		dAtA[i] = 0xa
  1043  	}
  1044  	return len(dAtA) - i, nil
  1045  }
  1046  
  1047  func (m *OwnerNFT) Marshal() (dAtA []byte, err error) {
  1048  	size := m.Size()
  1049  	dAtA = make([]byte, size)
  1050  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1051  	if err != nil {
  1052  		return nil, err
  1053  	}
  1054  	return dAtA[:n], nil
  1055  }
  1056  
  1057  func (m *OwnerNFT) MarshalTo(dAtA []byte) (int, error) {
  1058  	size := m.Size()
  1059  	return m.MarshalToSizedBuffer(dAtA[:size])
  1060  }
  1061  
  1062  func (m *OwnerNFT) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1063  	i := len(dAtA)
  1064  	_ = i
  1065  	var l int
  1066  	_ = l
  1067  	if len(m.Owner) > 0 {
  1068  		i -= len(m.Owner)
  1069  		copy(dAtA[i:], m.Owner)
  1070  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Owner)))
  1071  		i--
  1072  		dAtA[i] = 0x2a
  1073  	}
  1074  	if len(m.Meta) > 0 {
  1075  		i -= len(m.Meta)
  1076  		copy(dAtA[i:], m.Meta)
  1077  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
  1078  		i--
  1079  		dAtA[i] = 0x22
  1080  	}
  1081  	if len(m.Name) > 0 {
  1082  		i -= len(m.Name)
  1083  		copy(dAtA[i:], m.Name)
  1084  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
  1085  		i--
  1086  		dAtA[i] = 0x1a
  1087  	}
  1088  	if len(m.TokenId) > 0 {
  1089  		i -= len(m.TokenId)
  1090  		copy(dAtA[i:], m.TokenId)
  1091  		i = encodeVarintCollection(dAtA, i, uint64(len(m.TokenId)))
  1092  		i--
  1093  		dAtA[i] = 0x12
  1094  	}
  1095  	if len(m.ContractId) > 0 {
  1096  		i -= len(m.ContractId)
  1097  		copy(dAtA[i:], m.ContractId)
  1098  		i = encodeVarintCollection(dAtA, i, uint64(len(m.ContractId)))
  1099  		i--
  1100  		dAtA[i] = 0xa
  1101  	}
  1102  	return len(dAtA) - i, nil
  1103  }
  1104  
  1105  func (m *FT) Marshal() (dAtA []byte, err error) {
  1106  	size := m.Size()
  1107  	dAtA = make([]byte, size)
  1108  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1109  	if err != nil {
  1110  		return nil, err
  1111  	}
  1112  	return dAtA[:n], nil
  1113  }
  1114  
  1115  func (m *FT) MarshalTo(dAtA []byte) (int, error) {
  1116  	size := m.Size()
  1117  	return m.MarshalToSizedBuffer(dAtA[:size])
  1118  }
  1119  
  1120  func (m *FT) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1121  	i := len(dAtA)
  1122  	_ = i
  1123  	var l int
  1124  	_ = l
  1125  	if m.Mintable {
  1126  		i--
  1127  		if m.Mintable {
  1128  			dAtA[i] = 1
  1129  		} else {
  1130  			dAtA[i] = 0
  1131  		}
  1132  		i--
  1133  		dAtA[i] = 0x30
  1134  	}
  1135  	if m.Decimals != 0 {
  1136  		i = encodeVarintCollection(dAtA, i, uint64(m.Decimals))
  1137  		i--
  1138  		dAtA[i] = 0x28
  1139  	}
  1140  	if len(m.Meta) > 0 {
  1141  		i -= len(m.Meta)
  1142  		copy(dAtA[i:], m.Meta)
  1143  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
  1144  		i--
  1145  		dAtA[i] = 0x22
  1146  	}
  1147  	if len(m.Name) > 0 {
  1148  		i -= len(m.Name)
  1149  		copy(dAtA[i:], m.Name)
  1150  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
  1151  		i--
  1152  		dAtA[i] = 0x1a
  1153  	}
  1154  	if len(m.TokenId) > 0 {
  1155  		i -= len(m.TokenId)
  1156  		copy(dAtA[i:], m.TokenId)
  1157  		i = encodeVarintCollection(dAtA, i, uint64(len(m.TokenId)))
  1158  		i--
  1159  		dAtA[i] = 0x12
  1160  	}
  1161  	if len(m.ContractId) > 0 {
  1162  		i -= len(m.ContractId)
  1163  		copy(dAtA[i:], m.ContractId)
  1164  		i = encodeVarintCollection(dAtA, i, uint64(len(m.ContractId)))
  1165  		i--
  1166  		dAtA[i] = 0xa
  1167  	}
  1168  	return len(dAtA) - i, nil
  1169  }
  1170  
  1171  func (m *TokenType) Marshal() (dAtA []byte, err error) {
  1172  	size := m.Size()
  1173  	dAtA = make([]byte, size)
  1174  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1175  	if err != nil {
  1176  		return nil, err
  1177  	}
  1178  	return dAtA[:n], nil
  1179  }
  1180  
  1181  func (m *TokenType) MarshalTo(dAtA []byte) (int, error) {
  1182  	size := m.Size()
  1183  	return m.MarshalToSizedBuffer(dAtA[:size])
  1184  }
  1185  
  1186  func (m *TokenType) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1187  	i := len(dAtA)
  1188  	_ = i
  1189  	var l int
  1190  	_ = l
  1191  	if len(m.Meta) > 0 {
  1192  		i -= len(m.Meta)
  1193  		copy(dAtA[i:], m.Meta)
  1194  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Meta)))
  1195  		i--
  1196  		dAtA[i] = 0x22
  1197  	}
  1198  	if len(m.Name) > 0 {
  1199  		i -= len(m.Name)
  1200  		copy(dAtA[i:], m.Name)
  1201  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Name)))
  1202  		i--
  1203  		dAtA[i] = 0x1a
  1204  	}
  1205  	if len(m.TokenType) > 0 {
  1206  		i -= len(m.TokenType)
  1207  		copy(dAtA[i:], m.TokenType)
  1208  		i = encodeVarintCollection(dAtA, i, uint64(len(m.TokenType)))
  1209  		i--
  1210  		dAtA[i] = 0x12
  1211  	}
  1212  	if len(m.ContractId) > 0 {
  1213  		i -= len(m.ContractId)
  1214  		copy(dAtA[i:], m.ContractId)
  1215  		i = encodeVarintCollection(dAtA, i, uint64(len(m.ContractId)))
  1216  		i--
  1217  		dAtA[i] = 0xa
  1218  	}
  1219  	return len(dAtA) - i, nil
  1220  }
  1221  
  1222  func (m *Coin) Marshal() (dAtA []byte, err error) {
  1223  	size := m.Size()
  1224  	dAtA = make([]byte, size)
  1225  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1226  	if err != nil {
  1227  		return nil, err
  1228  	}
  1229  	return dAtA[:n], nil
  1230  }
  1231  
  1232  func (m *Coin) MarshalTo(dAtA []byte) (int, error) {
  1233  	size := m.Size()
  1234  	return m.MarshalToSizedBuffer(dAtA[:size])
  1235  }
  1236  
  1237  func (m *Coin) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1238  	i := len(dAtA)
  1239  	_ = i
  1240  	var l int
  1241  	_ = l
  1242  	{
  1243  		size := m.Amount.Size()
  1244  		i -= size
  1245  		if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil {
  1246  			return 0, err
  1247  		}
  1248  		i = encodeVarintCollection(dAtA, i, uint64(size))
  1249  	}
  1250  	i--
  1251  	dAtA[i] = 0x12
  1252  	if len(m.TokenId) > 0 {
  1253  		i -= len(m.TokenId)
  1254  		copy(dAtA[i:], m.TokenId)
  1255  		i = encodeVarintCollection(dAtA, i, uint64(len(m.TokenId)))
  1256  		i--
  1257  		dAtA[i] = 0xa
  1258  	}
  1259  	return len(dAtA) - i, nil
  1260  }
  1261  
  1262  func (m *Grant) Marshal() (dAtA []byte, err error) {
  1263  	size := m.Size()
  1264  	dAtA = make([]byte, size)
  1265  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1266  	if err != nil {
  1267  		return nil, err
  1268  	}
  1269  	return dAtA[:n], nil
  1270  }
  1271  
  1272  func (m *Grant) MarshalTo(dAtA []byte) (int, error) {
  1273  	size := m.Size()
  1274  	return m.MarshalToSizedBuffer(dAtA[:size])
  1275  }
  1276  
  1277  func (m *Grant) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1278  	i := len(dAtA)
  1279  	_ = i
  1280  	var l int
  1281  	_ = l
  1282  	if m.Permission != 0 {
  1283  		i = encodeVarintCollection(dAtA, i, uint64(m.Permission))
  1284  		i--
  1285  		dAtA[i] = 0x10
  1286  	}
  1287  	if len(m.Grantee) > 0 {
  1288  		i -= len(m.Grantee)
  1289  		copy(dAtA[i:], m.Grantee)
  1290  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Grantee)))
  1291  		i--
  1292  		dAtA[i] = 0xa
  1293  	}
  1294  	return len(dAtA) - i, nil
  1295  }
  1296  
  1297  func (m *Authorization) Marshal() (dAtA []byte, err error) {
  1298  	size := m.Size()
  1299  	dAtA = make([]byte, size)
  1300  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1301  	if err != nil {
  1302  		return nil, err
  1303  	}
  1304  	return dAtA[:n], nil
  1305  }
  1306  
  1307  func (m *Authorization) MarshalTo(dAtA []byte) (int, error) {
  1308  	size := m.Size()
  1309  	return m.MarshalToSizedBuffer(dAtA[:size])
  1310  }
  1311  
  1312  func (m *Authorization) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1313  	i := len(dAtA)
  1314  	_ = i
  1315  	var l int
  1316  	_ = l
  1317  	if len(m.Operator) > 0 {
  1318  		i -= len(m.Operator)
  1319  		copy(dAtA[i:], m.Operator)
  1320  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Operator)))
  1321  		i--
  1322  		dAtA[i] = 0x12
  1323  	}
  1324  	if len(m.Holder) > 0 {
  1325  		i -= len(m.Holder)
  1326  		copy(dAtA[i:], m.Holder)
  1327  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Holder)))
  1328  		i--
  1329  		dAtA[i] = 0xa
  1330  	}
  1331  	return len(dAtA) - i, nil
  1332  }
  1333  
  1334  func (m *Attribute) Marshal() (dAtA []byte, err error) {
  1335  	size := m.Size()
  1336  	dAtA = make([]byte, size)
  1337  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1338  	if err != nil {
  1339  		return nil, err
  1340  	}
  1341  	return dAtA[:n], nil
  1342  }
  1343  
  1344  func (m *Attribute) MarshalTo(dAtA []byte) (int, error) {
  1345  	size := m.Size()
  1346  	return m.MarshalToSizedBuffer(dAtA[:size])
  1347  }
  1348  
  1349  func (m *Attribute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1350  	i := len(dAtA)
  1351  	_ = i
  1352  	var l int
  1353  	_ = l
  1354  	if len(m.Value) > 0 {
  1355  		i -= len(m.Value)
  1356  		copy(dAtA[i:], m.Value)
  1357  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Value)))
  1358  		i--
  1359  		dAtA[i] = 0x12
  1360  	}
  1361  	if len(m.Key) > 0 {
  1362  		i -= len(m.Key)
  1363  		copy(dAtA[i:], m.Key)
  1364  		i = encodeVarintCollection(dAtA, i, uint64(len(m.Key)))
  1365  		i--
  1366  		dAtA[i] = 0xa
  1367  	}
  1368  	return len(dAtA) - i, nil
  1369  }
  1370  
  1371  func encodeVarintCollection(dAtA []byte, offset int, v uint64) int {
  1372  	offset -= sovCollection(v)
  1373  	base := offset
  1374  	for v >= 1<<7 {
  1375  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1376  		v >>= 7
  1377  		offset++
  1378  	}
  1379  	dAtA[offset] = uint8(v)
  1380  	return base
  1381  }
  1382  func (m *Params) Size() (n int) {
  1383  	if m == nil {
  1384  		return 0
  1385  	}
  1386  	var l int
  1387  	_ = l
  1388  	if m.DepthLimit != 0 {
  1389  		n += 1 + sovCollection(uint64(m.DepthLimit))
  1390  	}
  1391  	if m.WidthLimit != 0 {
  1392  		n += 1 + sovCollection(uint64(m.WidthLimit))
  1393  	}
  1394  	return n
  1395  }
  1396  
  1397  func (m *Contract) Size() (n int) {
  1398  	if m == nil {
  1399  		return 0
  1400  	}
  1401  	var l int
  1402  	_ = l
  1403  	l = len(m.Id)
  1404  	if l > 0 {
  1405  		n += 1 + l + sovCollection(uint64(l))
  1406  	}
  1407  	l = len(m.Name)
  1408  	if l > 0 {
  1409  		n += 1 + l + sovCollection(uint64(l))
  1410  	}
  1411  	l = len(m.Meta)
  1412  	if l > 0 {
  1413  		n += 1 + l + sovCollection(uint64(l))
  1414  	}
  1415  	l = len(m.Uri)
  1416  	if l > 0 {
  1417  		n += 1 + l + sovCollection(uint64(l))
  1418  	}
  1419  	return n
  1420  }
  1421  
  1422  func (m *FTClass) Size() (n int) {
  1423  	if m == nil {
  1424  		return 0
  1425  	}
  1426  	var l int
  1427  	_ = l
  1428  	l = len(m.Id)
  1429  	if l > 0 {
  1430  		n += 1 + l + sovCollection(uint64(l))
  1431  	}
  1432  	l = len(m.Name)
  1433  	if l > 0 {
  1434  		n += 1 + l + sovCollection(uint64(l))
  1435  	}
  1436  	l = len(m.Meta)
  1437  	if l > 0 {
  1438  		n += 1 + l + sovCollection(uint64(l))
  1439  	}
  1440  	if m.Decimals != 0 {
  1441  		n += 1 + sovCollection(uint64(m.Decimals))
  1442  	}
  1443  	if m.Mintable {
  1444  		n += 2
  1445  	}
  1446  	return n
  1447  }
  1448  
  1449  func (m *NFTClass) Size() (n int) {
  1450  	if m == nil {
  1451  		return 0
  1452  	}
  1453  	var l int
  1454  	_ = l
  1455  	l = len(m.Id)
  1456  	if l > 0 {
  1457  		n += 1 + l + sovCollection(uint64(l))
  1458  	}
  1459  	l = len(m.Name)
  1460  	if l > 0 {
  1461  		n += 1 + l + sovCollection(uint64(l))
  1462  	}
  1463  	l = len(m.Meta)
  1464  	if l > 0 {
  1465  		n += 1 + l + sovCollection(uint64(l))
  1466  	}
  1467  	return n
  1468  }
  1469  
  1470  func (m *NFT) Size() (n int) {
  1471  	if m == nil {
  1472  		return 0
  1473  	}
  1474  	var l int
  1475  	_ = l
  1476  	l = len(m.TokenId)
  1477  	if l > 0 {
  1478  		n += 1 + l + sovCollection(uint64(l))
  1479  	}
  1480  	l = len(m.Name)
  1481  	if l > 0 {
  1482  		n += 1 + l + sovCollection(uint64(l))
  1483  	}
  1484  	l = len(m.Meta)
  1485  	if l > 0 {
  1486  		n += 1 + l + sovCollection(uint64(l))
  1487  	}
  1488  	return n
  1489  }
  1490  
  1491  func (m *OwnerNFT) Size() (n int) {
  1492  	if m == nil {
  1493  		return 0
  1494  	}
  1495  	var l int
  1496  	_ = l
  1497  	l = len(m.ContractId)
  1498  	if l > 0 {
  1499  		n += 1 + l + sovCollection(uint64(l))
  1500  	}
  1501  	l = len(m.TokenId)
  1502  	if l > 0 {
  1503  		n += 1 + l + sovCollection(uint64(l))
  1504  	}
  1505  	l = len(m.Name)
  1506  	if l > 0 {
  1507  		n += 1 + l + sovCollection(uint64(l))
  1508  	}
  1509  	l = len(m.Meta)
  1510  	if l > 0 {
  1511  		n += 1 + l + sovCollection(uint64(l))
  1512  	}
  1513  	l = len(m.Owner)
  1514  	if l > 0 {
  1515  		n += 1 + l + sovCollection(uint64(l))
  1516  	}
  1517  	return n
  1518  }
  1519  
  1520  func (m *FT) Size() (n int) {
  1521  	if m == nil {
  1522  		return 0
  1523  	}
  1524  	var l int
  1525  	_ = l
  1526  	l = len(m.ContractId)
  1527  	if l > 0 {
  1528  		n += 1 + l + sovCollection(uint64(l))
  1529  	}
  1530  	l = len(m.TokenId)
  1531  	if l > 0 {
  1532  		n += 1 + l + sovCollection(uint64(l))
  1533  	}
  1534  	l = len(m.Name)
  1535  	if l > 0 {
  1536  		n += 1 + l + sovCollection(uint64(l))
  1537  	}
  1538  	l = len(m.Meta)
  1539  	if l > 0 {
  1540  		n += 1 + l + sovCollection(uint64(l))
  1541  	}
  1542  	if m.Decimals != 0 {
  1543  		n += 1 + sovCollection(uint64(m.Decimals))
  1544  	}
  1545  	if m.Mintable {
  1546  		n += 2
  1547  	}
  1548  	return n
  1549  }
  1550  
  1551  func (m *TokenType) Size() (n int) {
  1552  	if m == nil {
  1553  		return 0
  1554  	}
  1555  	var l int
  1556  	_ = l
  1557  	l = len(m.ContractId)
  1558  	if l > 0 {
  1559  		n += 1 + l + sovCollection(uint64(l))
  1560  	}
  1561  	l = len(m.TokenType)
  1562  	if l > 0 {
  1563  		n += 1 + l + sovCollection(uint64(l))
  1564  	}
  1565  	l = len(m.Name)
  1566  	if l > 0 {
  1567  		n += 1 + l + sovCollection(uint64(l))
  1568  	}
  1569  	l = len(m.Meta)
  1570  	if l > 0 {
  1571  		n += 1 + l + sovCollection(uint64(l))
  1572  	}
  1573  	return n
  1574  }
  1575  
  1576  func (m *Coin) Size() (n int) {
  1577  	if m == nil {
  1578  		return 0
  1579  	}
  1580  	var l int
  1581  	_ = l
  1582  	l = len(m.TokenId)
  1583  	if l > 0 {
  1584  		n += 1 + l + sovCollection(uint64(l))
  1585  	}
  1586  	l = m.Amount.Size()
  1587  	n += 1 + l + sovCollection(uint64(l))
  1588  	return n
  1589  }
  1590  
  1591  func (m *Grant) Size() (n int) {
  1592  	if m == nil {
  1593  		return 0
  1594  	}
  1595  	var l int
  1596  	_ = l
  1597  	l = len(m.Grantee)
  1598  	if l > 0 {
  1599  		n += 1 + l + sovCollection(uint64(l))
  1600  	}
  1601  	if m.Permission != 0 {
  1602  		n += 1 + sovCollection(uint64(m.Permission))
  1603  	}
  1604  	return n
  1605  }
  1606  
  1607  func (m *Authorization) Size() (n int) {
  1608  	if m == nil {
  1609  		return 0
  1610  	}
  1611  	var l int
  1612  	_ = l
  1613  	l = len(m.Holder)
  1614  	if l > 0 {
  1615  		n += 1 + l + sovCollection(uint64(l))
  1616  	}
  1617  	l = len(m.Operator)
  1618  	if l > 0 {
  1619  		n += 1 + l + sovCollection(uint64(l))
  1620  	}
  1621  	return n
  1622  }
  1623  
  1624  func (m *Attribute) Size() (n int) {
  1625  	if m == nil {
  1626  		return 0
  1627  	}
  1628  	var l int
  1629  	_ = l
  1630  	l = len(m.Key)
  1631  	if l > 0 {
  1632  		n += 1 + l + sovCollection(uint64(l))
  1633  	}
  1634  	l = len(m.Value)
  1635  	if l > 0 {
  1636  		n += 1 + l + sovCollection(uint64(l))
  1637  	}
  1638  	return n
  1639  }
  1640  
  1641  func sovCollection(x uint64) (n int) {
  1642  	return (math_bits.Len64(x|1) + 6) / 7
  1643  }
  1644  func sozCollection(x uint64) (n int) {
  1645  	return sovCollection(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1646  }
  1647  func (m *Params) Unmarshal(dAtA []byte) error {
  1648  	l := len(dAtA)
  1649  	iNdEx := 0
  1650  	for iNdEx < l {
  1651  		preIndex := iNdEx
  1652  		var wire uint64
  1653  		for shift := uint(0); ; shift += 7 {
  1654  			if shift >= 64 {
  1655  				return ErrIntOverflowCollection
  1656  			}
  1657  			if iNdEx >= l {
  1658  				return io.ErrUnexpectedEOF
  1659  			}
  1660  			b := dAtA[iNdEx]
  1661  			iNdEx++
  1662  			wire |= uint64(b&0x7F) << shift
  1663  			if b < 0x80 {
  1664  				break
  1665  			}
  1666  		}
  1667  		fieldNum := int32(wire >> 3)
  1668  		wireType := int(wire & 0x7)
  1669  		if wireType == 4 {
  1670  			return fmt.Errorf("proto: Params: wiretype end group for non-group")
  1671  		}
  1672  		if fieldNum <= 0 {
  1673  			return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
  1674  		}
  1675  		switch fieldNum {
  1676  		case 1:
  1677  			if wireType != 0 {
  1678  				return fmt.Errorf("proto: wrong wireType = %d for field DepthLimit", wireType)
  1679  			}
  1680  			m.DepthLimit = 0
  1681  			for shift := uint(0); ; shift += 7 {
  1682  				if shift >= 64 {
  1683  					return ErrIntOverflowCollection
  1684  				}
  1685  				if iNdEx >= l {
  1686  					return io.ErrUnexpectedEOF
  1687  				}
  1688  				b := dAtA[iNdEx]
  1689  				iNdEx++
  1690  				m.DepthLimit |= uint32(b&0x7F) << shift
  1691  				if b < 0x80 {
  1692  					break
  1693  				}
  1694  			}
  1695  		case 2:
  1696  			if wireType != 0 {
  1697  				return fmt.Errorf("proto: wrong wireType = %d for field WidthLimit", wireType)
  1698  			}
  1699  			m.WidthLimit = 0
  1700  			for shift := uint(0); ; shift += 7 {
  1701  				if shift >= 64 {
  1702  					return ErrIntOverflowCollection
  1703  				}
  1704  				if iNdEx >= l {
  1705  					return io.ErrUnexpectedEOF
  1706  				}
  1707  				b := dAtA[iNdEx]
  1708  				iNdEx++
  1709  				m.WidthLimit |= uint32(b&0x7F) << shift
  1710  				if b < 0x80 {
  1711  					break
  1712  				}
  1713  			}
  1714  		default:
  1715  			iNdEx = preIndex
  1716  			skippy, err := skipCollection(dAtA[iNdEx:])
  1717  			if err != nil {
  1718  				return err
  1719  			}
  1720  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1721  				return ErrInvalidLengthCollection
  1722  			}
  1723  			if (iNdEx + skippy) > l {
  1724  				return io.ErrUnexpectedEOF
  1725  			}
  1726  			iNdEx += skippy
  1727  		}
  1728  	}
  1729  
  1730  	if iNdEx > l {
  1731  		return io.ErrUnexpectedEOF
  1732  	}
  1733  	return nil
  1734  }
  1735  func (m *Contract) Unmarshal(dAtA []byte) error {
  1736  	l := len(dAtA)
  1737  	iNdEx := 0
  1738  	for iNdEx < l {
  1739  		preIndex := iNdEx
  1740  		var wire uint64
  1741  		for shift := uint(0); ; shift += 7 {
  1742  			if shift >= 64 {
  1743  				return ErrIntOverflowCollection
  1744  			}
  1745  			if iNdEx >= l {
  1746  				return io.ErrUnexpectedEOF
  1747  			}
  1748  			b := dAtA[iNdEx]
  1749  			iNdEx++
  1750  			wire |= uint64(b&0x7F) << shift
  1751  			if b < 0x80 {
  1752  				break
  1753  			}
  1754  		}
  1755  		fieldNum := int32(wire >> 3)
  1756  		wireType := int(wire & 0x7)
  1757  		if wireType == 4 {
  1758  			return fmt.Errorf("proto: Contract: wiretype end group for non-group")
  1759  		}
  1760  		if fieldNum <= 0 {
  1761  			return fmt.Errorf("proto: Contract: illegal tag %d (wire type %d)", fieldNum, wire)
  1762  		}
  1763  		switch fieldNum {
  1764  		case 1:
  1765  			if wireType != 2 {
  1766  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  1767  			}
  1768  			var stringLen uint64
  1769  			for shift := uint(0); ; shift += 7 {
  1770  				if shift >= 64 {
  1771  					return ErrIntOverflowCollection
  1772  				}
  1773  				if iNdEx >= l {
  1774  					return io.ErrUnexpectedEOF
  1775  				}
  1776  				b := dAtA[iNdEx]
  1777  				iNdEx++
  1778  				stringLen |= uint64(b&0x7F) << shift
  1779  				if b < 0x80 {
  1780  					break
  1781  				}
  1782  			}
  1783  			intStringLen := int(stringLen)
  1784  			if intStringLen < 0 {
  1785  				return ErrInvalidLengthCollection
  1786  			}
  1787  			postIndex := iNdEx + intStringLen
  1788  			if postIndex < 0 {
  1789  				return ErrInvalidLengthCollection
  1790  			}
  1791  			if postIndex > l {
  1792  				return io.ErrUnexpectedEOF
  1793  			}
  1794  			m.Id = string(dAtA[iNdEx:postIndex])
  1795  			iNdEx = postIndex
  1796  		case 2:
  1797  			if wireType != 2 {
  1798  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1799  			}
  1800  			var stringLen uint64
  1801  			for shift := uint(0); ; shift += 7 {
  1802  				if shift >= 64 {
  1803  					return ErrIntOverflowCollection
  1804  				}
  1805  				if iNdEx >= l {
  1806  					return io.ErrUnexpectedEOF
  1807  				}
  1808  				b := dAtA[iNdEx]
  1809  				iNdEx++
  1810  				stringLen |= uint64(b&0x7F) << shift
  1811  				if b < 0x80 {
  1812  					break
  1813  				}
  1814  			}
  1815  			intStringLen := int(stringLen)
  1816  			if intStringLen < 0 {
  1817  				return ErrInvalidLengthCollection
  1818  			}
  1819  			postIndex := iNdEx + intStringLen
  1820  			if postIndex < 0 {
  1821  				return ErrInvalidLengthCollection
  1822  			}
  1823  			if postIndex > l {
  1824  				return io.ErrUnexpectedEOF
  1825  			}
  1826  			m.Name = string(dAtA[iNdEx:postIndex])
  1827  			iNdEx = postIndex
  1828  		case 3:
  1829  			if wireType != 2 {
  1830  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  1831  			}
  1832  			var stringLen uint64
  1833  			for shift := uint(0); ; shift += 7 {
  1834  				if shift >= 64 {
  1835  					return ErrIntOverflowCollection
  1836  				}
  1837  				if iNdEx >= l {
  1838  					return io.ErrUnexpectedEOF
  1839  				}
  1840  				b := dAtA[iNdEx]
  1841  				iNdEx++
  1842  				stringLen |= uint64(b&0x7F) << shift
  1843  				if b < 0x80 {
  1844  					break
  1845  				}
  1846  			}
  1847  			intStringLen := int(stringLen)
  1848  			if intStringLen < 0 {
  1849  				return ErrInvalidLengthCollection
  1850  			}
  1851  			postIndex := iNdEx + intStringLen
  1852  			if postIndex < 0 {
  1853  				return ErrInvalidLengthCollection
  1854  			}
  1855  			if postIndex > l {
  1856  				return io.ErrUnexpectedEOF
  1857  			}
  1858  			m.Meta = string(dAtA[iNdEx:postIndex])
  1859  			iNdEx = postIndex
  1860  		case 4:
  1861  			if wireType != 2 {
  1862  				return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType)
  1863  			}
  1864  			var stringLen uint64
  1865  			for shift := uint(0); ; shift += 7 {
  1866  				if shift >= 64 {
  1867  					return ErrIntOverflowCollection
  1868  				}
  1869  				if iNdEx >= l {
  1870  					return io.ErrUnexpectedEOF
  1871  				}
  1872  				b := dAtA[iNdEx]
  1873  				iNdEx++
  1874  				stringLen |= uint64(b&0x7F) << shift
  1875  				if b < 0x80 {
  1876  					break
  1877  				}
  1878  			}
  1879  			intStringLen := int(stringLen)
  1880  			if intStringLen < 0 {
  1881  				return ErrInvalidLengthCollection
  1882  			}
  1883  			postIndex := iNdEx + intStringLen
  1884  			if postIndex < 0 {
  1885  				return ErrInvalidLengthCollection
  1886  			}
  1887  			if postIndex > l {
  1888  				return io.ErrUnexpectedEOF
  1889  			}
  1890  			m.Uri = string(dAtA[iNdEx:postIndex])
  1891  			iNdEx = postIndex
  1892  		default:
  1893  			iNdEx = preIndex
  1894  			skippy, err := skipCollection(dAtA[iNdEx:])
  1895  			if err != nil {
  1896  				return err
  1897  			}
  1898  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1899  				return ErrInvalidLengthCollection
  1900  			}
  1901  			if (iNdEx + skippy) > l {
  1902  				return io.ErrUnexpectedEOF
  1903  			}
  1904  			iNdEx += skippy
  1905  		}
  1906  	}
  1907  
  1908  	if iNdEx > l {
  1909  		return io.ErrUnexpectedEOF
  1910  	}
  1911  	return nil
  1912  }
  1913  func (m *FTClass) Unmarshal(dAtA []byte) error {
  1914  	l := len(dAtA)
  1915  	iNdEx := 0
  1916  	for iNdEx < l {
  1917  		preIndex := iNdEx
  1918  		var wire uint64
  1919  		for shift := uint(0); ; shift += 7 {
  1920  			if shift >= 64 {
  1921  				return ErrIntOverflowCollection
  1922  			}
  1923  			if iNdEx >= l {
  1924  				return io.ErrUnexpectedEOF
  1925  			}
  1926  			b := dAtA[iNdEx]
  1927  			iNdEx++
  1928  			wire |= uint64(b&0x7F) << shift
  1929  			if b < 0x80 {
  1930  				break
  1931  			}
  1932  		}
  1933  		fieldNum := int32(wire >> 3)
  1934  		wireType := int(wire & 0x7)
  1935  		if wireType == 4 {
  1936  			return fmt.Errorf("proto: FTClass: wiretype end group for non-group")
  1937  		}
  1938  		if fieldNum <= 0 {
  1939  			return fmt.Errorf("proto: FTClass: illegal tag %d (wire type %d)", fieldNum, wire)
  1940  		}
  1941  		switch fieldNum {
  1942  		case 1:
  1943  			if wireType != 2 {
  1944  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  1945  			}
  1946  			var stringLen uint64
  1947  			for shift := uint(0); ; shift += 7 {
  1948  				if shift >= 64 {
  1949  					return ErrIntOverflowCollection
  1950  				}
  1951  				if iNdEx >= l {
  1952  					return io.ErrUnexpectedEOF
  1953  				}
  1954  				b := dAtA[iNdEx]
  1955  				iNdEx++
  1956  				stringLen |= uint64(b&0x7F) << shift
  1957  				if b < 0x80 {
  1958  					break
  1959  				}
  1960  			}
  1961  			intStringLen := int(stringLen)
  1962  			if intStringLen < 0 {
  1963  				return ErrInvalidLengthCollection
  1964  			}
  1965  			postIndex := iNdEx + intStringLen
  1966  			if postIndex < 0 {
  1967  				return ErrInvalidLengthCollection
  1968  			}
  1969  			if postIndex > l {
  1970  				return io.ErrUnexpectedEOF
  1971  			}
  1972  			m.Id = string(dAtA[iNdEx:postIndex])
  1973  			iNdEx = postIndex
  1974  		case 2:
  1975  			if wireType != 2 {
  1976  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1977  			}
  1978  			var stringLen uint64
  1979  			for shift := uint(0); ; shift += 7 {
  1980  				if shift >= 64 {
  1981  					return ErrIntOverflowCollection
  1982  				}
  1983  				if iNdEx >= l {
  1984  					return io.ErrUnexpectedEOF
  1985  				}
  1986  				b := dAtA[iNdEx]
  1987  				iNdEx++
  1988  				stringLen |= uint64(b&0x7F) << shift
  1989  				if b < 0x80 {
  1990  					break
  1991  				}
  1992  			}
  1993  			intStringLen := int(stringLen)
  1994  			if intStringLen < 0 {
  1995  				return ErrInvalidLengthCollection
  1996  			}
  1997  			postIndex := iNdEx + intStringLen
  1998  			if postIndex < 0 {
  1999  				return ErrInvalidLengthCollection
  2000  			}
  2001  			if postIndex > l {
  2002  				return io.ErrUnexpectedEOF
  2003  			}
  2004  			m.Name = string(dAtA[iNdEx:postIndex])
  2005  			iNdEx = postIndex
  2006  		case 3:
  2007  			if wireType != 2 {
  2008  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  2009  			}
  2010  			var stringLen uint64
  2011  			for shift := uint(0); ; shift += 7 {
  2012  				if shift >= 64 {
  2013  					return ErrIntOverflowCollection
  2014  				}
  2015  				if iNdEx >= l {
  2016  					return io.ErrUnexpectedEOF
  2017  				}
  2018  				b := dAtA[iNdEx]
  2019  				iNdEx++
  2020  				stringLen |= uint64(b&0x7F) << shift
  2021  				if b < 0x80 {
  2022  					break
  2023  				}
  2024  			}
  2025  			intStringLen := int(stringLen)
  2026  			if intStringLen < 0 {
  2027  				return ErrInvalidLengthCollection
  2028  			}
  2029  			postIndex := iNdEx + intStringLen
  2030  			if postIndex < 0 {
  2031  				return ErrInvalidLengthCollection
  2032  			}
  2033  			if postIndex > l {
  2034  				return io.ErrUnexpectedEOF
  2035  			}
  2036  			m.Meta = string(dAtA[iNdEx:postIndex])
  2037  			iNdEx = postIndex
  2038  		case 4:
  2039  			if wireType != 0 {
  2040  				return fmt.Errorf("proto: wrong wireType = %d for field Decimals", wireType)
  2041  			}
  2042  			m.Decimals = 0
  2043  			for shift := uint(0); ; shift += 7 {
  2044  				if shift >= 64 {
  2045  					return ErrIntOverflowCollection
  2046  				}
  2047  				if iNdEx >= l {
  2048  					return io.ErrUnexpectedEOF
  2049  				}
  2050  				b := dAtA[iNdEx]
  2051  				iNdEx++
  2052  				m.Decimals |= int32(b&0x7F) << shift
  2053  				if b < 0x80 {
  2054  					break
  2055  				}
  2056  			}
  2057  		case 5:
  2058  			if wireType != 0 {
  2059  				return fmt.Errorf("proto: wrong wireType = %d for field Mintable", wireType)
  2060  			}
  2061  			var v int
  2062  			for shift := uint(0); ; shift += 7 {
  2063  				if shift >= 64 {
  2064  					return ErrIntOverflowCollection
  2065  				}
  2066  				if iNdEx >= l {
  2067  					return io.ErrUnexpectedEOF
  2068  				}
  2069  				b := dAtA[iNdEx]
  2070  				iNdEx++
  2071  				v |= int(b&0x7F) << shift
  2072  				if b < 0x80 {
  2073  					break
  2074  				}
  2075  			}
  2076  			m.Mintable = bool(v != 0)
  2077  		default:
  2078  			iNdEx = preIndex
  2079  			skippy, err := skipCollection(dAtA[iNdEx:])
  2080  			if err != nil {
  2081  				return err
  2082  			}
  2083  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2084  				return ErrInvalidLengthCollection
  2085  			}
  2086  			if (iNdEx + skippy) > l {
  2087  				return io.ErrUnexpectedEOF
  2088  			}
  2089  			iNdEx += skippy
  2090  		}
  2091  	}
  2092  
  2093  	if iNdEx > l {
  2094  		return io.ErrUnexpectedEOF
  2095  	}
  2096  	return nil
  2097  }
  2098  func (m *NFTClass) Unmarshal(dAtA []byte) error {
  2099  	l := len(dAtA)
  2100  	iNdEx := 0
  2101  	for iNdEx < l {
  2102  		preIndex := iNdEx
  2103  		var wire uint64
  2104  		for shift := uint(0); ; shift += 7 {
  2105  			if shift >= 64 {
  2106  				return ErrIntOverflowCollection
  2107  			}
  2108  			if iNdEx >= l {
  2109  				return io.ErrUnexpectedEOF
  2110  			}
  2111  			b := dAtA[iNdEx]
  2112  			iNdEx++
  2113  			wire |= uint64(b&0x7F) << shift
  2114  			if b < 0x80 {
  2115  				break
  2116  			}
  2117  		}
  2118  		fieldNum := int32(wire >> 3)
  2119  		wireType := int(wire & 0x7)
  2120  		if wireType == 4 {
  2121  			return fmt.Errorf("proto: NFTClass: wiretype end group for non-group")
  2122  		}
  2123  		if fieldNum <= 0 {
  2124  			return fmt.Errorf("proto: NFTClass: illegal tag %d (wire type %d)", fieldNum, wire)
  2125  		}
  2126  		switch fieldNum {
  2127  		case 1:
  2128  			if wireType != 2 {
  2129  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  2130  			}
  2131  			var stringLen uint64
  2132  			for shift := uint(0); ; shift += 7 {
  2133  				if shift >= 64 {
  2134  					return ErrIntOverflowCollection
  2135  				}
  2136  				if iNdEx >= l {
  2137  					return io.ErrUnexpectedEOF
  2138  				}
  2139  				b := dAtA[iNdEx]
  2140  				iNdEx++
  2141  				stringLen |= uint64(b&0x7F) << shift
  2142  				if b < 0x80 {
  2143  					break
  2144  				}
  2145  			}
  2146  			intStringLen := int(stringLen)
  2147  			if intStringLen < 0 {
  2148  				return ErrInvalidLengthCollection
  2149  			}
  2150  			postIndex := iNdEx + intStringLen
  2151  			if postIndex < 0 {
  2152  				return ErrInvalidLengthCollection
  2153  			}
  2154  			if postIndex > l {
  2155  				return io.ErrUnexpectedEOF
  2156  			}
  2157  			m.Id = string(dAtA[iNdEx:postIndex])
  2158  			iNdEx = postIndex
  2159  		case 2:
  2160  			if wireType != 2 {
  2161  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2162  			}
  2163  			var stringLen uint64
  2164  			for shift := uint(0); ; shift += 7 {
  2165  				if shift >= 64 {
  2166  					return ErrIntOverflowCollection
  2167  				}
  2168  				if iNdEx >= l {
  2169  					return io.ErrUnexpectedEOF
  2170  				}
  2171  				b := dAtA[iNdEx]
  2172  				iNdEx++
  2173  				stringLen |= uint64(b&0x7F) << shift
  2174  				if b < 0x80 {
  2175  					break
  2176  				}
  2177  			}
  2178  			intStringLen := int(stringLen)
  2179  			if intStringLen < 0 {
  2180  				return ErrInvalidLengthCollection
  2181  			}
  2182  			postIndex := iNdEx + intStringLen
  2183  			if postIndex < 0 {
  2184  				return ErrInvalidLengthCollection
  2185  			}
  2186  			if postIndex > l {
  2187  				return io.ErrUnexpectedEOF
  2188  			}
  2189  			m.Name = string(dAtA[iNdEx:postIndex])
  2190  			iNdEx = postIndex
  2191  		case 3:
  2192  			if wireType != 2 {
  2193  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  2194  			}
  2195  			var stringLen uint64
  2196  			for shift := uint(0); ; shift += 7 {
  2197  				if shift >= 64 {
  2198  					return ErrIntOverflowCollection
  2199  				}
  2200  				if iNdEx >= l {
  2201  					return io.ErrUnexpectedEOF
  2202  				}
  2203  				b := dAtA[iNdEx]
  2204  				iNdEx++
  2205  				stringLen |= uint64(b&0x7F) << shift
  2206  				if b < 0x80 {
  2207  					break
  2208  				}
  2209  			}
  2210  			intStringLen := int(stringLen)
  2211  			if intStringLen < 0 {
  2212  				return ErrInvalidLengthCollection
  2213  			}
  2214  			postIndex := iNdEx + intStringLen
  2215  			if postIndex < 0 {
  2216  				return ErrInvalidLengthCollection
  2217  			}
  2218  			if postIndex > l {
  2219  				return io.ErrUnexpectedEOF
  2220  			}
  2221  			m.Meta = string(dAtA[iNdEx:postIndex])
  2222  			iNdEx = postIndex
  2223  		default:
  2224  			iNdEx = preIndex
  2225  			skippy, err := skipCollection(dAtA[iNdEx:])
  2226  			if err != nil {
  2227  				return err
  2228  			}
  2229  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2230  				return ErrInvalidLengthCollection
  2231  			}
  2232  			if (iNdEx + skippy) > l {
  2233  				return io.ErrUnexpectedEOF
  2234  			}
  2235  			iNdEx += skippy
  2236  		}
  2237  	}
  2238  
  2239  	if iNdEx > l {
  2240  		return io.ErrUnexpectedEOF
  2241  	}
  2242  	return nil
  2243  }
  2244  func (m *NFT) Unmarshal(dAtA []byte) error {
  2245  	l := len(dAtA)
  2246  	iNdEx := 0
  2247  	for iNdEx < l {
  2248  		preIndex := iNdEx
  2249  		var wire uint64
  2250  		for shift := uint(0); ; shift += 7 {
  2251  			if shift >= 64 {
  2252  				return ErrIntOverflowCollection
  2253  			}
  2254  			if iNdEx >= l {
  2255  				return io.ErrUnexpectedEOF
  2256  			}
  2257  			b := dAtA[iNdEx]
  2258  			iNdEx++
  2259  			wire |= uint64(b&0x7F) << shift
  2260  			if b < 0x80 {
  2261  				break
  2262  			}
  2263  		}
  2264  		fieldNum := int32(wire >> 3)
  2265  		wireType := int(wire & 0x7)
  2266  		if wireType == 4 {
  2267  			return fmt.Errorf("proto: NFT: wiretype end group for non-group")
  2268  		}
  2269  		if fieldNum <= 0 {
  2270  			return fmt.Errorf("proto: NFT: illegal tag %d (wire type %d)", fieldNum, wire)
  2271  		}
  2272  		switch fieldNum {
  2273  		case 1:
  2274  			if wireType != 2 {
  2275  				return fmt.Errorf("proto: wrong wireType = %d for field TokenId", wireType)
  2276  			}
  2277  			var stringLen uint64
  2278  			for shift := uint(0); ; shift += 7 {
  2279  				if shift >= 64 {
  2280  					return ErrIntOverflowCollection
  2281  				}
  2282  				if iNdEx >= l {
  2283  					return io.ErrUnexpectedEOF
  2284  				}
  2285  				b := dAtA[iNdEx]
  2286  				iNdEx++
  2287  				stringLen |= uint64(b&0x7F) << shift
  2288  				if b < 0x80 {
  2289  					break
  2290  				}
  2291  			}
  2292  			intStringLen := int(stringLen)
  2293  			if intStringLen < 0 {
  2294  				return ErrInvalidLengthCollection
  2295  			}
  2296  			postIndex := iNdEx + intStringLen
  2297  			if postIndex < 0 {
  2298  				return ErrInvalidLengthCollection
  2299  			}
  2300  			if postIndex > l {
  2301  				return io.ErrUnexpectedEOF
  2302  			}
  2303  			m.TokenId = string(dAtA[iNdEx:postIndex])
  2304  			iNdEx = postIndex
  2305  		case 2:
  2306  			if wireType != 2 {
  2307  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2308  			}
  2309  			var stringLen uint64
  2310  			for shift := uint(0); ; shift += 7 {
  2311  				if shift >= 64 {
  2312  					return ErrIntOverflowCollection
  2313  				}
  2314  				if iNdEx >= l {
  2315  					return io.ErrUnexpectedEOF
  2316  				}
  2317  				b := dAtA[iNdEx]
  2318  				iNdEx++
  2319  				stringLen |= uint64(b&0x7F) << shift
  2320  				if b < 0x80 {
  2321  					break
  2322  				}
  2323  			}
  2324  			intStringLen := int(stringLen)
  2325  			if intStringLen < 0 {
  2326  				return ErrInvalidLengthCollection
  2327  			}
  2328  			postIndex := iNdEx + intStringLen
  2329  			if postIndex < 0 {
  2330  				return ErrInvalidLengthCollection
  2331  			}
  2332  			if postIndex > l {
  2333  				return io.ErrUnexpectedEOF
  2334  			}
  2335  			m.Name = string(dAtA[iNdEx:postIndex])
  2336  			iNdEx = postIndex
  2337  		case 3:
  2338  			if wireType != 2 {
  2339  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  2340  			}
  2341  			var stringLen uint64
  2342  			for shift := uint(0); ; shift += 7 {
  2343  				if shift >= 64 {
  2344  					return ErrIntOverflowCollection
  2345  				}
  2346  				if iNdEx >= l {
  2347  					return io.ErrUnexpectedEOF
  2348  				}
  2349  				b := dAtA[iNdEx]
  2350  				iNdEx++
  2351  				stringLen |= uint64(b&0x7F) << shift
  2352  				if b < 0x80 {
  2353  					break
  2354  				}
  2355  			}
  2356  			intStringLen := int(stringLen)
  2357  			if intStringLen < 0 {
  2358  				return ErrInvalidLengthCollection
  2359  			}
  2360  			postIndex := iNdEx + intStringLen
  2361  			if postIndex < 0 {
  2362  				return ErrInvalidLengthCollection
  2363  			}
  2364  			if postIndex > l {
  2365  				return io.ErrUnexpectedEOF
  2366  			}
  2367  			m.Meta = string(dAtA[iNdEx:postIndex])
  2368  			iNdEx = postIndex
  2369  		default:
  2370  			iNdEx = preIndex
  2371  			skippy, err := skipCollection(dAtA[iNdEx:])
  2372  			if err != nil {
  2373  				return err
  2374  			}
  2375  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2376  				return ErrInvalidLengthCollection
  2377  			}
  2378  			if (iNdEx + skippy) > l {
  2379  				return io.ErrUnexpectedEOF
  2380  			}
  2381  			iNdEx += skippy
  2382  		}
  2383  	}
  2384  
  2385  	if iNdEx > l {
  2386  		return io.ErrUnexpectedEOF
  2387  	}
  2388  	return nil
  2389  }
  2390  func (m *OwnerNFT) Unmarshal(dAtA []byte) error {
  2391  	l := len(dAtA)
  2392  	iNdEx := 0
  2393  	for iNdEx < l {
  2394  		preIndex := iNdEx
  2395  		var wire uint64
  2396  		for shift := uint(0); ; shift += 7 {
  2397  			if shift >= 64 {
  2398  				return ErrIntOverflowCollection
  2399  			}
  2400  			if iNdEx >= l {
  2401  				return io.ErrUnexpectedEOF
  2402  			}
  2403  			b := dAtA[iNdEx]
  2404  			iNdEx++
  2405  			wire |= uint64(b&0x7F) << shift
  2406  			if b < 0x80 {
  2407  				break
  2408  			}
  2409  		}
  2410  		fieldNum := int32(wire >> 3)
  2411  		wireType := int(wire & 0x7)
  2412  		if wireType == 4 {
  2413  			return fmt.Errorf("proto: OwnerNFT: wiretype end group for non-group")
  2414  		}
  2415  		if fieldNum <= 0 {
  2416  			return fmt.Errorf("proto: OwnerNFT: illegal tag %d (wire type %d)", fieldNum, wire)
  2417  		}
  2418  		switch fieldNum {
  2419  		case 1:
  2420  			if wireType != 2 {
  2421  				return fmt.Errorf("proto: wrong wireType = %d for field ContractId", wireType)
  2422  			}
  2423  			var stringLen uint64
  2424  			for shift := uint(0); ; shift += 7 {
  2425  				if shift >= 64 {
  2426  					return ErrIntOverflowCollection
  2427  				}
  2428  				if iNdEx >= l {
  2429  					return io.ErrUnexpectedEOF
  2430  				}
  2431  				b := dAtA[iNdEx]
  2432  				iNdEx++
  2433  				stringLen |= uint64(b&0x7F) << shift
  2434  				if b < 0x80 {
  2435  					break
  2436  				}
  2437  			}
  2438  			intStringLen := int(stringLen)
  2439  			if intStringLen < 0 {
  2440  				return ErrInvalidLengthCollection
  2441  			}
  2442  			postIndex := iNdEx + intStringLen
  2443  			if postIndex < 0 {
  2444  				return ErrInvalidLengthCollection
  2445  			}
  2446  			if postIndex > l {
  2447  				return io.ErrUnexpectedEOF
  2448  			}
  2449  			m.ContractId = string(dAtA[iNdEx:postIndex])
  2450  			iNdEx = postIndex
  2451  		case 2:
  2452  			if wireType != 2 {
  2453  				return fmt.Errorf("proto: wrong wireType = %d for field TokenId", wireType)
  2454  			}
  2455  			var stringLen uint64
  2456  			for shift := uint(0); ; shift += 7 {
  2457  				if shift >= 64 {
  2458  					return ErrIntOverflowCollection
  2459  				}
  2460  				if iNdEx >= l {
  2461  					return io.ErrUnexpectedEOF
  2462  				}
  2463  				b := dAtA[iNdEx]
  2464  				iNdEx++
  2465  				stringLen |= uint64(b&0x7F) << shift
  2466  				if b < 0x80 {
  2467  					break
  2468  				}
  2469  			}
  2470  			intStringLen := int(stringLen)
  2471  			if intStringLen < 0 {
  2472  				return ErrInvalidLengthCollection
  2473  			}
  2474  			postIndex := iNdEx + intStringLen
  2475  			if postIndex < 0 {
  2476  				return ErrInvalidLengthCollection
  2477  			}
  2478  			if postIndex > l {
  2479  				return io.ErrUnexpectedEOF
  2480  			}
  2481  			m.TokenId = string(dAtA[iNdEx:postIndex])
  2482  			iNdEx = postIndex
  2483  		case 3:
  2484  			if wireType != 2 {
  2485  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2486  			}
  2487  			var stringLen uint64
  2488  			for shift := uint(0); ; shift += 7 {
  2489  				if shift >= 64 {
  2490  					return ErrIntOverflowCollection
  2491  				}
  2492  				if iNdEx >= l {
  2493  					return io.ErrUnexpectedEOF
  2494  				}
  2495  				b := dAtA[iNdEx]
  2496  				iNdEx++
  2497  				stringLen |= uint64(b&0x7F) << shift
  2498  				if b < 0x80 {
  2499  					break
  2500  				}
  2501  			}
  2502  			intStringLen := int(stringLen)
  2503  			if intStringLen < 0 {
  2504  				return ErrInvalidLengthCollection
  2505  			}
  2506  			postIndex := iNdEx + intStringLen
  2507  			if postIndex < 0 {
  2508  				return ErrInvalidLengthCollection
  2509  			}
  2510  			if postIndex > l {
  2511  				return io.ErrUnexpectedEOF
  2512  			}
  2513  			m.Name = string(dAtA[iNdEx:postIndex])
  2514  			iNdEx = postIndex
  2515  		case 4:
  2516  			if wireType != 2 {
  2517  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  2518  			}
  2519  			var stringLen uint64
  2520  			for shift := uint(0); ; shift += 7 {
  2521  				if shift >= 64 {
  2522  					return ErrIntOverflowCollection
  2523  				}
  2524  				if iNdEx >= l {
  2525  					return io.ErrUnexpectedEOF
  2526  				}
  2527  				b := dAtA[iNdEx]
  2528  				iNdEx++
  2529  				stringLen |= uint64(b&0x7F) << shift
  2530  				if b < 0x80 {
  2531  					break
  2532  				}
  2533  			}
  2534  			intStringLen := int(stringLen)
  2535  			if intStringLen < 0 {
  2536  				return ErrInvalidLengthCollection
  2537  			}
  2538  			postIndex := iNdEx + intStringLen
  2539  			if postIndex < 0 {
  2540  				return ErrInvalidLengthCollection
  2541  			}
  2542  			if postIndex > l {
  2543  				return io.ErrUnexpectedEOF
  2544  			}
  2545  			m.Meta = string(dAtA[iNdEx:postIndex])
  2546  			iNdEx = postIndex
  2547  		case 5:
  2548  			if wireType != 2 {
  2549  				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
  2550  			}
  2551  			var stringLen uint64
  2552  			for shift := uint(0); ; shift += 7 {
  2553  				if shift >= 64 {
  2554  					return ErrIntOverflowCollection
  2555  				}
  2556  				if iNdEx >= l {
  2557  					return io.ErrUnexpectedEOF
  2558  				}
  2559  				b := dAtA[iNdEx]
  2560  				iNdEx++
  2561  				stringLen |= uint64(b&0x7F) << shift
  2562  				if b < 0x80 {
  2563  					break
  2564  				}
  2565  			}
  2566  			intStringLen := int(stringLen)
  2567  			if intStringLen < 0 {
  2568  				return ErrInvalidLengthCollection
  2569  			}
  2570  			postIndex := iNdEx + intStringLen
  2571  			if postIndex < 0 {
  2572  				return ErrInvalidLengthCollection
  2573  			}
  2574  			if postIndex > l {
  2575  				return io.ErrUnexpectedEOF
  2576  			}
  2577  			m.Owner = string(dAtA[iNdEx:postIndex])
  2578  			iNdEx = postIndex
  2579  		default:
  2580  			iNdEx = preIndex
  2581  			skippy, err := skipCollection(dAtA[iNdEx:])
  2582  			if err != nil {
  2583  				return err
  2584  			}
  2585  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2586  				return ErrInvalidLengthCollection
  2587  			}
  2588  			if (iNdEx + skippy) > l {
  2589  				return io.ErrUnexpectedEOF
  2590  			}
  2591  			iNdEx += skippy
  2592  		}
  2593  	}
  2594  
  2595  	if iNdEx > l {
  2596  		return io.ErrUnexpectedEOF
  2597  	}
  2598  	return nil
  2599  }
  2600  func (m *FT) Unmarshal(dAtA []byte) error {
  2601  	l := len(dAtA)
  2602  	iNdEx := 0
  2603  	for iNdEx < l {
  2604  		preIndex := iNdEx
  2605  		var wire uint64
  2606  		for shift := uint(0); ; shift += 7 {
  2607  			if shift >= 64 {
  2608  				return ErrIntOverflowCollection
  2609  			}
  2610  			if iNdEx >= l {
  2611  				return io.ErrUnexpectedEOF
  2612  			}
  2613  			b := dAtA[iNdEx]
  2614  			iNdEx++
  2615  			wire |= uint64(b&0x7F) << shift
  2616  			if b < 0x80 {
  2617  				break
  2618  			}
  2619  		}
  2620  		fieldNum := int32(wire >> 3)
  2621  		wireType := int(wire & 0x7)
  2622  		if wireType == 4 {
  2623  			return fmt.Errorf("proto: FT: wiretype end group for non-group")
  2624  		}
  2625  		if fieldNum <= 0 {
  2626  			return fmt.Errorf("proto: FT: illegal tag %d (wire type %d)", fieldNum, wire)
  2627  		}
  2628  		switch fieldNum {
  2629  		case 1:
  2630  			if wireType != 2 {
  2631  				return fmt.Errorf("proto: wrong wireType = %d for field ContractId", wireType)
  2632  			}
  2633  			var stringLen uint64
  2634  			for shift := uint(0); ; shift += 7 {
  2635  				if shift >= 64 {
  2636  					return ErrIntOverflowCollection
  2637  				}
  2638  				if iNdEx >= l {
  2639  					return io.ErrUnexpectedEOF
  2640  				}
  2641  				b := dAtA[iNdEx]
  2642  				iNdEx++
  2643  				stringLen |= uint64(b&0x7F) << shift
  2644  				if b < 0x80 {
  2645  					break
  2646  				}
  2647  			}
  2648  			intStringLen := int(stringLen)
  2649  			if intStringLen < 0 {
  2650  				return ErrInvalidLengthCollection
  2651  			}
  2652  			postIndex := iNdEx + intStringLen
  2653  			if postIndex < 0 {
  2654  				return ErrInvalidLengthCollection
  2655  			}
  2656  			if postIndex > l {
  2657  				return io.ErrUnexpectedEOF
  2658  			}
  2659  			m.ContractId = string(dAtA[iNdEx:postIndex])
  2660  			iNdEx = postIndex
  2661  		case 2:
  2662  			if wireType != 2 {
  2663  				return fmt.Errorf("proto: wrong wireType = %d for field TokenId", wireType)
  2664  			}
  2665  			var stringLen uint64
  2666  			for shift := uint(0); ; shift += 7 {
  2667  				if shift >= 64 {
  2668  					return ErrIntOverflowCollection
  2669  				}
  2670  				if iNdEx >= l {
  2671  					return io.ErrUnexpectedEOF
  2672  				}
  2673  				b := dAtA[iNdEx]
  2674  				iNdEx++
  2675  				stringLen |= uint64(b&0x7F) << shift
  2676  				if b < 0x80 {
  2677  					break
  2678  				}
  2679  			}
  2680  			intStringLen := int(stringLen)
  2681  			if intStringLen < 0 {
  2682  				return ErrInvalidLengthCollection
  2683  			}
  2684  			postIndex := iNdEx + intStringLen
  2685  			if postIndex < 0 {
  2686  				return ErrInvalidLengthCollection
  2687  			}
  2688  			if postIndex > l {
  2689  				return io.ErrUnexpectedEOF
  2690  			}
  2691  			m.TokenId = string(dAtA[iNdEx:postIndex])
  2692  			iNdEx = postIndex
  2693  		case 3:
  2694  			if wireType != 2 {
  2695  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2696  			}
  2697  			var stringLen uint64
  2698  			for shift := uint(0); ; shift += 7 {
  2699  				if shift >= 64 {
  2700  					return ErrIntOverflowCollection
  2701  				}
  2702  				if iNdEx >= l {
  2703  					return io.ErrUnexpectedEOF
  2704  				}
  2705  				b := dAtA[iNdEx]
  2706  				iNdEx++
  2707  				stringLen |= uint64(b&0x7F) << shift
  2708  				if b < 0x80 {
  2709  					break
  2710  				}
  2711  			}
  2712  			intStringLen := int(stringLen)
  2713  			if intStringLen < 0 {
  2714  				return ErrInvalidLengthCollection
  2715  			}
  2716  			postIndex := iNdEx + intStringLen
  2717  			if postIndex < 0 {
  2718  				return ErrInvalidLengthCollection
  2719  			}
  2720  			if postIndex > l {
  2721  				return io.ErrUnexpectedEOF
  2722  			}
  2723  			m.Name = string(dAtA[iNdEx:postIndex])
  2724  			iNdEx = postIndex
  2725  		case 4:
  2726  			if wireType != 2 {
  2727  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  2728  			}
  2729  			var stringLen uint64
  2730  			for shift := uint(0); ; shift += 7 {
  2731  				if shift >= 64 {
  2732  					return ErrIntOverflowCollection
  2733  				}
  2734  				if iNdEx >= l {
  2735  					return io.ErrUnexpectedEOF
  2736  				}
  2737  				b := dAtA[iNdEx]
  2738  				iNdEx++
  2739  				stringLen |= uint64(b&0x7F) << shift
  2740  				if b < 0x80 {
  2741  					break
  2742  				}
  2743  			}
  2744  			intStringLen := int(stringLen)
  2745  			if intStringLen < 0 {
  2746  				return ErrInvalidLengthCollection
  2747  			}
  2748  			postIndex := iNdEx + intStringLen
  2749  			if postIndex < 0 {
  2750  				return ErrInvalidLengthCollection
  2751  			}
  2752  			if postIndex > l {
  2753  				return io.ErrUnexpectedEOF
  2754  			}
  2755  			m.Meta = string(dAtA[iNdEx:postIndex])
  2756  			iNdEx = postIndex
  2757  		case 5:
  2758  			if wireType != 0 {
  2759  				return fmt.Errorf("proto: wrong wireType = %d for field Decimals", wireType)
  2760  			}
  2761  			m.Decimals = 0
  2762  			for shift := uint(0); ; shift += 7 {
  2763  				if shift >= 64 {
  2764  					return ErrIntOverflowCollection
  2765  				}
  2766  				if iNdEx >= l {
  2767  					return io.ErrUnexpectedEOF
  2768  				}
  2769  				b := dAtA[iNdEx]
  2770  				iNdEx++
  2771  				m.Decimals |= int32(b&0x7F) << shift
  2772  				if b < 0x80 {
  2773  					break
  2774  				}
  2775  			}
  2776  		case 6:
  2777  			if wireType != 0 {
  2778  				return fmt.Errorf("proto: wrong wireType = %d for field Mintable", wireType)
  2779  			}
  2780  			var v int
  2781  			for shift := uint(0); ; shift += 7 {
  2782  				if shift >= 64 {
  2783  					return ErrIntOverflowCollection
  2784  				}
  2785  				if iNdEx >= l {
  2786  					return io.ErrUnexpectedEOF
  2787  				}
  2788  				b := dAtA[iNdEx]
  2789  				iNdEx++
  2790  				v |= int(b&0x7F) << shift
  2791  				if b < 0x80 {
  2792  					break
  2793  				}
  2794  			}
  2795  			m.Mintable = bool(v != 0)
  2796  		default:
  2797  			iNdEx = preIndex
  2798  			skippy, err := skipCollection(dAtA[iNdEx:])
  2799  			if err != nil {
  2800  				return err
  2801  			}
  2802  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2803  				return ErrInvalidLengthCollection
  2804  			}
  2805  			if (iNdEx + skippy) > l {
  2806  				return io.ErrUnexpectedEOF
  2807  			}
  2808  			iNdEx += skippy
  2809  		}
  2810  	}
  2811  
  2812  	if iNdEx > l {
  2813  		return io.ErrUnexpectedEOF
  2814  	}
  2815  	return nil
  2816  }
  2817  func (m *TokenType) Unmarshal(dAtA []byte) error {
  2818  	l := len(dAtA)
  2819  	iNdEx := 0
  2820  	for iNdEx < l {
  2821  		preIndex := iNdEx
  2822  		var wire uint64
  2823  		for shift := uint(0); ; shift += 7 {
  2824  			if shift >= 64 {
  2825  				return ErrIntOverflowCollection
  2826  			}
  2827  			if iNdEx >= l {
  2828  				return io.ErrUnexpectedEOF
  2829  			}
  2830  			b := dAtA[iNdEx]
  2831  			iNdEx++
  2832  			wire |= uint64(b&0x7F) << shift
  2833  			if b < 0x80 {
  2834  				break
  2835  			}
  2836  		}
  2837  		fieldNum := int32(wire >> 3)
  2838  		wireType := int(wire & 0x7)
  2839  		if wireType == 4 {
  2840  			return fmt.Errorf("proto: TokenType: wiretype end group for non-group")
  2841  		}
  2842  		if fieldNum <= 0 {
  2843  			return fmt.Errorf("proto: TokenType: illegal tag %d (wire type %d)", fieldNum, wire)
  2844  		}
  2845  		switch fieldNum {
  2846  		case 1:
  2847  			if wireType != 2 {
  2848  				return fmt.Errorf("proto: wrong wireType = %d for field ContractId", wireType)
  2849  			}
  2850  			var stringLen uint64
  2851  			for shift := uint(0); ; shift += 7 {
  2852  				if shift >= 64 {
  2853  					return ErrIntOverflowCollection
  2854  				}
  2855  				if iNdEx >= l {
  2856  					return io.ErrUnexpectedEOF
  2857  				}
  2858  				b := dAtA[iNdEx]
  2859  				iNdEx++
  2860  				stringLen |= uint64(b&0x7F) << shift
  2861  				if b < 0x80 {
  2862  					break
  2863  				}
  2864  			}
  2865  			intStringLen := int(stringLen)
  2866  			if intStringLen < 0 {
  2867  				return ErrInvalidLengthCollection
  2868  			}
  2869  			postIndex := iNdEx + intStringLen
  2870  			if postIndex < 0 {
  2871  				return ErrInvalidLengthCollection
  2872  			}
  2873  			if postIndex > l {
  2874  				return io.ErrUnexpectedEOF
  2875  			}
  2876  			m.ContractId = string(dAtA[iNdEx:postIndex])
  2877  			iNdEx = postIndex
  2878  		case 2:
  2879  			if wireType != 2 {
  2880  				return fmt.Errorf("proto: wrong wireType = %d for field TokenType", wireType)
  2881  			}
  2882  			var stringLen uint64
  2883  			for shift := uint(0); ; shift += 7 {
  2884  				if shift >= 64 {
  2885  					return ErrIntOverflowCollection
  2886  				}
  2887  				if iNdEx >= l {
  2888  					return io.ErrUnexpectedEOF
  2889  				}
  2890  				b := dAtA[iNdEx]
  2891  				iNdEx++
  2892  				stringLen |= uint64(b&0x7F) << shift
  2893  				if b < 0x80 {
  2894  					break
  2895  				}
  2896  			}
  2897  			intStringLen := int(stringLen)
  2898  			if intStringLen < 0 {
  2899  				return ErrInvalidLengthCollection
  2900  			}
  2901  			postIndex := iNdEx + intStringLen
  2902  			if postIndex < 0 {
  2903  				return ErrInvalidLengthCollection
  2904  			}
  2905  			if postIndex > l {
  2906  				return io.ErrUnexpectedEOF
  2907  			}
  2908  			m.TokenType = string(dAtA[iNdEx:postIndex])
  2909  			iNdEx = postIndex
  2910  		case 3:
  2911  			if wireType != 2 {
  2912  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2913  			}
  2914  			var stringLen uint64
  2915  			for shift := uint(0); ; shift += 7 {
  2916  				if shift >= 64 {
  2917  					return ErrIntOverflowCollection
  2918  				}
  2919  				if iNdEx >= l {
  2920  					return io.ErrUnexpectedEOF
  2921  				}
  2922  				b := dAtA[iNdEx]
  2923  				iNdEx++
  2924  				stringLen |= uint64(b&0x7F) << shift
  2925  				if b < 0x80 {
  2926  					break
  2927  				}
  2928  			}
  2929  			intStringLen := int(stringLen)
  2930  			if intStringLen < 0 {
  2931  				return ErrInvalidLengthCollection
  2932  			}
  2933  			postIndex := iNdEx + intStringLen
  2934  			if postIndex < 0 {
  2935  				return ErrInvalidLengthCollection
  2936  			}
  2937  			if postIndex > l {
  2938  				return io.ErrUnexpectedEOF
  2939  			}
  2940  			m.Name = string(dAtA[iNdEx:postIndex])
  2941  			iNdEx = postIndex
  2942  		case 4:
  2943  			if wireType != 2 {
  2944  				return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType)
  2945  			}
  2946  			var stringLen uint64
  2947  			for shift := uint(0); ; shift += 7 {
  2948  				if shift >= 64 {
  2949  					return ErrIntOverflowCollection
  2950  				}
  2951  				if iNdEx >= l {
  2952  					return io.ErrUnexpectedEOF
  2953  				}
  2954  				b := dAtA[iNdEx]
  2955  				iNdEx++
  2956  				stringLen |= uint64(b&0x7F) << shift
  2957  				if b < 0x80 {
  2958  					break
  2959  				}
  2960  			}
  2961  			intStringLen := int(stringLen)
  2962  			if intStringLen < 0 {
  2963  				return ErrInvalidLengthCollection
  2964  			}
  2965  			postIndex := iNdEx + intStringLen
  2966  			if postIndex < 0 {
  2967  				return ErrInvalidLengthCollection
  2968  			}
  2969  			if postIndex > l {
  2970  				return io.ErrUnexpectedEOF
  2971  			}
  2972  			m.Meta = string(dAtA[iNdEx:postIndex])
  2973  			iNdEx = postIndex
  2974  		default:
  2975  			iNdEx = preIndex
  2976  			skippy, err := skipCollection(dAtA[iNdEx:])
  2977  			if err != nil {
  2978  				return err
  2979  			}
  2980  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2981  				return ErrInvalidLengthCollection
  2982  			}
  2983  			if (iNdEx + skippy) > l {
  2984  				return io.ErrUnexpectedEOF
  2985  			}
  2986  			iNdEx += skippy
  2987  		}
  2988  	}
  2989  
  2990  	if iNdEx > l {
  2991  		return io.ErrUnexpectedEOF
  2992  	}
  2993  	return nil
  2994  }
  2995  func (m *Coin) Unmarshal(dAtA []byte) error {
  2996  	l := len(dAtA)
  2997  	iNdEx := 0
  2998  	for iNdEx < l {
  2999  		preIndex := iNdEx
  3000  		var wire uint64
  3001  		for shift := uint(0); ; shift += 7 {
  3002  			if shift >= 64 {
  3003  				return ErrIntOverflowCollection
  3004  			}
  3005  			if iNdEx >= l {
  3006  				return io.ErrUnexpectedEOF
  3007  			}
  3008  			b := dAtA[iNdEx]
  3009  			iNdEx++
  3010  			wire |= uint64(b&0x7F) << shift
  3011  			if b < 0x80 {
  3012  				break
  3013  			}
  3014  		}
  3015  		fieldNum := int32(wire >> 3)
  3016  		wireType := int(wire & 0x7)
  3017  		if wireType == 4 {
  3018  			return fmt.Errorf("proto: Coin: wiretype end group for non-group")
  3019  		}
  3020  		if fieldNum <= 0 {
  3021  			return fmt.Errorf("proto: Coin: illegal tag %d (wire type %d)", fieldNum, wire)
  3022  		}
  3023  		switch fieldNum {
  3024  		case 1:
  3025  			if wireType != 2 {
  3026  				return fmt.Errorf("proto: wrong wireType = %d for field TokenId", wireType)
  3027  			}
  3028  			var stringLen uint64
  3029  			for shift := uint(0); ; shift += 7 {
  3030  				if shift >= 64 {
  3031  					return ErrIntOverflowCollection
  3032  				}
  3033  				if iNdEx >= l {
  3034  					return io.ErrUnexpectedEOF
  3035  				}
  3036  				b := dAtA[iNdEx]
  3037  				iNdEx++
  3038  				stringLen |= uint64(b&0x7F) << shift
  3039  				if b < 0x80 {
  3040  					break
  3041  				}
  3042  			}
  3043  			intStringLen := int(stringLen)
  3044  			if intStringLen < 0 {
  3045  				return ErrInvalidLengthCollection
  3046  			}
  3047  			postIndex := iNdEx + intStringLen
  3048  			if postIndex < 0 {
  3049  				return ErrInvalidLengthCollection
  3050  			}
  3051  			if postIndex > l {
  3052  				return io.ErrUnexpectedEOF
  3053  			}
  3054  			m.TokenId = string(dAtA[iNdEx:postIndex])
  3055  			iNdEx = postIndex
  3056  		case 2:
  3057  			if wireType != 2 {
  3058  				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
  3059  			}
  3060  			var stringLen uint64
  3061  			for shift := uint(0); ; shift += 7 {
  3062  				if shift >= 64 {
  3063  					return ErrIntOverflowCollection
  3064  				}
  3065  				if iNdEx >= l {
  3066  					return io.ErrUnexpectedEOF
  3067  				}
  3068  				b := dAtA[iNdEx]
  3069  				iNdEx++
  3070  				stringLen |= uint64(b&0x7F) << shift
  3071  				if b < 0x80 {
  3072  					break
  3073  				}
  3074  			}
  3075  			intStringLen := int(stringLen)
  3076  			if intStringLen < 0 {
  3077  				return ErrInvalidLengthCollection
  3078  			}
  3079  			postIndex := iNdEx + intStringLen
  3080  			if postIndex < 0 {
  3081  				return ErrInvalidLengthCollection
  3082  			}
  3083  			if postIndex > l {
  3084  				return io.ErrUnexpectedEOF
  3085  			}
  3086  			if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3087  				return err
  3088  			}
  3089  			iNdEx = postIndex
  3090  		default:
  3091  			iNdEx = preIndex
  3092  			skippy, err := skipCollection(dAtA[iNdEx:])
  3093  			if err != nil {
  3094  				return err
  3095  			}
  3096  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3097  				return ErrInvalidLengthCollection
  3098  			}
  3099  			if (iNdEx + skippy) > l {
  3100  				return io.ErrUnexpectedEOF
  3101  			}
  3102  			iNdEx += skippy
  3103  		}
  3104  	}
  3105  
  3106  	if iNdEx > l {
  3107  		return io.ErrUnexpectedEOF
  3108  	}
  3109  	return nil
  3110  }
  3111  func (m *Grant) Unmarshal(dAtA []byte) error {
  3112  	l := len(dAtA)
  3113  	iNdEx := 0
  3114  	for iNdEx < l {
  3115  		preIndex := iNdEx
  3116  		var wire uint64
  3117  		for shift := uint(0); ; shift += 7 {
  3118  			if shift >= 64 {
  3119  				return ErrIntOverflowCollection
  3120  			}
  3121  			if iNdEx >= l {
  3122  				return io.ErrUnexpectedEOF
  3123  			}
  3124  			b := dAtA[iNdEx]
  3125  			iNdEx++
  3126  			wire |= uint64(b&0x7F) << shift
  3127  			if b < 0x80 {
  3128  				break
  3129  			}
  3130  		}
  3131  		fieldNum := int32(wire >> 3)
  3132  		wireType := int(wire & 0x7)
  3133  		if wireType == 4 {
  3134  			return fmt.Errorf("proto: Grant: wiretype end group for non-group")
  3135  		}
  3136  		if fieldNum <= 0 {
  3137  			return fmt.Errorf("proto: Grant: illegal tag %d (wire type %d)", fieldNum, wire)
  3138  		}
  3139  		switch fieldNum {
  3140  		case 1:
  3141  			if wireType != 2 {
  3142  				return fmt.Errorf("proto: wrong wireType = %d for field Grantee", wireType)
  3143  			}
  3144  			var stringLen uint64
  3145  			for shift := uint(0); ; shift += 7 {
  3146  				if shift >= 64 {
  3147  					return ErrIntOverflowCollection
  3148  				}
  3149  				if iNdEx >= l {
  3150  					return io.ErrUnexpectedEOF
  3151  				}
  3152  				b := dAtA[iNdEx]
  3153  				iNdEx++
  3154  				stringLen |= uint64(b&0x7F) << shift
  3155  				if b < 0x80 {
  3156  					break
  3157  				}
  3158  			}
  3159  			intStringLen := int(stringLen)
  3160  			if intStringLen < 0 {
  3161  				return ErrInvalidLengthCollection
  3162  			}
  3163  			postIndex := iNdEx + intStringLen
  3164  			if postIndex < 0 {
  3165  				return ErrInvalidLengthCollection
  3166  			}
  3167  			if postIndex > l {
  3168  				return io.ErrUnexpectedEOF
  3169  			}
  3170  			m.Grantee = string(dAtA[iNdEx:postIndex])
  3171  			iNdEx = postIndex
  3172  		case 2:
  3173  			if wireType != 0 {
  3174  				return fmt.Errorf("proto: wrong wireType = %d for field Permission", wireType)
  3175  			}
  3176  			m.Permission = 0
  3177  			for shift := uint(0); ; shift += 7 {
  3178  				if shift >= 64 {
  3179  					return ErrIntOverflowCollection
  3180  				}
  3181  				if iNdEx >= l {
  3182  					return io.ErrUnexpectedEOF
  3183  				}
  3184  				b := dAtA[iNdEx]
  3185  				iNdEx++
  3186  				m.Permission |= Permission(b&0x7F) << shift
  3187  				if b < 0x80 {
  3188  					break
  3189  				}
  3190  			}
  3191  		default:
  3192  			iNdEx = preIndex
  3193  			skippy, err := skipCollection(dAtA[iNdEx:])
  3194  			if err != nil {
  3195  				return err
  3196  			}
  3197  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3198  				return ErrInvalidLengthCollection
  3199  			}
  3200  			if (iNdEx + skippy) > l {
  3201  				return io.ErrUnexpectedEOF
  3202  			}
  3203  			iNdEx += skippy
  3204  		}
  3205  	}
  3206  
  3207  	if iNdEx > l {
  3208  		return io.ErrUnexpectedEOF
  3209  	}
  3210  	return nil
  3211  }
  3212  func (m *Authorization) Unmarshal(dAtA []byte) error {
  3213  	l := len(dAtA)
  3214  	iNdEx := 0
  3215  	for iNdEx < l {
  3216  		preIndex := iNdEx
  3217  		var wire uint64
  3218  		for shift := uint(0); ; shift += 7 {
  3219  			if shift >= 64 {
  3220  				return ErrIntOverflowCollection
  3221  			}
  3222  			if iNdEx >= l {
  3223  				return io.ErrUnexpectedEOF
  3224  			}
  3225  			b := dAtA[iNdEx]
  3226  			iNdEx++
  3227  			wire |= uint64(b&0x7F) << shift
  3228  			if b < 0x80 {
  3229  				break
  3230  			}
  3231  		}
  3232  		fieldNum := int32(wire >> 3)
  3233  		wireType := int(wire & 0x7)
  3234  		if wireType == 4 {
  3235  			return fmt.Errorf("proto: Authorization: wiretype end group for non-group")
  3236  		}
  3237  		if fieldNum <= 0 {
  3238  			return fmt.Errorf("proto: Authorization: illegal tag %d (wire type %d)", fieldNum, wire)
  3239  		}
  3240  		switch fieldNum {
  3241  		case 1:
  3242  			if wireType != 2 {
  3243  				return fmt.Errorf("proto: wrong wireType = %d for field Holder", wireType)
  3244  			}
  3245  			var stringLen uint64
  3246  			for shift := uint(0); ; shift += 7 {
  3247  				if shift >= 64 {
  3248  					return ErrIntOverflowCollection
  3249  				}
  3250  				if iNdEx >= l {
  3251  					return io.ErrUnexpectedEOF
  3252  				}
  3253  				b := dAtA[iNdEx]
  3254  				iNdEx++
  3255  				stringLen |= uint64(b&0x7F) << shift
  3256  				if b < 0x80 {
  3257  					break
  3258  				}
  3259  			}
  3260  			intStringLen := int(stringLen)
  3261  			if intStringLen < 0 {
  3262  				return ErrInvalidLengthCollection
  3263  			}
  3264  			postIndex := iNdEx + intStringLen
  3265  			if postIndex < 0 {
  3266  				return ErrInvalidLengthCollection
  3267  			}
  3268  			if postIndex > l {
  3269  				return io.ErrUnexpectedEOF
  3270  			}
  3271  			m.Holder = string(dAtA[iNdEx:postIndex])
  3272  			iNdEx = postIndex
  3273  		case 2:
  3274  			if wireType != 2 {
  3275  				return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType)
  3276  			}
  3277  			var stringLen uint64
  3278  			for shift := uint(0); ; shift += 7 {
  3279  				if shift >= 64 {
  3280  					return ErrIntOverflowCollection
  3281  				}
  3282  				if iNdEx >= l {
  3283  					return io.ErrUnexpectedEOF
  3284  				}
  3285  				b := dAtA[iNdEx]
  3286  				iNdEx++
  3287  				stringLen |= uint64(b&0x7F) << shift
  3288  				if b < 0x80 {
  3289  					break
  3290  				}
  3291  			}
  3292  			intStringLen := int(stringLen)
  3293  			if intStringLen < 0 {
  3294  				return ErrInvalidLengthCollection
  3295  			}
  3296  			postIndex := iNdEx + intStringLen
  3297  			if postIndex < 0 {
  3298  				return ErrInvalidLengthCollection
  3299  			}
  3300  			if postIndex > l {
  3301  				return io.ErrUnexpectedEOF
  3302  			}
  3303  			m.Operator = string(dAtA[iNdEx:postIndex])
  3304  			iNdEx = postIndex
  3305  		default:
  3306  			iNdEx = preIndex
  3307  			skippy, err := skipCollection(dAtA[iNdEx:])
  3308  			if err != nil {
  3309  				return err
  3310  			}
  3311  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3312  				return ErrInvalidLengthCollection
  3313  			}
  3314  			if (iNdEx + skippy) > l {
  3315  				return io.ErrUnexpectedEOF
  3316  			}
  3317  			iNdEx += skippy
  3318  		}
  3319  	}
  3320  
  3321  	if iNdEx > l {
  3322  		return io.ErrUnexpectedEOF
  3323  	}
  3324  	return nil
  3325  }
  3326  func (m *Attribute) Unmarshal(dAtA []byte) error {
  3327  	l := len(dAtA)
  3328  	iNdEx := 0
  3329  	for iNdEx < l {
  3330  		preIndex := iNdEx
  3331  		var wire uint64
  3332  		for shift := uint(0); ; shift += 7 {
  3333  			if shift >= 64 {
  3334  				return ErrIntOverflowCollection
  3335  			}
  3336  			if iNdEx >= l {
  3337  				return io.ErrUnexpectedEOF
  3338  			}
  3339  			b := dAtA[iNdEx]
  3340  			iNdEx++
  3341  			wire |= uint64(b&0x7F) << shift
  3342  			if b < 0x80 {
  3343  				break
  3344  			}
  3345  		}
  3346  		fieldNum := int32(wire >> 3)
  3347  		wireType := int(wire & 0x7)
  3348  		if wireType == 4 {
  3349  			return fmt.Errorf("proto: Attribute: wiretype end group for non-group")
  3350  		}
  3351  		if fieldNum <= 0 {
  3352  			return fmt.Errorf("proto: Attribute: illegal tag %d (wire type %d)", fieldNum, wire)
  3353  		}
  3354  		switch fieldNum {
  3355  		case 1:
  3356  			if wireType != 2 {
  3357  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  3358  			}
  3359  			var stringLen uint64
  3360  			for shift := uint(0); ; shift += 7 {
  3361  				if shift >= 64 {
  3362  					return ErrIntOverflowCollection
  3363  				}
  3364  				if iNdEx >= l {
  3365  					return io.ErrUnexpectedEOF
  3366  				}
  3367  				b := dAtA[iNdEx]
  3368  				iNdEx++
  3369  				stringLen |= uint64(b&0x7F) << shift
  3370  				if b < 0x80 {
  3371  					break
  3372  				}
  3373  			}
  3374  			intStringLen := int(stringLen)
  3375  			if intStringLen < 0 {
  3376  				return ErrInvalidLengthCollection
  3377  			}
  3378  			postIndex := iNdEx + intStringLen
  3379  			if postIndex < 0 {
  3380  				return ErrInvalidLengthCollection
  3381  			}
  3382  			if postIndex > l {
  3383  				return io.ErrUnexpectedEOF
  3384  			}
  3385  			m.Key = string(dAtA[iNdEx:postIndex])
  3386  			iNdEx = postIndex
  3387  		case 2:
  3388  			if wireType != 2 {
  3389  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  3390  			}
  3391  			var stringLen uint64
  3392  			for shift := uint(0); ; shift += 7 {
  3393  				if shift >= 64 {
  3394  					return ErrIntOverflowCollection
  3395  				}
  3396  				if iNdEx >= l {
  3397  					return io.ErrUnexpectedEOF
  3398  				}
  3399  				b := dAtA[iNdEx]
  3400  				iNdEx++
  3401  				stringLen |= uint64(b&0x7F) << shift
  3402  				if b < 0x80 {
  3403  					break
  3404  				}
  3405  			}
  3406  			intStringLen := int(stringLen)
  3407  			if intStringLen < 0 {
  3408  				return ErrInvalidLengthCollection
  3409  			}
  3410  			postIndex := iNdEx + intStringLen
  3411  			if postIndex < 0 {
  3412  				return ErrInvalidLengthCollection
  3413  			}
  3414  			if postIndex > l {
  3415  				return io.ErrUnexpectedEOF
  3416  			}
  3417  			m.Value = string(dAtA[iNdEx:postIndex])
  3418  			iNdEx = postIndex
  3419  		default:
  3420  			iNdEx = preIndex
  3421  			skippy, err := skipCollection(dAtA[iNdEx:])
  3422  			if err != nil {
  3423  				return err
  3424  			}
  3425  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3426  				return ErrInvalidLengthCollection
  3427  			}
  3428  			if (iNdEx + skippy) > l {
  3429  				return io.ErrUnexpectedEOF
  3430  			}
  3431  			iNdEx += skippy
  3432  		}
  3433  	}
  3434  
  3435  	if iNdEx > l {
  3436  		return io.ErrUnexpectedEOF
  3437  	}
  3438  	return nil
  3439  }
  3440  func skipCollection(dAtA []byte) (n int, err error) {
  3441  	l := len(dAtA)
  3442  	iNdEx := 0
  3443  	depth := 0
  3444  	for iNdEx < l {
  3445  		var wire uint64
  3446  		for shift := uint(0); ; shift += 7 {
  3447  			if shift >= 64 {
  3448  				return 0, ErrIntOverflowCollection
  3449  			}
  3450  			if iNdEx >= l {
  3451  				return 0, io.ErrUnexpectedEOF
  3452  			}
  3453  			b := dAtA[iNdEx]
  3454  			iNdEx++
  3455  			wire |= (uint64(b) & 0x7F) << shift
  3456  			if b < 0x80 {
  3457  				break
  3458  			}
  3459  		}
  3460  		wireType := int(wire & 0x7)
  3461  		switch wireType {
  3462  		case 0:
  3463  			for shift := uint(0); ; shift += 7 {
  3464  				if shift >= 64 {
  3465  					return 0, ErrIntOverflowCollection
  3466  				}
  3467  				if iNdEx >= l {
  3468  					return 0, io.ErrUnexpectedEOF
  3469  				}
  3470  				iNdEx++
  3471  				if dAtA[iNdEx-1] < 0x80 {
  3472  					break
  3473  				}
  3474  			}
  3475  		case 1:
  3476  			iNdEx += 8
  3477  		case 2:
  3478  			var length int
  3479  			for shift := uint(0); ; shift += 7 {
  3480  				if shift >= 64 {
  3481  					return 0, ErrIntOverflowCollection
  3482  				}
  3483  				if iNdEx >= l {
  3484  					return 0, io.ErrUnexpectedEOF
  3485  				}
  3486  				b := dAtA[iNdEx]
  3487  				iNdEx++
  3488  				length |= (int(b) & 0x7F) << shift
  3489  				if b < 0x80 {
  3490  					break
  3491  				}
  3492  			}
  3493  			if length < 0 {
  3494  				return 0, ErrInvalidLengthCollection
  3495  			}
  3496  			iNdEx += length
  3497  		case 3:
  3498  			depth++
  3499  		case 4:
  3500  			if depth == 0 {
  3501  				return 0, ErrUnexpectedEndOfGroupCollection
  3502  			}
  3503  			depth--
  3504  		case 5:
  3505  			iNdEx += 4
  3506  		default:
  3507  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3508  		}
  3509  		if iNdEx < 0 {
  3510  			return 0, ErrInvalidLengthCollection
  3511  		}
  3512  		if depth == 0 {
  3513  			return iNdEx, nil
  3514  		}
  3515  	}
  3516  	return 0, io.ErrUnexpectedEOF
  3517  }
  3518  
  3519  var (
  3520  	ErrInvalidLengthCollection        = fmt.Errorf("proto: negative length found during unmarshaling")
  3521  	ErrIntOverflowCollection          = fmt.Errorf("proto: integer overflow")
  3522  	ErrUnexpectedEndOfGroupCollection = fmt.Errorf("proto: unexpected end of group")
  3523  )