Non Standard Behaviours¶
NFToken are based upon the ERC20 Token
Standard, however they deviate in several areas.
Tokens held by the issuer will always be at the address of the IssuingEntity contract.
TokenBase.treasurySupply() returns the same result as
As a result, the following non-standard behaviours exist:
- Any address associated with the issuer can transfer tokens from the IssuingEntity contract using
- Attempting to send tokens to any address associated with the issuer will result in the tokens being sent to the IssuingEntity contract.
The following behaviours deviate from ERC20 relating to token transfers:
- Transfers of 0 tokens will revert with an error string “Cannot send 0 tokens”.
- If the caller and sender addresses are both associated to the same ID,
TokenBase.transferFrommay be called without giving prior approval. In this way an investor can easily recover tokens when a private key is lost or compromised.
- The issuer may call
TokenBase.transferFromto move tokens between any addresses without prior approval. Transfers of this type must still pass the normal checks, with the exception that the sending address may be restricted. In this way the issuer can aid investors with token recovery in the event of a lost or compromised private key, or force a transfer in the event of a court order.