From 8ff3fbc7b629d51c965b1fae41cc6c86d915f371 Mon Sep 17 00:00:00 2001
From: smartcontracts The Deputy Guardian Safe (currently the Optimism Foundation Safe) utilizes the Deputy Pause Module
-to remove the need for brittle pre-signed pause transactions and to speed up the reaction speed of
-the Deputy Guardian Safe for the specific purpose of triggering the Superchain-wide pause action.
-The Deputy Pause Module is explicitly designed to be used with an Externally Owned Account and is
-not designed to function with a smart contract deputy. The Security Council Safe is extended by the Liveness Checking Module and Guard. These extensions
are intended to ensure that any loss of access to a signer's keys is identified and addressed
@@ -7496,7 +7449,8 @@ The Foundation Operations Safe: This Safe acts as the Deputy Guardian, meaning that (via the
Guardian Safe's Deputy Guardian Module Security Properties
-
-
-
Deputy Guardian Safe
-
Deputy Pause Module
-Invariants
-
-
-SuperchainConfig
contract via the Deputy
-Guardian and the DeputyGuardianModule
. Must not allow the Deputy account to authenticate any
-other action.Implementation
-
-
Security Council Liveness Checking Extensions
DeputyGuardianModule
) it can call any functions in the system which impacts
-liveness.DeputyPauseModule
to allow a signing key to execute the
+Superchain-wide pause function quickly.
Converted
where from
is the address of the input token, to
is the address of the output token,
caller
is the msg.sender
of the function call and amount
is the converted amount.
The convert
function conserves the following invariants:
The bridging of SuperchainERC20
using the SuperchainERC20Bridge
will require the following invariants:
amount
: The minted amount
in relayERC20()
should match the amount
@@ -11850,7 +11808,7 @@ An example implementation for the sendERC20
and relayERC20
functions is provided.
function sendERC20(SuperchainERC20 _token, address _to, uint256 _amount, uint256 _chainId) external returns (bytes32 msgHash_) {
_token.crosschainBurn(msg.sender, _amount);
@@ -12013,7 +11971,7 @@ Constants
SuperchainWETH
-Invariants
+Invariants
deposit
- Reverts if triggered on a chain that does not use ETH as a native token.
@@ -12073,7 +12031,7 @@ relayETH
- Emits a
RelayETH
event with details about the sender, recipient, amount, and source chain.
ETHLiquidity
-Invariants
+Invariants
Global Invariants
- Initial balance must be set to
type(uint248).max
(wei). Purpose for using type(uint248).max
is to guarantees that
@@ -12370,7 +12328,7 @@ Getter Methods<
/// @notice All contracts for a chain can be found from its SystemConfig.
function systemConfig(uint256 chainId) external view returns (SystemConfig);
-The chain's Batch Inbox address is computed at deploy time using the recommend approach defined in the standard configuration. This improves UX by removing an input, and ensures uniqueness of diff --git a/protocol/safe-extensions.html b/protocol/safe-extensions.html index 88e82a062..0bf2bde2e 100644 --- a/protocol/safe-extensions.html +++ b/protocol/safe-extensions.html @@ -179,16 +179,6 @@
The Deputy Guardian Safe (currently the Optimism Foundation Safe) utilizes the Deputy Pause Module -to remove the need for brittle pre-signed pause transactions and to speed up the reaction speed of -the Deputy Guardian Safe for the specific purpose of triggering the Superchain-wide pause action. -The Deputy Pause Module is explicitly designed to be used with an Externally Owned Account and is -not designed to function with a smart contract deputy.
-SuperchainConfig
contract via the Deputy
-Guardian and the DeputyGuardianModule
. Must not allow the Deputy account to authenticate any
-other action.The Security Council Safe is extended by the Liveness Checking Module and Guard. These extensions are intended to ensure that any loss of access to a signer's keys is identified and addressed diff --git a/protocol/stage-1.html b/protocol/stage-1.html index 964bf651d..242c01f1f 100644 --- a/protocol/stage-1.html +++ b/protocol/stage-1.html @@ -257,7 +257,8 @@
The Foundation Operations Safe: This Safe acts as the Deputy Guardian, meaning that (via the
Guardian Safe's DeputyGuardianModule
) it can call any functions in the system which impacts
-liveness.
DeputyPauseModule
to allow a signing key to execute the
+Superchain-wide pause function quickly.