Skip to content
This repository has been archived by the owner on Nov 5, 2023. It is now read-only.

Releases: getwax/bls-wallet

v1

15 Aug 15:06
7671d78
Compare
Choose a tag to compare

This is the initial and final stable release for the bls-wallet contracts, aggregator service, npm packages bls-wallet-clients & bls-wallet-aggregator-proxy, and prototype browser extension Quill.

This repo/those components are no longer under active development & maintenance. All known critical & high security issues have been addressed. See ./contracts/audits for details. If you plan on deploying to a mainnet EVM chain, it is highly recommended that you honeypot and/or take other sensible precautions to ensure that the contracts & deployment will work as you expect.

Breaking Changes

  • To prevent a security issue, wallet contracts are no longer upgradable

Overview

  • Fix aggregator fee calculation for Optimism
  • Bundle hashes are no deterministic
  • Improvements to extension UI

What’s Changed

aggregator

aggregator-proxy

contracts

clients

docs

extension

Audit fixes, compression and aggregator hardening updates

05 May 16:50
a6f844b
Compare
Choose a tag to compare

This release sets a milestone/checkpoint for the bls-wallet contracts, aggregator service, npm packages bls-wallet-clients & bls-wallet-aggregator-proxy, and prototype browser extension Quill.

This repo/those components are still under heavy active development and the contracts are under audit. Therefore, they are NOT recommended for mainnet/production use. Here be dragons

These components are ready for testnet use. See ./contracts/networks for a list of active contract deployments, and the remote development guide for how you can use them with this repo. If you would like the contracts and an aggregator deployed to a testnet that is not listed, feel free to open an issue.

client module release: bls-wallet-clients v0.9.0

Breaking Changes

There has been significant changes to the contracts in order to accommodate audit fixes. Expect multiple breaking changes with the contracts

  • The aggregator now submits bundles to an ExpanderEntryPoint contract instead of directly to the verification gateway
  • BLS Wallet domain has been updated and a second domain has been added
  • Operations now have a required gas property. When using the client module, this can be calculated manually, or added automatically with signWithGasEstimate

Overview

  • Second round of contract updates from audit to improve contract security.
  • ERC-1271 signature validation
  • Updated BLS domains
  • Various compression changes to bring further bytes savings
  • Aggregator persists bundles in the DB
  • Aggregator now charges much more accurate fees, and fees are charged by default
  • Aggregator now uses a sqlite db instead of postgres
  • Optimism Goerli deployment added
  • BlsProvider and BlsSigner has been added to the client module to provide a familiar developer experience when using BLS Wallet components

What’s Changed

aggregator

aggregator-proxy

contracts

Read more

First Audit Fixes

16 Nov 21:56
b40d29c
Compare
Choose a tag to compare
First Audit Fixes Pre-release
Pre-release

This release sets a milestone/checkpoint for the bls-wallet contracts, aggregator service, npm packages bls-wallet-clients & bls-wallet-aggregator-proxy, and prototype browser extension Quill.

This repo/those components are still under heavy active development and the contracts are under audit. Therefore, they are NOT recommended for mainnet/production use. Here be dragons

These components are ready for testnet use. See ./contracts/networks for a list of active contract deployments, and the remote development guide for how you can use them with this repo. If you would like the contracts and an aggregator deployed to a testnet that is not listed, feel free to open an issue.

Breaking Changes

  • The signature payload for operations has changed to include the address for the wallet that the operation will run against to prevent an attack. Make sure you are using the latest deployed contracts and bls-wallet-clients@0.8.0.

Overview

  • First round of contract updates from audit to improve contract security.
  • Aggregator now returns L2 transaction hash as part of receipt.
  • Add getOperationResults to clients to aid in displaying/triaging errors from actions in submitted bundles.
  • You can now switch networks & select a default fiat currency in the extension from the settings page.
  • Extension can now generate a QR code to receive funds & displays balances of ETH & tokens.

What’s Changed

  • Switch to supported contracts when testing aggregator (#313) @voltrevo
  • Switch extension upload to more relevant GH action (#291) @jacque006

aggregator

aggregator-proxy

contracts

clients

docs

extension

Preaudit Updates

22 Jun 20:31
17ccc5b
Compare
Choose a tag to compare
Preaudit Updates Pre-release
Pre-release

This release sets a milestone/checkpoint for the bls-wallet contracts, aggregator service, npm packages bls-wallet-clients & bls-wallet-aggregator-proxy, and prototype browser extension Quill.

This repo/those components are still under heavy active development and the contracts are under audit. Therefore, they are NOT recommended for mainnet/production use. Here be dragons

These components are ready for testnet use. See ./contracts/networks for a list of active contract deployments, and the remote development guide for how you can use them with this repo. If you would like the contracts and an aggregator deployed to a testnet that is not listed, feel free to open an issue.

  • Fixed & finalized contracts for another round of auditing.
  • Added npm package bls-wallet-aggregator-proxy to proxy to an existing aggregator instance. See the README for more details.
  • First wave of extension refactoring to reduce bugs & cleanup code base.
  • Added initial CI/CD checks and releases.
  • Updated top level project documentation.

All Changes

aggregator

contracts

clients

docs

extension

dApp Interaction

22 Apr 13:01
b945a3b
Compare
Choose a tag to compare
dApp Interaction Pre-release
Pre-release

This release sets a milestone/checkpoint for the bls-wallet contracts, aggregator service, npm package bls-wallet-clients, and prototype extension Quill. Basic dApp interaction with the full stack is now functional.

This repo/those components are still under heavy active development and the contracts have not been audited. Therefore, they are NOT recommended for mainnet/production use. Here be dragons

These components are ready for testnet use. See ./contracts/networks for a list of active contract deployments. If you would like the contracts and an aggregator deployed to a testnet that is not listed, feel free to open an issue.

Updates

contracts

  • Deploy to arbitrum testnet #79
  • Test atomicity of operations and actions #115
  • Avoid redundant calculations #117
  • Use hash to identify the approved proxy admin function rather than storing the whole bytecode #132
  • Require rewards - partial: Updates to contracts and clients #137
  • Added Arbitrum gas results handling feature #138
  • Audit feedback #149
  • Fix issue with attacker wallet locking another users wallet #150
  • Move most deps to devDeps for contracts #159
  • Add checks to gateway upgrade #163
  • Simplify success #185

clients (bls-wallet-clients)

https://www.npmjs.com/package/bls-wallet-clients/v/0.6.0

  • Update bls-wallet-clients to v0.5.3 #86
  • Avoid problematic toString no-ops #89
  • Switch ./clients/deps/hubble-bls to @thehubbleproject/bls #92
  • Pin bls-wallet-clients@0.6.0 #194

aggregator

  • Update aggregator deps #76
  • Limit failed bundle storage #78
  • Fix docker build #82
  • Update bls-wallet-clients version #84
  • Switch VG export to type only, add Troubleshooting section #94
  • Require rewards #136
  • Separate out AggregationStrategy #153
  • Add /estimateFee #161
  • Use BigNumber for nonces #162
  • Add receipts #186

extension

  • Update extension with bundle changes #75
  • Updated Keyring Controller #85
  • Add welcome screen #88
  • Rough onboarding flow part 1 #93
  • Rough onboarding flow part 2 #95
  • Measure password strength #101
  • Make password creation form functional #102
  • Theme engine #103
  • Lint fixes #111
  • Reopened: Make password creation form functional #112
  • Onboarding UI update #113
  • Creates Wallet Page and adds static UI for summary cards #135
  • Cosmetic changes from feat/inpage-provider #142
  • refactor: renamed components directory to onboarding #143
  • Added Token assets table #147
  • add tx state manager #151
  • Addresses tech debts #164
  • Routing changes #166
  • Allow local eth RPC node for controllers #167
  • Onboarding and Account creation #168
  • Update extension networks, use in existing extension code #172
  • Override initial keyringController state to include chainId #175
  • fetch default quill account via eth_accounts rpc call #176
  • Dapp interaction with eth_sendTransaction rpc call #183

Initial unstable release

23 Dec 02:00
87e115b
Compare
Choose a tag to compare
Pre-release

This release sets a milestone/checkpoint for the bls-wallet contracts, aggregator service, and npm package bls-wallet-clients.

This repo/those components are still under heavy active development, are unstable, have not been audited, and are NOT recommended in their current form for mainnet/production use. Here be dragons

Updates

contracts

  • BLSWallet and VerificationGateway are now upgradable #69
  • BLSWallets can now be recovered #72
  • Use bls-wallet-clients in tests #34
  • Linting #65

clients (bls-wallet-clients)

https://www.npmjs.com/package/bls-wallet-clients/v/0.5.0

  • bls-wallet-signers merged into bls-wallet-clients, directly tied to contracts typechain TypeScript definitions #64

aggregator

  • Update with bls-wallet-clients updates #68

extension

  • Decode method name when sending transactions #56

Other

  • Improve monorepo dev setup #26

Still Broken

  • Extension (Quill) functioning with aggegator RPC/contract changes.