github.com/Finschia/finschia-sdk@v0.49.1/proto/lbm/token/v1/token.proto (about) 1 syntax = "proto3"; 2 package lbm.token.v1; 3 4 option go_package = "github.com/Finschia/finschia-sdk/x/token"; 5 option (gogoproto.equal_all) = false; 6 option (gogoproto.goproto_getters_all) = false; 7 8 import "gogoproto/gogo.proto"; 9 10 // Params defines the parameters for the token module. 11 message Params { 12 option deprecated = true; 13 } 14 15 // Contract defines token information. 16 message Contract { 17 option deprecated = true; 18 19 // id defines the unique identifier of the contract. 20 string id = 1; 21 // name defines the human-readable name of the contract. mandatory (not ERC20 compliant). 22 string name = 2; 23 // symbol is an abbreviated name for contract. mandatory (not ERC20 compliant). 24 string symbol = 3; 25 // an uri for the image of the contract stored off chain. 26 string uri = 4; 27 // meta is a brief description of contract. 28 string meta = 5; 29 // decimals is the number of decimals which one must divide the amount by to get its user representation. 30 int32 decimals = 6; 31 // mintable represents whether the token is allowed to mint or burn. 32 bool mintable = 7; 33 } 34 35 // Attribute defines a key and value of the attribute. 36 message Attribute { 37 option deprecated = true; 38 39 string key = 1; 40 string value = 2; 41 } 42 43 // Permission enumerates the valid permissions on a contract. 44 enum Permission { 45 option (gogoproto.goproto_enum_prefix) = false; 46 47 // unspecified defines the default permission which is invalid. 48 PERMISSION_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "PermissionUnspecified"]; 49 50 // PERMISSION_MODIFY defines a permission to modify a contract. 51 PERMISSION_MODIFY = 1 [(gogoproto.enumvalue_customname) = "PermissionModify"]; 52 // PERMISSION_MINT defines a permission to mint tokens of a contract. 53 PERMISSION_MINT = 2 [(gogoproto.enumvalue_customname) = "PermissionMint"]; 54 // PERMISSION_BURN defines a permission to burn tokens of a contract. 55 PERMISSION_BURN = 3 [(gogoproto.enumvalue_customname) = "PermissionBurn"]; 56 } 57 58 // Deprecated: use Permission 59 // 60 // LegacyPermission enumerates the valid permissions on a contract. 61 enum LegacyPermission { 62 option (gogoproto.goproto_enum_stringer) = false; 63 option (gogoproto.goproto_enum_prefix) = false; 64 65 // unspecified defines the default permission which is invalid. 66 LEGACY_PERMISSION_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "LegacyPermissionUnspecified"]; 67 68 // modify defines a permission to modify a contract. 69 LEGACY_PERMISSION_MODIFY = 1 [(gogoproto.enumvalue_customname) = "LegacyPermissionModify"]; 70 // mint defines a permission to mint tokens of a contract. 71 LEGACY_PERMISSION_MINT = 2 [(gogoproto.enumvalue_customname) = "LegacyPermissionMint"]; 72 // burn defines a permission to burn tokens of a contract. 73 LEGACY_PERMISSION_BURN = 3 [(gogoproto.enumvalue_customname) = "LegacyPermissionBurn"]; 74 } 75 76 // Authorization defines an authorization given to the operator on tokens of the holder. 77 message Authorization { 78 option deprecated = true; 79 80 // address of the token holder which approves the authorization. 81 string holder = 1; 82 // address of the operator which the authorization is granted to. 83 string operator = 2; 84 } 85 86 // Grant defines permission given to a grantee. 87 message Grant { 88 option deprecated = true; 89 90 // address of the grantee. 91 string grantee = 1; 92 // permission on the contract. 93 Permission permission = 2; 94 }