Skip to content

Release 3.0.0-beta.9

Compare
Choose a tag to compare
@forshtat forshtat released this 10 Aug 15:22
· 3 commits to master since this release

⚠️ Warning! This is the first published release after internal migration from Truffle "Contract" to Ethers.js v5 "Contract" types and, consequently, from BN.js to @ethersproject/bignumber.

This may break things internally - please do report all bugs in our Discord!

Breaking changes:

OG-1012: Remove unnecessary 'LightTruffleContract' absraction and fix Ethers.js support

LightTruffleContract wrapper class was created when we transitioned from using Truffle "Contract" to using Web3 "Contract" (437c2e6) almost 3 years ago.

However, using the same approach with LightTruffleContract as an adapter from Ethers.js (both v5 and v6) "Contract" for a code that expects a Truffle "Contract" proved to be impractical, so instead the entire @opengsn/provider code was converted to use Ethers.js "Contract" natively.

OG-1063: Expose 'actual transaction hash' for users of Ethers.js

As Ethers.js does not expose the original JSON RPC response object returned by the underlying provider, it is impossible to add undeclared fields to it. For Ethers.js the related transaction hash is now available as an experimental getPossibleTransactionHashFromRequestId() function.

Note that the function may not work in case the Relay Server decided to pay a different gas price then the one specified in the RelayRequest.

OG-1065: Fix broken ephemeral keypairs flow

Previously there was an issue with using ephemeral keys with an RPC provider that refuses calls to eth_accounts. This must be resolved now.