> For the complete documentation index, see [llms.txt](https://gitbook.mor.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.mor.org/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/l1senderv2/changelog.md).

# Changelog

## Overview

The changes in this contract are related to moving the minting of MOR tokens and migrating new liquidity from the Arbitrum network to the Base network.

This contract in v2 uses two bridges: the Arbitrum Bridge for transferring liquidity, and LayerZero for sending messages to mint tokens on L2.

Moving from Arbitrum to Base using LayerZero will not be a problem and only requires changing contract configuration. On the other hand, it is not possible to use the Arbitrum Bridge to transfer liquidity to Base. Therefore, to meet the new requirements, the bridge used for transferring liquidity must be replaced with Lido's bridge.

## Storage changes

* `arbitrumBridgeConfig` renamed to `tokenBridgeConfig`. Remove the binding to a specific bridge and make it more abstract. The function that sets these parameters has been renamed accordingly.
* `layerZeroConfig` renamed to `messageBridgeConfig`. Remove the binding to a specific bridge and make it more abstractThe function that sets these parameters has been renamed accordingly.

## Functions changes

#### setTokenBridgeConfig

We've also added handling for the case when we reconfigure from the Arbitrum bridge to the Lido bridge. The Arbitrum bridge uses a gateway via an additional call, which must be handled in new version. Lido deployments: <https://docs.lido.fi/deployed-contracts/#base>

```solidity
if (oldConfig_.wstETH != address(0)) {
  IERC20(stETH).approve(oldConfig_.wstETH, 0);

  address oldGateway_;
  try IGatewayRouter(oldConfig_.gateway).getGateway(oldConfig_.wstETH) returns (address gateway_) {
    oldGateway_ = gateway_;
  } catch {
    oldGateway_ = oldConfig_.gateway;
  }
  IERC20(oldConfig_.wstETH).approve(oldGateway_, 0);
}
```

#### sendWstETH

This function has been changed — it now works with the Lido bridge. `l2Gas_` is the gas fee for L2 and can be taken from the Lido gateway contract. `data_` is additional information for the transfer (optional field).

```solidity
function sendWstETH(
  uint32 l2Gas_, 
  bytes calldata data_
) external onlyOwner;
```

## Test enviroment

Note that in the test environment anyone can call `sendMintMessage`. The `sendWstETH` call, as before, can only be made by the contract owner. The environment is configured so that `wstETH` transfers and MOR minting work.

#### Ethereum

<table><thead><tr><th width="203.89453125">Name</th><th>Address</th></tr></thead><tbody><tr><td><code>L1SenderV3</code></td><td><kbd>0x6Fd2674E13a42E588f83Ae74e5F22a4EE24eD75A</kbd></td></tr></tbody></table>

#### Base

<table><thead><tr><th width="203.89453125">Name</th><th>Address</th></tr></thead><tbody><tr><td><code>L2MessageReceiver</code></td><td><kbd>0xB69DbF7C9aB4597D3b3BC284Cc8771D580299baD</kbd></td></tr><tr><td><code>MOR</code></td><td><kbd>0x98e3CFBdB9707dF6107Cb1A7BD03036052EAa20e</kbd></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gitbook.mor.org/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/l1senderv2/changelog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
