Skip to main content

Relay Outage

Examining Outage Scenarios

Total Relay Outage

In this scenario we'll assume that the Relay is completely unavailable and unable to process any transactions. Users must send transactions directly to the AuctionPortal contract to have them included in the L2 chain. We'll also assume that the relay_window has been set to 24 hours. Here, two users are sending transactions to the AuctionPortal contract.

Observe how the transactions sent by both users are included in the L2 chain automatically after the relay_window has elapsed. The transactions are included in the L2 chain in the order they were received by the AuctionPortal contract.

Partial Relay Outage

In this scenario we'll assume that the Relay is down for some period of time but comes back online before the relay_window has elapsed. A user sends a transaction to the AuctionPortal during the downtime and but the Relay comes back online and includes the transaction in an L2 block before the full relay_window ends.

Partial Outage Ordering

Here we'll again assume that the Relay is down for some period of time but comes back online before the relay_window has elapsed. In this scenario, we'll observe the ability that the Relay has to include additional transactions in the L2 chain in between transactions sent to the AuctionPortal contract.

Here, even though the first user sends their transaction to the AuctionPortal contract before the second user sends their transaction to the Relay, the Relay is able to include the second user's transaction before the first user's transaction is included. The Relay will typically choose to include transactions sent to the AuctionPortal contract before any other transactions but this is not guaranteed.