# Bifrost Relayer Release Report v2.0.0

**URL:** <https://forum.bifrostnetwork.com/t/bifrost-relayer-release-report-v2-0-0/365>\
**Category:** Ecosystem\
**Created:** [November 7, 2024, 6:35am UTC](https://forum.bifrostnetwork.com/t/bifrost-relayer-release-report-v2-0-0/365 "2024-11-07T06:35:54Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BIFROST-Team](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.bifrostnetwork.com/bifrost-team/32/164_2.png) [@BIFROST-Team](https://forum.bifrostnetwork.com/u/BIFROST-Team)\
**Post date:** [November 7, 2024, 6:35am UTC](https://forum.bifrostnetwork.com/t/bifrost-relayer-release-report-v2-0-0/365/1 "2024-11-07T06:35:54Z")

</div>

⚠ The following report is a set of changes that deserves to be highlighted due to their impact on the Bifrost Network. Highlights are categorized into High Impact, Medium Impact, and Low Impact for ease of navigation.

For more information on setting up your relayer please follow our [official documentation](https://docs.bifrostnetwork.com/bifrost-network/running-a-node/guide-for-operators/setting-up-a-relayer/bifrost-relayer.rs).

# Summary

This report explains the recent updates to the Bifrost Network’s (CCCP) Relayer. The primary feature of this release is its support for Bitcoin Relay Protocol (BRP).

**Client Upgrade**

- V1.1.0 → V2.0.0

⚠ Please note that it is _ **mandatory** _ to upgrade your client and configurations if you’re operating a Relayer on Bifrost Mainnet or Testnet. The details about configuration updates are mentioned below in the section titled “Configuration updates required”.

# 🔥 High Impact

## Integration of the Bitcoin Relay Protocol (BRP)

**Ref:**

- [Release v2.0.0 by dnjscksdn98 · Pull Request #158 · bifrost-platform/bifrost-relayer.rs · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/pull/158)

The Bifrost Network has now successfully implemented the Bitcoin Relay Protocol (BRP) on both Testnet and Mainnet. This new protocol, **BRP** , is built on top of CCCP to enhance interoperability with the Bitcoin network. The inbound bridge, representing the inflow of Bitcoin, transfers assets from the Bitcoin network to the Bifrost network, converting native BTC into wrapped BTC tokens. Conversely, the outbound bridge transfers assets from the Bifrost network to the Bitcoin network, converting wrapped BTC tokens into native BTC, ensuring smooth asset flow between the two networks.

# 🛠 Medium Impact

## Deprecate Polygon Mumbai chain

**Ref:**

- [CCCP-370, deps: deprecate mumbai chain by dnjscksdn98 · Pull Request #120 · bifrost-platform/bifrost-relayer.rs · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/pull/120)

Previously, Polygon’s Mumbai testnet has been deprecated and a new testnet [Amoy](https://polygon.technology/blog/introducing-the-amoy-testnet-for-polygon-pos) has been launched. We will now deprecate Mumbai’s support on CCCP. Please note that Amoy may be supported in future development.

## Update Ethereum Sepolia’s Authority contract address

**Ref:**

- [deps: update sepolia authority address · bifrost-platform/bifrost-relayer.rs@5600a7d · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/commit/5600a7d2b00b2bb0098a63d1aabdfea367017472)

The Authority contract serves a crucial role within the CCCP infrastructure. Please note that the contract previously deployed on Ethereum Sepolia has been updated, and the address has been changed to `0xff95B9861eE5d44eC0b489B0DCB73932c7C7074B`.

# 💬 Low Impact

## Prevent gas estimation if it is already set

**Ref:**

- [fix: gas estimation by alstjd0921 · Pull Request #122 · bifrost-platform/bifrost-relayer.rs · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/pull/122)

When the Bifrost Relayer initiates, it examines the mempool for any stalled transactions. If any are found, it increases the gas price and resends the transaction. Previously, the relayer would estimate the gas before attempting to resend the transaction. However, this gas estimation could fail in some cases, causing the transaction to remain stuck in the mempool. To address this issue, the relayer has been updated to bypass gas estimation when the `TransactionRequest` already includes a specified `gas` parameter.

## Support compatible `eth_syncing` response format for Arbitrum

**Ref:**

- [CCCP-382: feature: Arbitrum `eth_syncing` response format by alstjd0921 · Pull Request #125 · bifrost-platform/bifrost-relayer.rs · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/pull/125)

Previously, the response format for `eth_syncing` on Arbitrum was changed. This update adjusts the Bifrost Relayer to be compatible with the new response format, preventing any further deserialization errors.

# Process to update bifrost-relayer.rs client

Please follow the steps below to update your relayer client.

**Step 1.**

First, update your configuration YAML file based on the “ **Configuration updates required** ” section below.

**Step 2.**

Then, remove or backup the previous `bifrost-relayer` binary file.

```auto
rm <PATH_TO_BIFROST_RELAYER_BINARY>

```

**Step 3.**

Next, install the latest version of `bifrost-relayer` into the same directory and update its permissions. (In case of directory changes, the Systemd configuration file should be modified as well)

```auto
wget "https://github.com/bifrost-platform/bifrost-relayer.rs/releases/latest/download/bifrost-relayer"
chmod +x bifrost-relayer

```

**Step 4.**

At last, restart the Systemd service.

```auto
sudo systemctl restart bifrost-relayer

```

### Configuration updates required

`config.mainnet.yaml`: [bifrost-relayer.rs/configs/config.mainnet.yaml at main · bifrost-platform/bifrost-relayer.rs · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/blob/main/configs/config.mainnet.yaml)

`config.testnet.yaml`: [bifrost-relayer.rs/configs/config.testnet.yaml at main · bifrost-platform/bifrost-relayer.rs · GitHub](https://github.com/bifrost-platform/bifrost-relayer.rs/blob/main/configs/config.testnet.yaml)

- [**Testnet**] Remove `evm_providers.mumbai`
- [**Testnet**] Update `authority_address` to `0xff95B9861eE5d44eC0b489B0DCB73932c7C7074B` for `evm_providers.sepolia`.
- [**Mainnet / Testnet**] Add `system.keystore_path` (default: `./keys`)
- [**Mainnet / Testnet**] Add `system.keystore_password`. (default: no password)
  - Example
  - 

```auto
system:
  private_key: "0x..."
  keystore_path: "./keys"
  keystore_password: "A very strong password"
  debug_mode: false

```

- [**Mainnet / Testnet**] Add `btc_provider`. The Bitcoin RPC provider _ **must** _ be archive-mode enabled.
  - [**Mainnet**]

  - 

```auto
btc_provider:
  id: 10000
  chain: "main"
  provider: "<YOUR_BITCOIN_MAINNET_RPC_ENDPOINT>"
  call_interval: 10000
  block_confirmations: 2

```

  - [**Testnet**]

  - 

```auto
btc_provider:
  id: 10001
  chain: "test"
  provider: "<YOUR_BITCOIN_TESTNET_RPC_ENDPOINT>"
  call_interval: 10000

```

- [**Mainnet / Testnet**] Add BRP related contracts to `evm_providers.bifrost`
  - `bitcoin_socket_address`:
    - [**Mainnet**] `0x73A9E443F51eE40C1469A740D9CCf0118e8FD9ca`
    - [**Testnet**] `0xc292D9d5c31D5246cfAC67ba91202bbCF0AA8108`

  - `socket_queue_address`: `0x0000000000000000000000000000000000000101`
  - `registration_pool_address`: `0x0000000000000000000000000000000000000100`
  - `relay_executive_address`: `0x0000000000000000000000000000000000000803`
