diff --git a/bsip-0040.md b/bsip-0040.md index 0a313d1..d99c14b 100644 --- a/bsip-0040.md +++ b/bsip-0040.md @@ -93,7 +93,7 @@ List of possible asserts are: | `lt, le, gt, ge` | `comparative` | stateless | | `limit` | [`max_cumsum`, `interval_in_sec`] | [`current_cumsum`, `interval_began`] | | `limit_monthly` | [`max_cumsum`, `interval_in_months`] | [`current_cumsum`, `interval_began`] | -| `attribute_assert` | `attribute_to_assert` = list of restrictions | stateless | +| `attribute_assert` | list of restrictions | stateless | Following cases must hold for a restriction: - if there is no value given (e.g. an optional argument, or nested value not given), the assert passes (no change, no violation) @@ -189,6 +189,7 @@ Since the required accounts is Account A, and the given accounts is also Account the transaction is executed. ### Modification to the backend + * Add a new index or extend the account object to store custom active permission are assigned to an account and contain a list of custom active authorities. Multiple custom active authority entries are possible for one operation * If the active authority of the account is updated, all custom active authorities need to be confirmed in the update. Every unconfirmed one is deleted otherwise * Provide operations: `install_custom_active_authority`, `update_custom_active_authority`, `delete_custom_active_authority` to allow changing the custom active permission (3 operation to allow custom transaction fees and avoid having to send the complete list of all authorities for every update) @@ -205,6 +206,7 @@ Normal accounts can only create custom active authoritites with a duration of ma - `update_custom_active_authority` and `delete_custom_active_authority`: Similar to `account_update` # Milestones + We propose do split the implmentation into two milestones. Each milestone will be voted on as a separate BSIP: 1. Implementation of basic functionaliy to allow custom active permissions and authorities, including `any`, `none` and `lt, le, gt, ge` and `attribute_assert` `asserts`. If deemed necessary by developpers, reduce to only allow one key or one account for every `custom active authority`