2.0.1 - 2021-12-24
2.0.0 - 2021-12-23
- #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
- #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
- #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
2.0.0-rc.2 - 2021-09-14
- #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.
- #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
2.0.0-rc.1 - 2021-08-13
- #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.
1.1.0 - 2021-08-09
- #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
andRaiden.transfer
'sencryptSecret
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.
- #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.
1.0.0 - 2021-06-16
- #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
- #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
- #2822 Added ability to use peer's presence from
LockedTransfer
'smetadata.routes.address_metadata
0.17.0 - 2021-06-15
- #1576 Add functionality to deploy token networks
- #2577 Add imbalance penalty mediation fees
- #2795 Add
config.gasPriceFactor
option, to increase the transactionsgasPrice
as a multiplier of provider-returnedeth_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
- #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
- #2797 Fixed a non-critical bug where withdraw expiration messages would not stop being retried
0.16.0 - 2021-04-01
- #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 addf*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 newRaiden.getUDCWithdrawPlan
andRaiden.withdrawFromUDC
to check and perform UDC withdraw when not in auto mode. - #2644
Raiden.getUDCTotalDeposit
method to fetch UDC total_deposit, base ofdepositToUDC
amounts
- #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
toRaiden.planUDCWithdraw
for consistency - #2645 Wait for condition to be ready on
settleChannel
andwithdrawFromUDC
in case it's called early instead of erroring
- #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 usingraiden-ts
in a NodeJS project, you're expected to polyfillwrtc
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).
- #2596 Fix unlocking sent transfers even if receiving is disabled
0.15.0 - 2021-01-26
- #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
- #2409 Lower default payment expiration to 1.1 × reveal timeout
- #2505 Properly shut down epics on stop and wait for teardown/cleanup tasks
- #2352 Presence bug, transport fixes and performance improvements
0.14.0 - 2020-11-25
- #2360 Properly error & shutdown if database gets deleted at runtime
- #1256 Disable receiving if blocks don't arrive in a timely manner
- #2395 Calculate and expose Raiden.blockTime$ as observable of average block times
0.13.0 - 2020-11-10
- #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
- #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
0.12.0 - 2020-10-22
- #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
- #2044 Introduce PouchDB (IndexedDB/leveldown) as new persistent state storage backend
- #2204 Implement toDevice capability and messaging
- #2158 Adapt WebRTC to new protocol compatible with python client
- #2205 Adapt capabilities to the new query string format
0.11.1 - 2020-08-18
0.11.0 - 2020-08-04
- #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
- #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
- #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
0.10.0 - 2020-07-13
- #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
)
- #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
- #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
0.9.0 - 2020-05-28
- #1473 Expose config$ observable
- #842 Don't enforce test nets.
0.8.0 - 2020-05-14
- #1369 Monitoring based on channel's balance
- #1480 Update profile's caps on config.caps change and react on peers updates
- #1503 Expose received transfers through transfers$ observable
0.7.0 - 2020-05-08
- #1392 Raiden on-chain methods provide easy ways to transfer entire token & ETH balances
- #1368 Monitoring transfers (experimental)
- #1252 Mediate transfers (experimental)
- #1456 Retry without stored setup if auth fails
- #1434 Ensure past channel events are correctly fetched
- #1462 Refactor state schema and types to be simpler and safer
0.6.0 - 2020-04-21
- #1338 Allow HTTP URLs for Path Finding Service (non-production)
- #1261 Implements fast WebRTC P2P transport (experimental)
- #1211 Integration test for mediated transfers
0.5.2 - 2020-04-07
- #1254 Downgraded contract version 0.36.2
0.5.1 - 2020-04-06
0.5.0 - 2020-03-27
- #348 Foundation for integration tests w/ Raiden Python client.
- #774 Reduced size of transpiled bundle.
- #1209 Added transport capabilities.
- Upgraded
matrix-js-sdk
dependency.
- #1232 Fixed logging.
0.4.2 - 2020-03-05
- [#1135] Add logging to mint & depositToUDC public methods
- #152 Enable download of local data (state)
- [#1133] Fix minor bug when minting & depositing to UDC for the first time
0.4.1 - 2020-03-04
- #1128 Enable faster channel opening & deposit by parallelizing them and their confirmations
- #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
0.4.0 - 2020-02-28
- [#614] Implement state upgrades and migration
- [#613] Implement waiting for confirmation blocks on on-chain transactions (configurable)
- #1000 Implemented SDK error handling
- [#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
0.3.0 - 2020-02-07
- [#172] Add derived subkey support
- [#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
- 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.
- 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.
- 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.
- Remove Kovan network support.
- Remove requirement for monitored token when calling getTokenInfo|getTokenBalance.
0.1.1 - 2019-10-07
- Add RaidenChannels alias.
- Add monitoring for transfers based on secret hash.
- Change transfer api return secret hash.
0.1 - 2019-08-21
- 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.