BSIP: 0037
Title: Allow new asset name to end with a number
Author: oxarbitrage <https://github.com/oxarbitrage>
Status: Accepted
Type: Protocol
Created: 2018-02-23
Discussion: https://bitsharestalk.org/index.php?topic=25997.0
Replaces: -
Worker: 1.14.98
Currently, the bitshares-core do not allow asset creation that start or end with a numerical character. Creation of index style assets like CRYPTO500
are not possible.
This BSIP proposes a protocol change to allow number characters at the end of the created asset name.
Economical, enable more asset names to be created in the exchange.
No valid reason was found until now about why this is not allowed. The creation of index style assets will bring new business to the exchange.
Restriction in asset names are detailed in asset_ops.cpp
:
/**
* Valid symbols can contain [A-Z0-9], and '.'
* They must start with [A, Z]
* They must end with [A, Z]
* They can contain a maximum of one '.'
*/
BSIP proposes to change third rule to:
They must end with [A, Z0-9]
As file where the changes are needed(asset_ops.cpp
) do not have access to the database, we are unable to use head_block_time()
to create the hardfork guard.
The process is more complicated and it is described as follows:(quote from @abit in github ticker: bitshares/bitshares-core#620 (comment)):
"To make the change, need to loose the validation code in asset_ops.cpp
, add a hard fork guard code with original rule to asset_evaluator to make sure no rule change before the hard fork, add corresponding hard fork guard code in proposal_evaluator. After hard fork, those hard fork guard code can be safely removed."
https://bitsharestalk.org/index.php?topic=25997.0
[to be added if any]
This document is placed in the public domain.