UNPKG

raiden-ts

Version:

Raiden Light Client Typescript/Javascript SDK

627 lines (513 loc) 32.6 kB
# Changelog ## [Unreleased] ## [3.1.1] - 2022-07-28 ### Fixed - [#3161] Update dependencies and merge fixes from `v2` [#3161]: https://github.com/raiden-network/light-client/pull/3161 ## [2.3.0] - 2022-07-27 - [#3160] Backport v3.1.0 improvements to `v2` series (supporting [raiden-contracts v0.40 Coruscant](https://github.com/raiden-network/raiden-contracts/releases/tag/v0.40.0) and Ethereum Mainnet) [#3160]: https://github.com/raiden-network/light-client/pull/3160 ## [3.1.0] - 2022-06-30 ### 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. [#3118]: https://github.com/raiden-network/light-client/pull/3118 [#3122]: https://github.com/raiden-network/light-client/issues/3122 [#3123]: https://github.com/raiden-network/light-client/issues/3123 ## [3.0.0] - 2022-05-02 ### 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](https://github.com/raiden-network/raiden-contracts/tree/arbitrum); this contracts branch uses `block.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 from `config` and `Raiden.openChannel` methods, since this value is now constant per contract deployment (exposed through `Raiden.settleTimeout` getter) [#2916]: https://github.com/raiden-network/light-client/issues/2916 [#2976]: https://github.com/raiden-network/light-client/issues/2976 [#3034]: https://github.com/raiden-network/light-client/pull/3034 [#3106]: https://github.com/raiden-network/light-client/issues/3106 ## [2.2.0] - 2022-04-22 ### Added - [#3069] SDK now can (and will first by default, in `auto` mode) query and use PFS's advertised `matrix-server` before `config.matrixServerLookup` - [#3068] 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 [#3068]: https://github.com/raiden-network/light-client/pull/3068 [#3069]: https://github.com/raiden-network/light-client/pull/3069 [#3100]: https://github.com/raiden-network/light-client/issues/3100 ## [2.1.0] - 2021-12-29 ## [2.0.1] - 2021-12-24 ## [2.0.0] - 2021-12-23 ### Changed - [#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](https://github.com/raiden-network/raiden-contracts/releases/tag/v0.40.0) ### 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 [#2913]: https://github.com/raiden-network/light-client/issues/2913 [#2949]: https://github.com/raiden-network/light-client/issues/2949 [#2952]: https://github.com/raiden-network/light-client/issues/2952 [#2953]: https://github.com/raiden-network/light-client/pull/2953 [#2963]: https://github.com/raiden-network/light-client/issues/2963 [#2965]: https://github.com/raiden-network/light-client/pull/2965 [#3012]: https://github.com/raiden-network/light-client/pull/3012 ## [2.0.0-rc.2] - 2021-09-14 ### 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 [#2798]: https://github.com/raiden-network/light-client/issues/2798 [#2889]: https://github.com/raiden-network/light-client/issues/2889 [#2891]: https://github.com/raiden-network/light-client/issues/2891 [#2892]: https://github.com/raiden-network/light-client/issues/2892 ## [2.0.0-rc.1] - 2021-08-13 ### Added - [#2839] Cooperative settle - 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. [#2839]: https://github.com/raiden-network/light-client/issues/2839 ## [1.1.0] - 2021-08-09 ### Added - [#2766] Add `Capabilities.IMMUTABLE_METADATA` (true on LC, fallback to falsy for backwards compatibility) to allow opting in of not prunning metadata.route and allowing to pass it through mediators unchanged - [#2730] Add `config.encryptSecret` and `Raiden.transfer`'s `encryptSecret` boolean option, to allow sending secret to target on LockedTransfer's metadata, encrypted with ECIES over their publicKey, skipping SecretRequest/Reveal and speeding up transfers. ### Fixed - [#2831] Force PFS to acknowledge our capabilities updates - [#2868] Invalidate routes where some mediator have `capabilities.Mediate=0` and error if this is the only route received from PFS. [#2730]: https://github.com/raiden-network/light-client/issues/2730 [#2766]: https://github.com/raiden-network/light-client/pull/2766 [#2831]: https://github.com/raiden-network/light-client/issues/2831 [#2868]: https://github.com/raiden-network/light-client/pull/2868 ## [1.0.0] - 2021-06-16 ### Removed - [#2571] **BREAKING** Remove ability to join and send messages to global service rooms - [#2822] **BREAKING** Do not join global rooms anymore, so Matrix-based presence won't work ### Changed - [#2572] **BREAKING** Send services messages through `toDevice` instead of global rooms - [#2822] **BREAKING** Presence now gets fetched from PFS and requires a Bespin-compatible (Raiden 2.0) service and transport network - [#2824] Default Monitoring Service reward increased to 80 SVT ### Added - [#2822] Added ability to use peer's presence from `LockedTransfer`'s `metadata.routes.address_metadata` [#2571]: https://github.com/raiden-network/light-client/issues/2571 [#2572]: https://github.com/raiden-network/light-client/issues/2572 [#2822]: https://github.com/raiden-network/light-client/pull/2822 [#2824]: https://github.com/raiden-network/light-client/pull/2824 ## [0.17.0] - 2021-06-15 ### Added - [#1576] Add functionality to deploy token networks - [#2577] Add imbalance penalty mediation fees - [#2795] Add `config.gasPriceFactor` option, to increase the transactions `gasPrice` as a multiplier of provider-returned `eth_gasPrice` - [#2813] `open`/`depositChannel` have a new option (`confirmConfirmation`, `true` by default) to wait `+confirmationBlocks` (default=5) after last transaction to give more time for it to be synced on partners and services ### Changed - [#2669] Update to Raiden contracts `v0.37.5` - [#2677] Removed the dependency on reactive notifications of peer's presences changes and updated WebRTC signaling algorithm ### Fixed - [#2797] Fixed a non-critical bug where withdraw expiration messages would not stop being retried [#1576]: https://github.com/raiden-network/light-client/issues/1576 [#2577]: https://github.com/raiden-network/light-client/issues/2577 [#2669]: https://github.com/raiden-network/light-client/issues/2669 [#2677]: https://github.com/raiden-network/light-client/issues/2677 [#2795]: https://github.com/raiden-network/light-client/issues/2795 [#2797]: https://github.com/raiden-network/light-client/issues/2797 [#2813]: https://github.com/raiden-network/light-client/issues/2813 ## [0.16.0] - 2021-04-01 ### Added - [#1342] Flat (fixed) mediation fees for mediator nodes - [#1343] Proportional (per transfer amount) mediation fees for mediator nodes - [#2581] `config.pfsSafetyMargin` now also accepts a `[f, a]` pair, which will add `f*fee + a*amount` on top of PFS's estimated fee, if one wants finer-grain control on safety margin which is added on the transfer to be initiated. - [#2629] `config.autoUDCWithdraw` (default=true) to allow disabling automatically completing a planned UDC withdraw, and new `Raiden.getUDCWithdrawPlan` and `Raiden.withdrawFromUDC` to check and perform UDC withdraw when not in auto mode. - [#2644] `Raiden.getUDCTotalDeposit` method to fetch UDC total_deposit, base of `depositToUDC` amounts ### Changed - [#2536] Wait for global messages before resolving deposits and channel open request - [#2566] Optimize initial sync and resume previous sync filters scans - [#2570] Support multiple custom services in config.pfs - [#2635] **BREAKING** Renamed `Raiden.planUdcWithdraw` to `Raiden.planUDCWithdraw` for consistency - [#2645] Wait for condition to be ready on `settleChannel` and `withdrawFromUDC` in case it's called early instead of erroring ### Removed - [#2550] **BREAKING** Remove migration of legacy state at localStorage during creation - [#2567] **BREAKING** Remove support for peer-to-peer communication through Matrix rooms; now supports only `toDevice` and WebRTC channels. - [#2600] `wrtc` auto-polyfill; now, if you're using `raiden-ts` in a NodeJS project, you're expected to polyfill `wrtc` or some WebRTC-compatible API to your global object; in exchange, the SDK doesn't require WebRTC, and therefore should work fine on environments without it (through matrix' toDevice messages). ### Fixed - [#2596] Fix unlocking sent transfers even if receiving is disabled [#1342]: https://github.com/raiden-network/light-client/issues/1342 [#1343]: https://github.com/raiden-network/light-client/issues/1343 [#2536]: https://github.com/raiden-network/light-client/issues/2536 [#2550]: https://github.com/raiden-network/light-client/issues/2550 [#2566]: https://github.com/raiden-network/light-client/issues/2566 [#2567]: https://github.com/raiden-network/light-client/issues/2567 [#2570]: https://github.com/raiden-network/light-client/issues/2570 [#2581]: https://github.com/raiden-network/light-client/pull/2581 [#2596]: https://github.com/raiden-network/light-client/issues/2596 [#2600]: https://github.com/raiden-network/light-client/issues/2600 [#2629]: https://github.com/raiden-network/light-client/issues/2629 [#2635]: https://github.com/raiden-network/light-client/pull/2635 [#2644]: https://github.com/raiden-network/light-client/pull/2644 [#2645]: https://github.com/raiden-network/light-client/issues/2645 ## [0.15.0] - 2021-01-26 ### Added - [#211] 'suggestPartners' method to fetch suggested partners from PFS - [#485] Enable the Redux DevTools Extension in development for monitoring the Redux store - [#2417] Make 'start' async, introduce 'synced' promise, both resolves when syncing finishes - [#2444] Add adaptative sync for chunked getLogs - [#2446] Add parameter for subkey generation to overwrite origin URL ### Changed - [#2409] Lower default payment expiration to 1.1 × reveal timeout - [#2505] Properly shut down epics on stop and wait for teardown/cleanup tasks ### Fixed - [#2352] Presence bug, transport fixes and performance improvements [#211]: https://github.com/raiden-network/light-client/issues/211 [#485]: https://github.com/raiden-network/light-client/issues/485 [#2352]: https://github.com/raiden-network/light-client/issues/2352 [#2409]: https://github.com/raiden-network/light-client/issues/2409 [#2417]: https://github.com/raiden-network/light-client/pull/2417 [#2444]: https://github.com/raiden-network/light-client/issues/2444 [#2446]: https://github.com/raiden-network/light-client/issues/2446 [#2505]: https://github.com/raiden-network/light-client/pull/2505 ## [0.14.0] - 2020-11-25 ### Fixed - [#2360] Properly error & shutdown if database gets deleted at runtime ### Added - [#1256] Disable receiving if blocks don't arrive in a timely manner - [#2395] Calculate and expose Raiden.blockTime$ as observable of average block times [#1256]: https://github.com/raiden-network/light-client/issues/1256 [#2360]: https://github.com/raiden-network/light-client/issues/2360 [#2395]: https://github.com/raiden-network/light-client/pull/2395 ## [0.13.0] - 2020-11-10 ### Fixed - [#2058] Check some potential overflows when handling received messages - [#2240] Handle network problems when connecting to the Eth node gracefully - [#2299] Don't acknowledge SecretReveals if receiving is disabled - [#2312] Call WebRTC's connection.close() on teardown ### Changed - [#1707] Upgrade ethers to v5 - [#2289] Switch to yarn from pnpm - [#2297] Add logs when ignoring incoming transfers - [#2311] Bump NodeJS requirement to v14 LTS - [#2312] Make Raiden.stop() async, resolves when DB finished flushing [#1707]: https://github.com/raiden-network/light-client/issues/1707 [#2058]: https://github.com/raiden-network/light-client/issues/2058 [#2240]: https://github.com/raiden-network/light-client/issues/2240 [#2289]: https://github.com/raiden-network/light-client/pull/2289 [#2297]: https://github.com/raiden-network/light-client/issues/2297 [#2299]: https://github.com/raiden-network/light-client/issues/2299 [#2311]: https://github.com/raiden-network/light-client/issues/2311 [#2312]: https://github.com/raiden-network/light-client/pull/2312 ## [0.12.0] - 2020-10-22 ### Fixed - [#2078] Check for overflows before sending transfers - [#2094] Fix TransferState's timestamps missing - [#2174] Fix a few transport issues triggered on high-load scenarios - [#2229] Fix nonce mismatch caused by room waiting overhead - [#2275] Fix mismatch between UDC totalDeposit and effectiveBalance ### Added - [#2044] Introduce PouchDB (IndexedDB/leveldown) as new persistent state storage backend - [#2204] Implement toDevice capability and messaging ### Changed - [#2158] Adapt WebRTC to new protocol compatible with python client - [#2205] Adapt capabilities to the new query string format [#2044]: https://github.com/raiden-network/light-client/issues/2044 [#2078]: https://github.com/raiden-network/light-client/issues/2078 [#2094]: https://github.com/raiden-network/light-client/issues/2094 [#2158]: https://github.com/raiden-network/light-client/issues/2158 [#2174]: https://github.com/raiden-network/light-client/pull/2174 [#2204]: https://github.com/raiden-network/light-client/issues/2204 [#2205]: https://github.com/raiden-network/light-client/issues/2205 [#2229]: https://github.com/raiden-network/light-client/issues/2229 [#2275]: https://github.com/raiden-network/light-client/issues/2225 ## [0.11.1] - 2020-08-18 ### Changed - [#2049] Target ES2019 (NodeJS 12+) on SDK builds - [#2054] Update to Raiden contracts `v0.37.1` [#2049]: https://github.com/raiden-network/light-client/issues/2049 [#2054]: https://github.com/raiden-network/light-client/pull/2054 ## [0.11.0] - 2020-08-04 ### Fixed - [#1923] Fix `fromEthersEvent` ranges fetching in case of temporary connectivity loss - [#1952] Fix nonce conflict issues with concurrent transactions - [#1997] Fix matrix rate-limiting logins when many nodes are started in parallel - [#1998] Fix events reverted due to a reorg still getting confirmed - [#2010] Fix multiple approve on secure ERC20 tokens, like RDN ### Added - [#237] Add autoSettle config (off by default) to allow auto-settling settleable channels - [#703] Add option to fetch all contracts addresses from UserDeposit address alone - [#1710] Add option to specify a transfer's lock timeout - [#1910] Add option to `mint` tokens for any address - [#1913] Added `contractsInfo` getter holding current contracts info - [#1824] Expose channel settle actions as events - [#2022] Add 'pfsMaxFee', 'pfsMaxPaths' and 'pfsIouTimeout' config options ### Changed - [#1905] Fail early if not enough tokens to deposit - [#1958] Transfers can fail before requesting PFS if there's no viable channel - [#2010] Token.approve defaults to MaxUint256, so only one approval is needed per token; set config.minimumAllowance to Zero to fallback to strict deposit values - [#2019] Use exponential back-off strategy for protocol messages retries [#237]: https://github.com/raiden-network/light-client/issues/237 [#703]: https://github.com/raiden-network/light-client/issues/703 [#1710]: https://github.com/raiden-network/light-client/issues/1710 [#1824]: https://github.com/raiden-network/light-client/issues/1824 [#1905]: https://github.com/raiden-network/light-client/issues/1905 [#1910]: https://github.com/raiden-network/light-client/pull/1910 [#1913]: https://github.com/raiden-network/light-client/pull/1913 [#1923]: https://github.com/raiden-network/light-client/issues/1923 [#1952]: https://github.com/raiden-network/light-client/issues/1952 [#1958]: https://github.com/raiden-network/light-client/issues/1958 [#1997]: https://github.com/raiden-network/light-client/issues/1997 [#1998]: https://github.com/raiden-network/light-client/issues/1998 [#2010]: https://github.com/raiden-network/light-client/issues/2010 [#2019]: https://github.com/raiden-network/light-client/issues/2019 [#2022]: https://github.com/raiden-network/light-client/pull/2022 [#2049]: https://github.com/raiden-network/light-client/issues/2049 ## [0.10.0] - 2020-07-13 ### Fixed - [#1514] Fix handling of expired LockedTransfer and WithdrawRequest - [#1607] Fix settling when one side closes/updates with outdated BalanceProof - [#1637] Fix depositToUDC failing if services already have withdrawn some fees - [#1651] Fix PFS being disabled if passed an undefined default config - [#1690] Fix LockExpired with empty balanceHash verification - [#1698] Fix estimateGas errors on channelOpen not properly being handled - [#1761] Fix deposit error on openChannel not rejecting promise - [#1787] Fix TokenNetwork monitoring losing events - [#1830] Fix a nonce race when openining + depositing concurrently - [#1848] Fix a Metamask error by retry on deposit - [#1882] Fix paymentId gets ignored when being falsie (e.g. `0`) ### Added - [#249] Add withdraw functionality - [#1374] Monitors MonitoringService contract and emit event when MS acts - [#1421] Adds support for withdrawing tokens from the UDC - [#1642] Check token's allowance before deposit and skip approve - [#1701] Allow parameter decoding to throw and log customized errors - [#1701] Add and extend error codes for user parameter validation for open channel - [#1711] Add and extend error codes for user parameter validation for transfer - [#1835] The presence knowledge for a payment routes target is secured automatically ### Changed - [#837] Changes the action tags from camel to path format. This change affects the event types exposed through the public API. - [#1610] Updates smart contracts to v0.37.0 (Alderaan) - [#1649] Have constant error messages and codes in public Raiden API. - [#1657] Expose RaidenChannel's id,settleTimeout,openBlock as required properties - [#1708] Expose RaidenTransfer's secret as optional property - [#1705] All transfers become monitored per default to make receiving transfers safe - [#1822] Refactor and optimize TokenNetwork events monitoring: one filter per Tokennetwork - [#1832] Make Provider events fetching more reliable with Infura [#249]: https://github.com/raiden-network/light-client/issues/249 [#837]: https://github.com/raiden-network/light-client/issues/837 [#1374]: https://github.com/raiden-network/light-client/issues/1374 [#1421]: https://github.com/raiden-network/light-client/issues/1421 [#1514]: https://github.com/raiden-network/light-client/issues/1514 [#1607]: https://github.com/raiden-network/light-client/issues/1607 [#1610]: https://github.com/raiden-network/light-client/issues/1610 [#1637]: https://github.com/raiden-network/light-client/issues/1637 [#1642]: https://github.com/raiden-network/light-client/issues/1642 [#1649]: https://github.com/raiden-network/light-client/pull/1649 [#1651]: https://github.com/raiden-network/light-client/issues/1651 [#1657]: https://github.com/raiden-network/light-client/issues/1657 [#1690]: https://github.com/raiden-network/light-client/issues/1690 [#1698]: https://github.com/raiden-network/light-client/issues/1698 [#1701]: https://github.com/raiden-network/light-client/pull/1701 [#1708]: https://github.com/raiden-network/light-client/issues/1708 [#1705]: https://github.com/raiden-network/light-client/issues/1705 [#1711]: https://github.com/raiden-network/light-client/pull/1711 [#1761]: https://github.com/raiden-network/light-client/issues/1761 [#1787]: https://github.com/raiden-network/light-client/issues/1787 [#1822]: https://github.com/raiden-network/light-client/pull/1822 [#1830]: https://github.com/raiden-network/light-client/issues/1830 [#1832]: https://github.com/raiden-network/light-client/pull/1832 [#1835]: https://github.com/raiden-network/light-client/pull/1835 [#1848]: https://github.com/raiden-network/light-client/issues/1848 [#1882]: https://github.com/raiden-network/light-client/issues/1882 ## [0.9.0] - 2020-05-28 ### Added - [#1473] Expose config$ observable [#1473]: https://github.com/raiden-network/light-client/issues/1473 ### Changed - [#842] Don't enforce test nets. [#842]: https://github.com/raiden-network/light-client/issues/842 ## [0.8.0] - 2020-05-14 ### Added - [#1369] Monitoring based on channel's balance [#1369]: https://github.com/raiden-network/light-client/issues/1369 ### Changed - [#1480] Update profile's caps on config.caps change and react on peers updates - [#1503] Expose received transfers through transfers$ observable [#1480]: https://github.com/raiden-network/light-client/pull/1480 [#1503]: https://github.com/raiden-network/light-client/issues/1503 ## [0.7.0] - 2020-05-08 ### Added - [#1392] Raiden on-chain methods provide easy ways to transfer entire token & ETH balances - [#1368] Monitoring transfers (experimental) - [#1252] Mediate transfers (experimental) [#1392]: https://github.com/raiden-network/light-client/issues/1392 [#1368]: https://github.com/raiden-network/light-client/issues/1368 [#1252]: https://github.com/raiden-network/light-client/issues/1252 ### Fixed - [#1456] Retry without stored setup if auth fails - [#1434] Ensure past channel events are correctly fetched [#1456]: https://github.com/raiden-network/light-client/issues/1456 [#1434]: https://github.com/raiden-network/light-client/issues/1434 ### Changed - [#1462] Refactor state schema and types to be simpler and safer [#1462]: https://github.com/raiden-network/light-client/issues/1462 ## [0.6.0] - 2020-04-21 ### Added - [#1338] Allow HTTP URLs for Path Finding Service (non-production) - [#1261] Implements fast WebRTC P2P transport (experimental) - [#1211] Integration test for mediated transfers [#1338]: https://github.com/raiden-network/light-client/issues/1338 [#1261]: https://github.com/raiden-network/light-client/issues/1261 [#1211]: https://github.com/raiden-network/light-client/issues/1211 ## [0.5.2] - 2020-04-07 ### Fixed - [#1254] Downgraded contract version 0.36.2 [#1254]: https://github.com/raiden-network/light-client/issues/1254 ## [0.5.1] - 2020-04-06 ### Added - [#1209] Support for receiving payments - [#1254] Bumped contract version to 0.37.0-beta [#1209]: https://github.com/raiden-network/light-client/issues/1209 [#1254]: https://github.com/raiden-network/light-client/issues/1254 ## [0.5.0] - 2020-03-27 ### Added - [#348] Foundation for integration tests w/ Raiden Python client. - [#774] Reduced size of transpiled bundle. - [#1209] Added transport capabilities. - Upgraded `matrix-js-sdk` dependency. [#348]: https://github.com/raiden-network/light-client/issues/348 [#774]: https://github.com/raiden-network/light-client/issues/744 [#1209]: https://github.com/raiden-network/light-client/issues/1209 ### Fixed - [#1232] Fixed logging. [#1232]: https://github.com/raiden-network/light-client/issues/1232 ## [0.4.2] - 2020-03-05 ### Added - [#1135] Add logging to mint & depositToUDC public methods - [#152] Enable download of local data (state) [#152]: https://github.com/raiden-network/light-client/issues/152 ### Fixed - [#1133] Fix minor bug when minting & depositing to UDC for the first time ## [0.4.1] - 2020-03-04 ### Changed - [#1128] Enable faster channel opening & deposit by parallelizing them and their confirmations ### Fixed - [#1120] Ensure PFS is updated by sending a PFSCapacityUpdate every time our capacity changes - [#1116] Wait for confirmation blocks after mint & depositToUDC to resolve promise [#1120]: https://github.com/raiden-network/light-client/issues/1120 [#1128]: https://github.com/raiden-network/light-client/issues/1128 [#1116]: https://github.com/raiden-network/light-client/issues/1116 ## [0.4.0] - 2020-02-28 ### Added - [#614] Implement state upgrades and migration - [#613] Implement waiting for confirmation blocks on on-chain transactions (configurable) - [#1000] Implemented SDK error handling ### Changed - [#986] Don't expire locks which secret got registered on-chain - [#926] Introduce loglevel logging framework (config.logger now specifies logging level) - [#1042] Support decoding addresses on messages on lowercased format [#1000]: https://github.com/raiden-network/light-client/issues/1000 ## [0.3.0] - 2020-02-07 ### Added - [#172] Add derived subkey support ### Changed - [#834] Optimize ethers events polling for several tokens - [#684] Support and require Typescript 3.7 - [#593] Improve PFS url matching. - Updated Raiden Contracts to 0.36.0 ## [0.2] - 2019-11-29 ### Added - Add withdraw request support. - Add chainId and registry address to the state. - Add SDK configuration. - Add PFS find routes functionality. - Add PFS Capacity Update. - Add configuration for global rooms & PFS rooms. - Add PFS safety margin. - Add ServiceRegistry monitoring. - Add find PFS functionality. - Add token minting for testnets - Add IOU fetching and signing. - Add UserDeposit capacity retrieving function to the public API. - Add UserDeposit token address to the public API. - Add UserDeposit deposit function to the public API. - Add direct route checking function to the public API. ### Changed - Update raiden contracts to support Alderaan. - Update message packing and signature to confront with Alderaan format. - Optimize past event scanning. - Make transfer parameters consistent with openChannel. - Update previous transfer initialization to monitor pending transfers. - Update the transfer mechanism to accept transfers that are reduced up to 10% due to fees. - Increase time before leaving unknown rooms. - Reduce the minimum settle timeout to 20. - Remove fee field from LockedTransfer to comply with raiden-py. - Improve matrix transport invite, join algorithm. - BigNumbers are decoded/encoded as string. ### Fixed - Fix matrix error handling on user presence. - Fix matrix re-authentication on config change. - Fix WithdrawExpired to comply with raiden-py. - Fix lossless state loading. - Fix scheduling issues with matrix epics. - Fix lossless parsing of PFS information. - Fix past log ordering. - Fix logging disable not working properly. ### Removed - Remove Kovan network support. - Remove requirement for monitored token when calling getTokenInfo|getTokenBalance. ## [0.1.1] - 2019-10-07 ### Added - Add RaidenChannels alias. - Add monitoring for transfers based on secret hash. ### Changed - Change transfer api return secret hash. ## [0.1] - 2019-08-21 ### Added - Add token monitoring. - Add channel lifecycle integration (open/close/settle) with contracts. - Add channel deposit functionality. - Add channels$ to the public API. - Add getTokenBalance and getTokenInfo to public API. - Add network and events$ to the public API. - Add account change and network change monitoring. - Add matrix sdk/transport integration. - Add protocol message implementation. [Unreleased]: https://github.com/raiden-network/light-client/compare/v3.1.1...HEAD [3.1.1]: https://github.com/raiden-network/light-client/compare/v3.1.0...v3.1.1 [2.3.0]: https://github.com/raiden-network/light-client/compare/v2.2.0...v2.3.0 [3.1.0]: https://github.com/raiden-network/light-client/compare/v3.0.0...v3.1.0 [3.0.0]: https://github.com/raiden-network/light-client/compare/v2.2.0...v3.0.0 [2.2.0]: https://github.com/raiden-network/light-client/compare/v2.1.0...v2.2.0 [2.1.0]: https://github.com/raiden-network/light-client/compare/v2.0.1...v2.1.0 [2.0.1]: https://github.com/raiden-network/light-client/compare/v2.0.0...v2.0.1 [2.0.0]: https://github.com/raiden-network/light-client/compare/v2.0.0-rc.2...v2.0.0 [2.0.0-rc.2]: https://github.com/raiden-network/light-client/compare/v2.0.0-rc.1...v2.0.0-rc.2 [2.0.0-rc.1]: https://github.com/raiden-network/light-client/compare/v1.1.0...v2.0.0-rc.1 [1.1.0]: https://github.com/raiden-network/light-client/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/raiden-network/light-client/compare/v0.17.0...v1.0.0 [0.17.0]: https://github.com/raiden-network/light-client/compare/v0.16.0...v0.17.0 [0.16.0]: https://github.com/raiden-network/light-client/compare/v0.15.0...v0.16.0 [0.15.0]: https://github.com/raiden-network/light-client/compare/v0.14.0...v0.15.0 [0.14.0]: https://github.com/raiden-network/light-client/compare/v0.13.0...v0.14.0 [0.13.0]: https://github.com/raiden-network/light-client/compare/v0.12.0...v0.13.0 [0.12.0]: https://github.com/raiden-network/light-client/compare/v0.11.1...v0.12.0 [0.11.1]: https://github.com/raiden-network/light-client/compare/v0.11.0...v0.11.1 [0.11.0]: https://github.com/raiden-network/light-client/compare/v0.10.0...v0.11.0 [0.10.0]: https://github.com/raiden-network/light-client/compare/v0.9.0...v0.10.0 [0.9.0]: https://github.com/raiden-network/light-client/compare/v0.8.0...v0.9.0 [0.8.0]: https://github.com/raiden-network/light-client/compare/v0.7.0...v0.8.0 [0.7.0]: https://github.com/raiden-network/light-client/compare/v0.6.0...v0.7.0 [0.6.0]: https://github.com/raiden-network/light-client/compare/v0.5.2...v0.6.0 [0.5.2]: https://github.com/raiden-network/light-client/compare/v0.5.1...v0.5.2 [0.5.1]: https://github.com/raiden-network/light-client/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/raiden-network/light-client/compare/v0.4.2...v0.5.0 [0.4.2]: https://github.com/raiden-network/light-client/compare/v0.4.1...v0.4.2 [0.4.1]: https://github.com/raiden-network/light-client/compare/v0.4.0...v0.4.1 [0.4.0]: https://github.com/raiden-network/light-client/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/raiden-network/light-client/compare/v0.2...v0.3.0 [0.2]: https://github.com/raiden-network/light-client/compare/v0.1.1...v0.2 [0.1.1]: https://github.com/raiden-network/light-client/compare/v0.1...v0.1.1 [0.1]: https://github.com/raiden-network/light-client/releases/tag/v0.1