Skip to content

v2.2.1 Release

Compare
Choose a tag to compare
@drortirosh drortirosh released this 14 May 16:15
· 242 commits to master since this release
8c03079

This is the latest version deployed on the Ethereum mainnet, including contracts, client and relay servers.
The audits folder includes the security audit reports by Least Authority and Chainsafe.

This is the first release with a monorepo project structure. The old @opengsn/gsn package is now deprecated, instead every component is published separately on npm:

@opengsn/contracts
@opengsn/provider
@opengsn/relay
@opengsn/cli

Client Changes

A client must import the @opengsn/provider package instead of @opengsn/gsn.

Relay Server Changes

The relayer code is published as @opengsn/relay

The opengsn/jsrelay docker container we maintain is still the recommended way to run the relay server.

The Relay Server now needs to know its owner in advance. Its configuration must have a new item:

   "ownerAddress": "0x..."

CLI changes

The gsn relayer-register tool now verifies that the relayer it attempts to register indeed has the correct owner address, and refuses to send funds to it otherwise.

Experimental gsn status command is created.

Contract Changes

  • The import statements for Recipients and Paymasters smart-contracts should be changed to:

import "@opengsn/contracts/src/BaseRelayRecipient.sol";
import "@opengsn/contracts/src/BasePaymaster.sol";

In the version string (versionRecipient or versionPaymaster), the version string must conform to SemVer and start with "2.2."

  • Solidity compiler version bumped to 0.7.6
  • Staking for relay on StakeManager now has to be authorized by the Relay Server.
  • Penalization of illegal transactions now uses a commit-reveal scheme to prevent front-running. Penalization of EIP-2930 transaction types added in Berlin is now supported.