diff --git a/bsip-0037.md b/bsip-0037.md new file mode 100644 index 0000000..fe4adb9 --- /dev/null +++ b/bsip-0037.md @@ -0,0 +1,64 @@ + BSIP: 0037 + Title: Extend created asset names + Author: oxarbitrage + Status: Draft + Type: Protocol + Created: 2018-02-23 + Discussion: https://github.com/bitshares/bitshares-core/issues/620 + Replaces: - + Worker: To be done + +# Abstract + +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. + +# Motivation + +Economical, enable more asset names to be created in the exchange. + + +# Rationale + +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. + +# Specifications + +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: https://github.com/bitshares/bitshares-core/issues/620#issuecomment-364803143): + +"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." + +# Discussion + +[to be added if any] + +# Summary for Shareholders + +[to be added if any] + +# Copyright + +This document is placed in the public domain. + +# See Also + +* https://github.com/bitshares/bitshares-core/issues/620 +* https://github.com/bitshares/bsips/issues/52