Skip to content

Commit 858b7ee

Browse files
committed
Fix flags/permissions, positive logic
1 parent 0fdb3b0 commit 858b7ee

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

bsip-0048.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,31 +32,31 @@ The ability to change the precision of a created asset adds flexibility in the a
3232

3333
# Rational
3434

35-
`disable_modify_max_supply` will be added to `asset_issuer_permissions`. The permission can be activated to forbid the modification of the `max_supply` (`asset_object.options`). The related flag can only be set to `false` if `current_supply` is zero.
35+
`enable_modify_max_supply` will be added to `asset_issuer_permissions`. The permission can be activated to permit the modification of the `max_supply` (`asset_object.options`).
3636

37-
`disable_issue` will be added to `asset_issuer_permissions`. The permission can be activated to forbid issuance of additional tokens. Once the related flag is set to `true`, it can not be changed.
37+
`enable_issue` will be added to `asset_issuer_permissions`. The permission can be set to `false` to permit the related flag to be set to `false`, which will not permit issuance of tokens. Once the flag is set to `false`, it can not be changed.
3838

3939
Changing the precision of an asset should be easily accomplished with an `asset_update_operation`. This causes no harm while the asset is not issued.
4040

4141
# Specifications
4242

4343
This BSIP comes with changes to the protocol, hence requires a propotocol upgrade. However the changes to the code are minor.
4444

45-
For `disable_modify_max_supply`:
45+
For `enable_modify_max_supply`:
4646

47-
1. Add `disable_modify_max_supply` to the issuer permissions
48-
2. Set `disable_modify_max_supply` to false for existing assets at hardfork time
47+
1. Add `enable_modify_max_supply` to the issuer permissions
48+
2. Set `enable_modify_max_supply` to `true` for existing assets at hardfork time
4949
3. Add a `can_modify_max_supply()` to the `asset_object`
50-
4. Change the `asset_update_evaluator::do_evaluate` method to assert false for
51-
1. the setting of the `disable_modify_max_supply` flag to `false` if `current_supply` is not zero or
52-
2. the modification of the `max_supply` when the `disable_modify_max_supply` is `true`
50+
4. Change the `asset_update_evaluator::do_evaluate` method to assert false when
51+
1. the setting of the `enable_modify_max_supply` flag to `true` if `current_supply` is not zero or
52+
2. the modification of the `max_supply` when the `enable_modify_max_supply` is `false`
5353

54-
For `disable_issue`:
54+
For `enable_issue`:
5555

56-
1. Add `disable_issue` to the issuer permissions
57-
2. Set `disable_issue` to `false` for existing assets at hardfork time
56+
1. Add `enable_issue` to the issuer permissions
57+
2. Set `enable_issue` to `true` for existing assets at hardfork time
5858
3. Add a `can_issue()` to the `asset_object`
59-
4. Change the `asset_update_evaluator::do_evaluate` method to assert false for the setting of the `disable_issue` flag to `false` if it is currently `true`
59+
4. Change the `asset_update_evaluator::do_evaluate` method to assert false for the setting of the `enable_issue` flag to `true` if it is currently `false`
6060
5. Change the `asset_issue_evaluator::do_evaluate` method to assert false if `can_issue()` returns false
6161
6. Change the `call_order_update_evalutator::do_evaluate` method to assert false if `can_issue()` returns false
6262

@@ -69,13 +69,13 @@ To change the precision:
6969

7070
# Risks
7171

72-
It is believed that the addition of `disable_modify_max_supply` and `disable_issue` will add security for asset holders.
72+
It is believed that the addition of `enable_modify_max_supply` and `enable_issue` will add security for asset holders.
7373

7474
There is the risk to parties interested in acquiring the asset if the precision is changed after due diligence and before issuance.
7575

7676
# Discussion
7777

78-
Using `disable_` as names for boolean values is not advisable and can lead to confusion. However, these names were chosen for compatibility reasons. See the comments [of a similar situation here](https://github.com/bitshares/bitshares-core/pull/1375#pullrequestreview-164580457).
78+
Using `disable_` as names for boolean values is not advisable and can lead to confusion. See the comments [of a similar situation here](https://github.com/bitshares/bitshares-core/pull/1375#pullrequestreview-164580457). Rather than continue the legacy behavior, this BSIP will take a different tack and use positive logic. While it may be confusing for a time, future permissions and flags will use positive logic, and previous negative logic permissions will be changed to use positive logic (not part of this BSIP).
7979

8080
# Summary for Shareholders
8181

0 commit comments

Comments
 (0)