diff --git a/bsip-0040.md b/bsip-0040.md index c88d77e..edb1f6f 100644 --- a/bsip-0040.md +++ b/bsip-0040.md @@ -47,24 +47,24 @@ All descriptions in this section are on a pseudo/prosa level and no recommendati ### Custom active permission and custom active authority -A `custom_active_permission` looks like follows (in JSON for clarification, backend serializes and stores in a different way): +A `custom_active_permission` looks like follows (in JSON/pseudo for clarification): ``` custom_active_permission = list of custom_active_authority items custom_active_authority = { - valid_from, // this custom active authority is valid starting at this timestamp, defaults to now - valid_to, // this custom active authority is valid until this timestamp, defaults to 1 year - operationid, - authority, - asserts + valid_from, // timestamp when this is active, defaults to now + valid_to, // timestamp when this is invalid, defaults to 1 month + operationid, // operationid of the target operation, + authority, // same as for the existing authortities (multisig with weighted accounts or keys), + asserts // see below } ``` -Note: This assumes `custom_active_permission` is stored within `account_object`. Actual implementation details left to the implementer. +Note: This assumes `custom_active_permission` is stored within `account_object`. Actual implementation details left to the implementer, as long as every `custom_active_permission` can be assigned to exactly one account. ### Asserts The `asserts` is a list of `assert_objects` that are all together evaluated with `and` logic to evaluate a match ``` -asserts = list of assert_object +asserts = list of assert_objects assert_object = { argument, // target argument of the operationid function, // functionid to do the assert