Technical functionality and properties of the CF-20 standard is decribed in the dap_chain_datum_token.c
file of the Cellframe SDK. It is integrated in the very blockchain.
All our CF-20 tokens support functions, almost similar to same in the ERC-20 standard.
Some changeable parameters are realised in our tokens as mandatory (total_supply
, valid_signs
, type
, ticker
, etc) while others are realized using different flags.
Flags can significantly alter token properties, such as allowing or restricting fund transfers to/from specific addresses and many more.
Mandatory parameters
Let’s use the TOKEN_INFO CLI command for acquire some information about CELL token:
current state:
-->Token name: CELL
type: CF20
flags: NONE
description: The token description is not set
Supply total: 0
Decimals: 18
Auth signs valid: 4
Auth signs total: 8
Signatures public keys:
#below there is a list of attached public keys and information about token updatings
Here is the parameters description:
Token name
- ticker (name) of the token
type
- type of the token (CF20
by default)
flags
- different token properties (ALL_ALLOWED
by default)
description
- token description
Supply total
- maximum sum limit of all token emissions (if 0
- there is no limit)
Decimals
- number accuration after comma (18
by default)
Auth signs valid
- quantity of authorized token signatures required fot it’s emission
Auth signs total
- quantity of authorized token signatures
Signatures public keys
- public certificates which were used to sign token
Flags
Flags description.
NO_FLAGS
- no specified flags
ALL_BLOCKED
- blocks all permissions
ALL_ALLOWED
- allows all permissions unless they are blocked (be careful with this mode)
ALL_FROZEN
- temporarily freezes all permissions
ALL_UNFROZEN
- unfreezes all frozen permissions
STATIC_ALL
- blocks manipulations with a token after declaration (tokens are declared statically)
STATIC_FLAGS
- blocks manipulations with token flags after declaration
STATIC_PERMISSIONS_ALL
- blocks all manipulations with permissions list after declaration
STATIC_PERMISSIONS_DATUM_TYPE
- blocks all manipulations with datum permissions list after declaration
STATIC_PERMISSIONS_TX_SENDER
- blocks all manipulations with transaction senders permissions list after declaration
STATIC_PERMISSIONS_TX_RECEIVER
- blocks all manipulations with transaction receivers permissions list after declaration
ALL_SENDER_BLOCKED
- adds specified wallet address to the list of blocked receivers
ALL_SENDER_ALLOWED
- adds specified wallet address to the list of allowed receivers
ALL_RECEIVER_BLOCKED
- adds specified wallet address to the list of blocked senders
ALL_RECEIVER_ALLOWED
- adds specified wallet address to the list of allowed senders