Releases: raiden-network/light-client
Arbitrum Release v3.1.1 Rohinī
🦁 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ā
🧭 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
- [#3160] Backport v3.1.0 improvements to
v2
series (supporting raiden-contracts v0.40 Coruscant and Ethereum Mainnet). Notably,--web-ui
option is available on v2 Mainnet series.
Mainnet Release v3.1.0 Rohinī
🐱 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 oftokenNetworkRegistryContract.settleTimeout
, if it'd be smaller than default of 600s
Changed
- #3122
Raiden.dumpDatabase
now returns anAsyncIterable
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; requiresyarn build:webui
Mainnet Release v3.0.0 Rohinī
⚡ 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
withsubkey=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 usesblock.timestamp
s 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 fromconfig
andRaiden.openChannel
methods, since this value is now constant per contract deployment (exposed throughRaiden.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ā
🎒 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
andUserDepositToken
(SVT/RDN) addresses to/contracts
and/user_deposit
endpoints,eth_balance
, currentblock_number
andnetwork
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 advertisedmatrix-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ā
🧱 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ā
💉 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ā
🔪 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).
- Support for new contract functions
Raiden SDK
- [#2949] Allows
Raiden.transfer
'soptions.paths
to receive a broader schema, including{ route: Address[]; estimated_fee: Int<32>; address_metadata?: ... }[]
, needed to support CLI'spaths
parameter of/payments
endpoint - [#2953]
config.gasPriceFactor
applies overmaxPriorityFeePerGas
, using the new fee parameters from London when possible; now, by default, no fee parameters are specified, leavingethers
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 certainRaiden
public methods; if you need to force subkey or main account usage for single txs, setconfig.subkey
then reset after tx is sent; default behavior is kept
Fixed
- [#2913] Fix crash when starting client with
userDepositContractAddress
as contracts entrypoint on aTokenNetworkRegistry
with no registered tokens yet - [#2963] Don't set channel as
closing
uponchannelClose.request
, allowing user to cancel Metamask's prompt and keep an usable channel; Channel becomesclosing
only after tx is sent
Raiden Dapp
Added
- [#2882] Add new quick pay feature
Raiden CLI
- [#2949] Passthrough
/payments
parameters, includingpaths
, 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
🐎 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.
- Support for new contract function
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
🧑🍳 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.