Skip to content

Releases: raiden-network/light-client

Arbitrum Release v3.1.1 Rohinī

28 Jul 12:58
Compare
Choose a tag to compare

🦁 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This is a maintenance release for the Arbitrum (v3) series, syncing fixes and dependencies updates with v2 backports branch, more specifically the just-released v2.3.0 version.

The only user-facing change is the support for installing and running the Light-Client (specially the CLI) on ARM64 (e.g. Apple's M1) architectures [#3135]. For more details, refer to v2.3.0 and v3.1.0 releases.

Mainnet Release v2.3.0 Kṛttikā

27 Jul 15:35
Compare
Choose a tag to compare

🧭 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This is a maintenance release for the stable mainnet Krttika release (v2). While current master branch contains development progress for the new raiden-contracts v0.50, with changes required to allow Raiden to run properly on rollups like Arbitrum, these contracts won't be immediately deployed to Ethereum Mainnet (Homestead) or be the default contracts on testnets (like Goerli).

But these networks are still supported on the v2 branch, and this release backports some refactorings, bugfixes and dependency updates from master back to v2 series (v0.40 contracts) in a fully backwards compatible manner, so no user action is needed.

Highlights

The main feature of this backports release is the coming of the Raiden webUI as an optional interface for the CLI. Not to be confused with the Light-Client dApp, which is a standalone web Raiden client running in the browser, the webUI requires a Raiden REST API-capable client running in the background, and provides a web management interface to the underlying full node. It was initially designed for the Python Client, but with the CLI's API achieving full compatibility with the reference implementation, it became possible to run the webUI as a drop-in addon. Run the CLI with --web-ui to enable it, and then go to http://localhost:5001/ui to see it in action.


Fixed

  • [#3135] Fixed some native dependencies to allow installing and running in ARM64 processors (e.g. Apple's M1 computers)

Changed

Mainnet Release v3.1.0 Rohinī

30 Jun 14:48
792d5ee
Compare
Choose a tag to compare

🐱 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This release brings the Raiden WebUI which was formerly only available for the Python Client to the Light Client CLI. The dApp UI is still available as the other official interface and standalone (browser) client. Use --web-ui with the CLI to bring up the WebUI, served by default from http://localhost:5001/ui.

Raiden SDK

Fixed

  • #3118 Dynamically set config.revealTimeout to half of tokenNetworkRegistryContract.settleTimeout, if it'd be smaller than default of 600s

Changed

  • #3122 Raiden.dumpDatabase now returns an AsyncIterable of database rows objects, which allow to stream even big state dumps without having to accumulate everything in memory; also, it doesn't require stopping SDK to dump state anymore

Added

  • #3123 Raiden.getTransfers method, an easier way to get, filter and paginate over past transfers.

Raiden dApp

Changed

  • #3122 Backup State doesn't require SDK to be shut down anymore

Raiden CLI

Added

  • #3122 /api/v1/state.json endpoint to allow downloading/backing up and --load-state <path.json> parameter to upload/rehydrate state/database in a fresh instance
  • #3123 Experimental: --web-ui option to serve Raiden WebUI from /ui route; requires yarn build:webui

Mainnet Release v3.0.0 Rohinī

02 May 16:59
Compare
Choose a tag to compare

⚡ New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

With this release the Light Client becomes compatible to the contract versions 0.50.0 which are available on Arbitrum One and are compatible with any project living on top of the roll-up. As a result of this release, the whole on-boarding process and blockchain interactions are much faster and cheaper thanks to the roll-up technology. This release required major refactoring also by the Light Client, resulting in breaking changes to all interfaces.

Raiden SDK

Fixed

  • #3106 Fix bug where Raiden.transferOnchainTokens with subkey=true could be ignored and main account used instead

Changed

  • #2916 BREAKING Switched timeouts to use timestamps (seconds) instead of blocks; previous Raiden stable releases and contracts used block numbers to count the passage of time (e.g. transfers, withdraws and channel settlement timeouts); the new refactored contracts use timestamps (in seconds) instead, which is more predictable on networks with random or on-demand block generation cadence, like rollups; while this change is motivated by the Arbitrum compatiblity effort, it's not restricted to rollups, and may eventually also be deployed to other networks
  • #2976 BREAKING Switched to arbitrum branch of raiden-contracts; this contracts branch uses block.timestamps to count timeouts, instead of block numbers; this also creates a new state for clients (new contracts, new state schema and entry)

Added

  • #3034 SDK now accepts config.confirmationBlocks = 0 (default for Arbitrum), speeding up transactions wait times on rollup environments

Removed

  • #3034 Remove settleTimeout option from config and Raiden.openChannel methods, since this value is now constant per contract deployment (exposed through Raiden.settleTimeout getter)

Raiden dApp

Fixed

  • #3078 Fix quick pay feature for Arbitrum and zero confirmation blocks

Changed

  • #3051 Adapt UDC withdraws to timestamps instead of block numbers

Removed

  • #3053 Remove settleTimeout references and settlement block countdown, since these don't apply anymore

Raiden CLI

Removed

  • #3034 Remove --default-settle-timeout CLI option, since this value isn't customizable anymore and instead constant per contract's deployment

Changed

  • #3034 --default-reveal-timeout now receives seconds, instead of blocks

Mainnet Release v2.2.0 Kṛttikā

20 Apr 15:33
Compare
Choose a tag to compare

🎒 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This is a maintenance release for the stable mainnet Krttika release (v2). While current master branch contains development progress for the new raiden-contracts, with changes required to allow Raiden to run properly on rollups like Arbitrum, these contracts won't be immediately deployed to Ethereum Mainnet (Homestead) or be the default contracts on testnets (like Goerli).

But these networks are still supported on the v2 branch, and this release backports some refactorings, bugfixes and dependency updates from master back to v2 series (v0.40 contracts) in a fully backwards compatible manner, so no user action is needed.

Two changes to highlight: now the SDK should have saner behavior for picking up automatic/compatible PFS and Matrix transport servers when not being passed explicit config options, and the CLI can now be installed with npm/yarn in the global scope or run with npx out of the box.

Raiden CLI

Added

  • [#3101] Add OneToN and UserDepositToken (SVT/RDN) addresses to /contracts and /user_deposit endpoints, eth_balance, current block_number and network info properties to /address endpoint
  • [#3101] You can now install/run raiden-cli from npmjs with npx -p @raiden_network/raiden-cli raiden <options>

Raiden SDK

Added

  • [#3069] SDK now can (and will first by default, in auto mode) query and use PFS's advertised matrix-server before config.matrixServerLookup`. This should help ensure your client picks up an automatic matrix server which is compatible with (a properly configured) PFS.
  • [#3101] Try to read deployment JSON files at runtime, besides embedded ones at transpilation-time

Fixed

  • [#3100] Filter out registered but misconfigured PFSs used for presence requests which are operating on a different network. Should fix peers appearing as offline on Goerli with automatically chosen PFS.

Mainnet Release v2.1.0 Kṛttikā

31 Dec 02:05
Compare
Choose a tag to compare

🧱 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This new version adds a feature to the dApp that protects the user from loading temporary updates unintentionally. Besides the side effect of loading a different version temporary it is important that users always confirm updates and manually trigger the installation of a new version. Unintended updates can for example happen on a force-reload of of the web-browser. For more information, refer to the notes from the v2.0.0 release.

Raiden dApp

Added

  • [#3024] Prevent the usage of uninstalled versions

Mainnet Release v2.0.1 Kṛttikā

27 Dec 10:55
Compare
Choose a tag to compare

💉 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This is a patch release to fix the update feature of the dApp. Users of the officially hosted https://lightclient.raiden.network client should ensure to update from v1.1.0 directly to v2.0.1. Please remember that this is still a major release jump and implies a switch to the new contracts. For more information, refer to the notes from the v2.0.0 release.

Raiden dApp

Fixed

  • [#3021] Fix version handling to detect client updates

Mainnet Release v.2.0.0 Kṛttikā

23 Dec 16:41
Compare
Choose a tag to compare

🔪 New Raiden Light Client SDK, dApp and CLI

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

We're happy to announce the new major release of the Raiden Light-Client, v2.0.0!

This is a mainnet-ready release. It includes support for the new raiden-contracts v0.40.0, and as so, requires users to ensure their old channels are closed and settled, and as this also includes new UserDeposit (UDC) contracts, users willing to upgrade should also withdraw the service tokens deposited on the old ones to deposit on the new contracts.

Highlights of the release:

  • The raiden dapp got a new quick pay feature.
  • For the raiden SDK :
    • Support for new contract functions TokenNetwork.openChannelWithDeposit so that opening a channel plus depositing can happen in one transaction saving a rough 12% in gas fees per operation. Withdrawing service tokens from the UDC to the main account can now also happen in one transaction.
    • Faster transfers by encrypting secrets for targets on transfer's metadata (instead of a challenge/response exchange, which is still the fallback)
    • Cooperative settlement: instead of waiting the settleTimeout (default=500 blocks) period before getting the tokens split, cooperating peers can exchange messages attesting the end balance of the respective channels, and get the channel settled in a single step, saving 50% gas compared to the split uncooperative close+settle (fallback).

Raiden SDK

  • [#2949] Allows Raiden.transfer's options.paths to receive a broader schema, including { route: Address[]; estimated_fee: Int<32>; address_metadata?: ... }[], needed to support CLI's paths parameter of /payments endpoint
  • [#2953] config.gasPriceFactor applies over maxPriorityFeePerGas, using the new fee parameters from London when possible; now, by default, no fee parameters are specified, leaving ethers and provider (e.g. Metamask) to figure out best gas fees, fixing [#2952];
  • [#2965] Add +5% gasLimit margin on transactions which are successfuly estimated, to avoid running out of gas on narrow calls.
  • [#3012] Updated raiden-contracts to v0.40

Removed

  • [#2965] Remove options.subkey on certain Raiden public methods; if you need to force subkey or main account usage for single txs, set config.subkey then reset after tx is sent; default behavior is kept

Fixed

  • [#2913] Fix crash when starting client with userDepositContractAddress as contracts entrypoint on a TokenNetworkRegistry with no registered tokens yet
  • [#2963] Don't set channel as closing upon channelClose.request, allowing user to cancel Metamask's prompt and keep an usable channel; Channel becomes closing only after tx is sent

Raiden Dapp

Added

  • [#2882] Add new quick pay feature

Raiden CLI

  • [#2949] Passthrough /payments parameters, including paths, which should receive pre-fetched route in the format { route: Address[]; estimated_fee: NumericString; address_metadata?: MetadataMap }[].
  • [#2971] Allow appending :<block> to --user-deposit-contract-address= option, to start scanning since this block instead of genesis

Testnet Pre-release v2.0.0-rc.2

14 Sep 17:58
Compare
Choose a tag to compare
Pre-release

🐎 New Raiden Light Client SDK, dApp and CLI Pre-Release

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This is a pre-release (for testing only) of the next version of the light-client. It includes support for the new raiden-contracts v0.40.0rc0, and as so, requires users to ensure their old channels are closed and settled, and as this also includes new UserDeposit (UDC) contracts, users willing to upgrade should also withdraw the service tokens deposited on the old ones to deposit on the new contracts.

Highlights of the release:

  • The raiden dapp got a new quick pay feature.
  • For the raiden SDK :
    • Support for new contract function TokenNetwork.openChannelWithDeposit so that opening a channel and depositing can happen in one transaction saving gas.
    • Support for UserDeposit.withdrawToBeneficiary function on the UDC so that users can withdraw tokens directly to their main account instead of their subkey account saving vital gas.
    • Ensuring capabilities are updated when they change and delaying non-closing auto settle to prevent wasted gas.

Raiden SDK

Fixed

  • [#2798] Delay non-closing auto-settle to prevent wasted gas on channelSettle race; closing side is given priority on auto-settling
  • [#2889] Ensure capabilities are updated when they change even if RTC channels are established by reconnecting them.

Added

  • [#2891] Use TokenNetwork.openChannelWithDeposit on new contracts for faster open+deposit in a single transaction.
  • [#2892] Use UserDeposit.withdrawToBeneficiary to withdraw from UDC directly to main account

Raiden Dapp

Added

  • [#2882] Add new quick pay feature

Testnet Pre-release v2.0.0-rc.1

13 Aug 15:35
Compare
Choose a tag to compare
Pre-release

🧑‍🍳 New Raiden Light Client SDK, dApp and CLI Pre-Release

INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.

This is a pre-release (for testing only) of the next version of the light-client. It's a major version bump because it includes support for the new raiden-contracts v0.39, and as so, requires users to ensure their old channels are closed and settled, and as this also includes new UserDeposit (UDC) contracts, users willing to upgrade should also withdraw the service tokens deposited on the old ones to deposit on the new contracts.

One of the main features of the new contracts is to support cooperatively settling channels, also implemented on this client version, which allows cooperating clients to close and settle channels in a single transaction, without having to wait settleTimeout (default of 500 blocks) in order to settle and retrieve the funds. This is automatically done if possible when trying to close a channel (Raiden.closeChannel SDK method).

This release should be compatible with old contracts and clients, but defaults to the new deployment information, so if you want to run it on the old contracts, you may need to specify the contracts information manually (e.g. by running the CLI with --user-deposit-contract-address=0xD145252daB9323F9Acb70295d6a0589c611F225d for Göerli).

Raiden SDK

Added

  • [#2839] Cooperative settlement - allow users to exchange withdraw signatures enabling settling a channel instantly. This is the new default behavior on Raiden.closeChannel, falling back to default uncooperative close if needed.