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  }