diff --git a/README.md b/README.md index 2e9ac5cb..d27f4726 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,13 @@ L2s: Predeploy Contracts Spec ( https://specs.optimism.io/protocol/predeploys.ht ``` -### 4. Start testing multichain features 🚀 +### 4. Start testing multichain features 🚀 -Some examples below! +For **getting up to speed with supersim**, watch the [**🎥 Supersim 101 Training Session video**](https://www.youtube.com/live/Kh4fNshcl5Y?t=30s) + +[](https://www.youtube.com/live/Kh4fNshcl5Y?t=30s) + +More examples below! ## 🐋 Running with Docker diff --git a/contracts/src/SuperchainETHWrapper.sol b/contracts/src/SuperchainETHWrapper.sol index f0df3cad..544c372a 100644 --- a/contracts/src/SuperchainETHWrapper.sol +++ b/contracts/src/SuperchainETHWrapper.sol @@ -18,7 +18,7 @@ import {ISuperchainWETH} from "@contracts-bedrock/L2/interfaces/ISuperchainWETH. /** * @notice Thrown when the relay of SuperchainWETH has not succeeded. * @dev This error is triggered if the SuperchainWETH relay through the L2ToL2CrossDomainMessenger - * has not completed successfully successful. + * has not completed successfully. */ error RelaySuperchainWETHNotSuccessful(); diff --git a/contracts/src/tictactoe/TicTacToe.sol b/contracts/src/tictactoe/TicTacToe.sol index 4dcaba68..51e6c4fe 100644 --- a/contracts/src/tictactoe/TicTacToe.sol +++ b/contracts/src/tictactoe/TicTacToe.sol @@ -13,13 +13,13 @@ error IdChainMismatch(); /// @notice Thrown when a player tries to play themselves; error SenderIsOpponent(); -/// @notice Thrown when the exepcted event is not NewGame +/// @notice Thrown when the expected event is not NewGame error DataNotNewGame(); -/// @notice Thrown when the exepcted event is not AcceptedGame +/// @notice Thrown when the expected event is not AcceptedGame error DataNotAcceptedGame(); -/// @notice Thrown when the exepcted event is not MovePlayed +/// @notice Thrown when the expected event is not MovePlayed error DataNotMovePlayed(); /// @notice Thrown when the caller is not allowed to act @@ -40,13 +40,13 @@ error MoveInvalid(); /// @notice Thrown when the consumed event is not forward progressing the game. error MoveNotForwardProgressing(); -/// @notice Thrown when the player make a move that's already been played +/// @notice Thrown when the player makes a move that's already been played error MoveTaken(); /// @title TicTacToe -/// @notice TicTacToe is a Superchain interoprable implementation of TicTacToe where players -/// can play each other from any two chains in each others interopable dependency sets -/// without needing to pass messages between themselves. Since a chain is be default in +/// @notice TicTacToe is a Superchain interoperable implementation of TicTacToe where players +/// can play each other from any two chains in each others interoperable dependency sets +/// without needing to pass messages between themselves. Since a chain is by default in /// its own dependency set, players on the same chain can also play each other :) contract TicTacToe { uint256 public nextGameId; @@ -65,7 +65,7 @@ contract TicTacToe { ICrossL2Inbox.Identifier lastOpponentId; } - /// @notice A game is identifed from the (chainId, gameId) tuple from the chain it was initiated on + /// @notice A game is identified from the (chainId, gameId) tuple from the chain it was initiated on /// Since players on the same chain can play each other, we need to subspace by address as well. mapping(uint256 => mapping(uint256 => mapping(address => Game))) games; diff --git a/docs/src/guides/interop/cross-chain-contract-via-l2cdm.md b/docs/src/guides/interop/cross-chain-contract-via-l2cdm.md index 50b13164..ed974aba 100644 --- a/docs/src/guides/interop/cross-chain-contract-via-l2cdm.md +++ b/docs/src/guides/interop/cross-chain-contract-via-l2cdm.md @@ -8,8 +8,8 @@ This guide walks through the `CrossChainPingPong.sol` contract, focusing on high - [Flow](#flow) - [1. Contract Deployment](#1-contract-deployment) - [2. Hit the Ball (Starting Move)](#2-hit-the-ball-starting-move) - - [3. Receive on Desintation Chain](#3-receive-on-destination-chain) - - [4. Contiue Game (Hit)](#4-continue-game-hit) + - [3. Receive on Destination Chain](#3-receive-on-destination-chain) + - [4. Continue Game (Hit)](#4-continue-game-hit) - [Walkthrough](#walkthrough) - [Initializing contract state](#initializing-contract-state) - [Constructor Setup](#constructor-setup) @@ -128,7 +128,7 @@ function hitBallTo(uint256 _toChainId) public { ... } ``` -- The `ball` contract variable is populated on the chain, indicating it's presence +- The `ball` contract variable is populated on the chain, indicating its presence - The destination must be a different chain #### 2. Define The Receiving Handler diff --git a/docs/src/guides/interop/manually-relaying-interop-messages-cast.md b/docs/src/guides/interop/manually-relaying-interop-messages-cast.md index 4f123d17..bc1f4353 100644 --- a/docs/src/guides/interop/manually-relaying-interop-messages-cast.md +++ b/docs/src/guides/interop/manually-relaying-interop-messages-cast.md @@ -103,7 +103,7 @@ topics: [ ... ``` -### 5. Retrive the block timestamp the log was emitted in +### 5. Retrieve the block timestamp the log was emitted in Since the message identifier requires the block timestamp, fetch the block info to get the timestamp. diff --git a/docs/src/supersim-training-sessions-video-cover.png b/docs/src/supersim-training-sessions-video-cover.png new file mode 100644 index 00000000..627ba232 Binary files /dev/null and b/docs/src/supersim-training-sessions-video-cover.png differ