Skip to content

Commit

Permalink
safe-mode & tx-pause integration (#720)
Browse files Browse the repository at this point in the history
* `safe-mode` & `tx-pause` concepts explained

* safe-mode & tx-pause extrinsics added to technical committee

* extra spaces removed

* all technical committee to exit safe mode on Astar

* Astar parameters TBD
  • Loading branch information
ipapandinas authored Dec 30, 2024
1 parent fba6584 commit fe18c1f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
32 changes: 31 additions & 1 deletion docs/learn/governance/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ To avoid duplicating the [official Polkadot Gov v1 documentation](https://wiki.p
* The `Main Council` can **cancel** an ongoing referendum if it considers it harmful. This is an _emergency_ action only.
* The `Technical Committee` can **fast-track** an external proposal in case of an emergency situation. This allows instant upgrade of the proposal into a referendum, and setting of the voting & enactment period to arbitrarily short durations.
* The `Technical Committee` can **cancel** a public proposal if it considers it to be harmful for the network.
* Any `Technical Committee` can **vet** an external proposal made by the `Main Council`, postponing it temporarily.
* Any `Technical Committee` can **veto** an external proposal made by the `Main Council`, postponing it temporarily.

## Actors

Expand Down Expand Up @@ -98,6 +98,10 @@ The `Technical Committee` can:
* instant fast tracking requires unanimous agreement, and allows setting of the voting & enactment period to arbitrarily short periods (for emergency situations)
* cancel a public proposal (not a referendum!) in case the committee considers it harmful, requires 2/3 majority agreement
* enable or disable _maintenance_ mode on the **dApp staking** pallet, requires 2/3 majority agreement
* enable or disable emergency maintenance functions on the Astar Network, requiring 2/3 majority agreement, such as
* the _maintenance_ mode on the **dApp staking**, or
* pausing/unpausing specific compromised transactions, or
* entering/exiting **Safe Mode** for the entire chain.

Any `Technical Committee` **member** can **veto** an external proposal made by the `Main Council`.

Expand Down Expand Up @@ -240,3 +244,29 @@ These parameters are related to the _dApp staking_ logic.
| dApp Register Origin | 1/2 Community Council | 2/3 Community Council |
| dApp Unregister Origin | 4/5 Community Council | 4/5 Community Council |
| Community Council Staking Operations | 1/2 Community Council | 2/3 Community Council |

### Emergency Maintenance Pallets

#### Safe Mode

The **SafeMode** pallet introduces an emergency STOP mechanism for the chain, restricting operations to a predefined set of permitted calls (only system calls). This mechanism is especially useful during chain anomalies or attacks. The `Technical Committee` can force-enter or exit _Safe Mode_. The _dApp staking_ maintenance mode is triggered when entering/exiting **Safe Mode**.

These parameters are related to the _Safe Mode_ logic.

| Parameter Name | Shibuya | Astar |
| --------------------------------------- | ------------------------ | ------------------------ |
| Enter Duration | 4 hours | TBD |
| Extend Duration | 2 hours | TBD |
| Force Enter Origin | 1/2 Technical Committee | TBD |
| Force Exit Origin | 2/3 Technical Committee | TBD |

#### Tx Pause

The **TxPause** pallet provides the ability to pause specific transaction calls dynamically. This feature is useful for mitigating issues with specific modules or calls without halting the entire chain. The `Technical Committee` can pause and resume individual calls dynamically as needed.

These parameters are related to the _Tx Pause_ logic.

| Parameter Name | Shibuya | Astar |
| --------------------------------------- | ------------------------ | ------------------------ |
| Pause Origin | 1/2 Technical Committee | TBD |
| Unpause Origin | 1/2 Technical Committee | TBD |
2 changes: 2 additions & 0 deletions docs/learn/governance/technical_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ The _pallet-collective-proxy_ is a special pallet that allows calls to be made o
* `Democracy->cancelProposal` - cancels a public proposal
* `Democracy->vetoExternal` - vetoes an external proposal
* `DappStaking->maintenanceMode` - enable or disable maintenance mode
* `SafeMode->forceEnter/forceExit` - enables/disables **Safe Mode** for the chain
* `TxPause->pause/unpause` - pauses/unpauses specific transactions

### Community Council

Expand Down

0 comments on commit fe18c1f

Please sign in to comment.