Describe the bug
The new disable-bit permissions are as follows:
// If one of the following bits is set in asset issuer permissions,
// it means the asset issuer (or owner for bitassets) does NOT have the permission to update
// the corresponding flag, parameters or perform certain actions.
// This is to be compatible with old client software.
// Note: This comment is copied and reformatted above for better Doxygen documentation formatting.
lock_max_supply = 0x200, ///< the max supply of the asset can not be updated
disable_new_supply = 0x400, ///< unable to create new supply for the asset
// For disable_mcr_update, disable_icr_update and disable_mssr_update,
// if one of these is set in asset issuer permissions, and
// - if the bitasset owner has set a value for the corresponding parameter, the value can not be updated,
// - if the bitasset owner has not set a value for the corresponding parameter, the parameter can still be
// updated by the price feed producers.
// Note: This comment is copied and reformatted above for better Doxygen documentation formatting.
disable_mcr_update = 0x800, ///< the bitasset owner can not update MCR, permission only
disable_icr_update = 0x1000, ///< the bitasset owner can not update ICR, permission only
disable_mssr_update = 0x2000, ///< the bitasset owner can not update MSSR, permission only
disable_bsrm_update = 0x4000, ///< the bitasset owner can not update BSRM, permission only
disable_collateral_bidding = 0x8000 ///< Can not bid collateral after a global settlement
So, if my understanding of the above is correct, then the following should be true:
- When the "lock_max_supply" issuer flag is enabled, the asset creator does not have permission to update the "lock_max_supply" flag.
This applies for the rest of these disable-bit flags, so when the toggle is disabled, the flag should become available to edit, right?
When you disable the issuer permission, the corresponding flag is missing, you're therefore unable to enable the flag to enable the new feature?
To Reproduce
Steps to reproduce the behavior:
- Go to the asset creator page.
- Enable smartcoin options
- Go to the issuer permission page, disable severl of these disable-bit issuer permissions.
- Go to the flag page, look for the corresponding flag for the issuer permission you just disabled, it will not be there.
Expected behavior
Unlike the enable-bit issuer permissions, the disable-bit issuer permissions should result in the opposite behaviour in the flags - they should be visible and editable flags when their disable-bit issuer permission has been disabled.
Additional context
Core code reference: https://github.com/bitshares/bitshares-core/blob/3174d22b5267d0057d0857ac53086e9813c8559f/libraries/protocol/include/graphene/protocol/types.hpp#L205
This is the point where the disabled disable-bit permission fails to be included as a configurable flag:
|
for (let key in permissionBooleans) { |
The double-negative terminology is confusing.
Misconfiguration of these disable-bit's corresponding flags could be preventing users from creating new smartcoins.
Describe the bug
The new disable-bit permissions are as follows:
So, if my understanding of the above is correct, then the following should be true:
This applies for the rest of these disable-bit flags, so when the toggle is disabled, the flag should become available to edit, right?
When you disable the issuer permission, the corresponding flag is missing, you're therefore unable to enable the flag to enable the new feature?
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Unlike the enable-bit issuer permissions, the disable-bit issuer permissions should result in the opposite behaviour in the flags - they should be visible and editable flags when their disable-bit issuer permission has been disabled.
Additional context
Core code reference: https://github.com/bitshares/bitshares-core/blob/3174d22b5267d0057d0857ac53086e9813c8559f/libraries/protocol/include/graphene/protocol/types.hpp#L205
This is the point where the disabled disable-bit permission fails to be included as a configurable flag:
bitshares-ui/app/components/Account/AccountAssetCreate.jsx
Line 771 in cba8821
The double-negative terminology is confusing.
Misconfiguration of these disable-bit's corresponding flags could be preventing users from creating new smartcoins.