Skip to content

Commit 0819c2f

Browse files
committed
Update docs to support AccessControlDefaultAdminRules fixes
1 parent 67f60c2 commit 0819c2f

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

content/contracts-cairo/3.x/api/access.mdx

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ Functions
241241
- [`change_default_admin_delay(new_delay)`](#IAccessControlDefaultAdminRules-change_default_admin_delay)
242242
- [`rollback_default_admin_delay()`](#IAccessControlDefaultAdminRules-rollback_default_admin_delay)
243243
- [`default_admin_delay_increase_wait()`](#IAccessControlDefaultAdminRules-default_admin_delay_increase_wait)
244+
- [`maximum_default_admin_transfer_delay()`](#IAccessControlDefaultAdminRules-maximum_default_admin_transfer_delay)
244245

245246
Events
246247

@@ -401,11 +402,25 @@ May emit a [DefaultAdminDelayChangeCanceled](#IAccessControlDefaultAdminRules-De
401402
id="IAccessControlDefaultAdminRules-default_admin_delay_increase_wait"
402403
kind="external"
403404
>
404-
Maximum time in seconds for an increase to [default\_admin\_delay](#IAccessControlDefaultAdminRules-default_admin_delay) (that is scheduled using [change\_default\_admin\_delay](#IAccessControlDefaultAdminRules-change_default_admin_delay)) to take effect. Defaults to 5 days.
405-
406-
When the [default\_admin\_delay](#IAccessControlDefaultAdminRules-default_admin_delay) is scheduled to be increased, it goes into effect after the new delay has passed with the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds) that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can be overridden for a custom [default\_admin\_delay](#IAccessControlDefaultAdminRules-default_admin_delay) increase scheduling.
405+
Maximum time in seconds for an increase to [default\_admin\_delay](#IAccessControlDefaultAdminRules-default_admin_delay) (that is scheduled using [change\_default\_admin\_delay](#IAccessControlDefaultAdminRules-change_default_admin_delay)) to take effect.
407406

407+
<Callout type='warn'>
408408
Make sure to add a reasonable amount of time while overriding this value, otherwise, there’s a risk of setting a high new delay that goes into effect almost immediately without the possibility of human intervention in the case of an input error (e.g. set milliseconds instead of seconds).
409+
</Callout>
410+
411+
Consider carefully the value set for `MAXIMUM_DEFAULT_ADMIN_TRANSFER_DELAY` too, since it will affect how fast you can recover from an accidental delay increase.
412+
</APIItem>
413+
414+
<APIItem
415+
functionSignature="maximum_default_admin_transfer_delay() → u64"
416+
id="IAccessControlDefaultAdminRules-maximum_default_admin_transfer_delay"
417+
kind="external"
418+
>
419+
Maximum time in seconds for a `default_admin` transfer delay.
420+
421+
<Callout type='warn'>
422+
If `MAXIMUM_DEFAULT_ADMIN_TRANSFER_DELAY` is set too high, you might be unable to recover from an accidental delay increase for an extended period. Too low, and it unnecessarily restricts how much security delay you can impose for `default_admin` transfers. As a best practice, consider setting it in the 30-60 day range for a good balance between security and recoverability.
423+
</Callout>
409424
</APIItem>
410425

411426
#### Events [!toc] [#IAccessControlDefaultAdminRules-Events]
@@ -1148,6 +1163,7 @@ Embeddable Implementations
11481163
- [`change_default_admin_delay(self, new_delay)`](#IAccessControlDefaultAdminRules-change_default_admin_delay)
11491164
- [`rollback_default_admin_delay(self)`](#IAccessControlDefaultAdminRules-rollback_default_admin_delay)
11501165
- [`default_admin_delay_increase_wait(self)`](#IAccessControlDefaultAdminRules-default_admin_delay_increase_wait)
1166+
- [`maximum_default_admin_transfer_delay(self)`](#IAccessControlDefaultAdminRules-maximum_default_admin_transfer_delay)
11511167

11521168
#### AccessControlImpl [!toc] [#AccessControlDefaultAdminRulesComponent-Embeddable-Impls-AccessControlImpl]
11531169

@@ -1368,6 +1384,18 @@ Make sure to add a reasonable amount of time while overriding this value, otherw
13681384
</Callout>
13691385
</APIItem>
13701386

1387+
<APIItem
1388+
functionSignature="maximum_default_admin_transfer_delay(self: @ContractState) → u64"
1389+
id="AccessControlDefaultAdminRulesComponent-maximum_default_admin_transfer_delay"
1390+
kind="external"
1391+
>
1392+
Maximum time in seconds for a `default_admin` transfer delay.
1393+
1394+
<Callout type='warn'>
1395+
If `MAXIMUM_DEFAULT_ADMIN_TRANSFER_DELAY` is set too high, you might be unable to recover from an accidental delay increase for an extended period. Too low, and it unnecessarily restricts how much security delay you can impose for `default_admin` transfers. As a best practice, consider setting it in the 30-60 day range for a good balance between security and recoverability.
1396+
</Callout>
1397+
</APIItem>
1398+
13711399
<APIItem
13721400
functionSignature="has_role(self: @ContractState, role: felt252, account: ContractAddress) → bool"
13731401
id="AccessControlDefaultAdminRulesComponent-has_role"

0 commit comments

Comments
 (0)