1.2.4 (2020-12-05)
1.2.3 (2020-12-03)
This release includes several fixes, including a regression bug relating to disconnecting offline peers from 1.2.1, as well as a new call & cli command to change the xud master password.
- p2p: fix stall timer checks (#2015) (405f50e), closes #1994 #2010
- changes removeorder output to a more meaningful message (#1526) (#1986) (43e7c8e)
- wrong error message on insufficient inbound capacity (#2003) (#2006) (22c474a)
- change master password (#2007) (7ecdd7e), closes #1981
- enhance simulation test README (#2001) (9d71552)
- ignore unavailable swap clients on create (#1815) (#2004) (360cca7)
1.2.2 (2020-11-24)
This release includes a critical bug fix for replace order functionality. In addition, a new rpc call GetMnemonic has been added that can be used to retrieve the master seed mnemonic for xud at runtime after an xud node has been created.
1.2.1 (2020-11-19)
This maintenance release includes a number of features, most significantly it switches xud to use lnd's new sendpaymentv2
call to prepare for multi-channel trades. It also improves xud's shutdown behavior and fixes several bugs.
- added swap success log entry (#1649) (e914ec0)
- graceful shutdown (#1994) (cde3203)
- cli: typo in unlock.ts (#1944) (7f61b32)
- lnd: don't calculate negative capacities (b1020c1)
- addpair should prevent adding same base and quote assets (#1559) (69f502f)
- tls certificate check on startup (#1510) (9633678)
- use regtest instead of regnet arg (7c6a226)
- lnd: handling hold invoice check errors (#1969) (5746516), closes #1968
- alias missing in streamorders (#1725) (#1962) (d537206)
- cli: openchannel assertion error for string amount (#1950) (a0cc6d7), closes #1643
- connext: not enough balance for closechannel (#1963) (6599d88)
- p2p: don't reconnect peers when pool closed (#1965) (8483e1e), closes #1668 /github.com/ExchangeUnion/xud/issues/1668#issuecomment-684828808
- rpc: no success if no channels to close (#1689) (#1942) (17e40de)
- getinfo output for lnd channels (#1940) (#1948) (962daa4)
- manual ban causes an undefined log entry (#1779) (e7f8178)
- rename tradinglimits reserved_inbound json_name (7e56011)
- lnd: SendPaymentV2 (51c60dc), closes #1590
- rpc: runtime addcurrency for lnd & connext (#1746) (fc83823)
- swapclient: auto init wallets on xud unlock (#1973) (a1287dd), closes #1929
- reserved capacity checks on PlaceOrder (#1949) (d458745), closes #1947
- lnd: change gRPC client options (aefdce8)
- removeorder output changed to a more meaningful message (#1526) (ba04193)
- rpc: SetLogLevel (#1955) (8d10df0), closes #835
- added new grpc method to easily cancel all orders (#1910) (c958e86)
1.2.0 (2020-10-16)
This release includes a number of fixes and features, most significantly related to Connext integration.
- Inbound collateral from the Connext node is now dynamically requested upon orders being placed that receive a Connext currency.
- Keep track of inbound and outbound amounts reserved by standing orders in the orderbook, and expose these amounts on the
TradingLimits
call.
- cli: switch getbalance table columns (#1931) (49c8c18), closes #1930
- orderbook: don't remove 0 quantity w/ hold (#1921) (5f3793a)
- checking for invoice support on lnd clients while verifying connection (4c26aff)
- propagating currencies and pairs on database if initDB true even DB is filled (17c7cb5)
- cli: case insensitive choices (4c01b0e)
- connext: lazy collateralization (#1916) (0f2b841), closes #1896
- rpc: expose reserved balance for GetBalance (#1925) (8b18dd7)
- rpc: reserved order amount for TradingLimits (7f7cd68), closes #1584 #1678
- derive child seed for swap clients (be4121f), closes #1576
1.1.0 (2020-09-28)
Most notable features of this release:
- Xud now automatically requests inbound liquidity for connext currencies (ETH/ERC20) and prevents orders from entering the orderbook until there is sufficient inbound liquidity to cover the order. This "smart collateralization" feature considerably increases the likelihood that the orders can be executed successfully.
- The DAI token and
USDT/DAI
trading pair have been enabled by default.
- bold link, mm link (#1873) (54bd9ce)
- don't activate unsupported pairs with peers (0fe2d66)
- grpc throws error for addpair/withdraw for wrong argument (#1844) (48a0a33)
- handling insufficient balance errors for swap clients (246889b)
- implemented showing all pairs instead of active ones for listpeers (206dad0)
- listorders limit displays first orders instead of last (#1883) (e101e6f)
- order invalidation only be sent to peers with active pair (#1530) (#1890) (0dc85bd)
- propagating nodes on database if initDB true even DB is filled (#1907) (246136e)
- xudrpc GetBalanceResponse json_name (#1909) (26f89e6)
- connext: avoid scientific notation for amount (#1905) (cc1e689)
- connext: display error message for 400 status code (#1911) (b4e1858)
- connext: remove BigInt to avoid precision loss (#1893) (d9ddd1c)
- connext: request collateral for order amount (75078c0), closes #1845
- rpc: show connext status on create/restore node (#1902) (82e16a5)
- simnet: add DAI (#1915) (35e85b3)
- sat_per_byte custom fee for openchannel (#1832) (b56ad98), closes #1829
- orderbook: log error message on remove order (#1901) (788490f)
- rpc: add txid to open/close channel response (0669a3f), closes #1860
- simnet: change USDT contract address (#1912) (0a2bdfd)
- simnet: upgrade simnet USDT contract address (#1906) (7e5f8ef)
1.0.1 (2020-09-08)
- connext: reject app install for transfers without status field (#1863) (519aa54)
- connext: unlock expired transfer apps (#1857) (023434d)
- logging: order holds on trace level (#1865) (5e3ad04)
- orderbook: better replace order hold message (b7fa00a)
- p2p: don't log empty order packets (#1871) (1b6d6d6)
- p2p: increase reconnection delay backoff (#1870) (44af197)
1.0.0 (2020-09-01)
This is the first major release of xud. This release contains several key fixes and features designed to improve stability and the likelihood of successful swaps when trading with peers.
This version continues expanding support for Connext. Tokens can now be withdrawn from one's Connext balance to an on-chain address. Collateral is automatically requested from the Connext node upon depositing tokens to allow for incoming payments to succeed on the first try.
It also handles and prevents an edge case that could have caused xud to crash if Connext receives an expected incoming transfer twice.
The decentralized order book has had some improvements to make it more robust. "Dust" orders - where at least one side of a trade may be for an amount so small that it doesn't meet minimum HTLC sizes - are automatically removed from the order book. Previously, fragments of partially filled or removed orders may have been left over and remained in the order book despite being effectively untradeable.
This version also improves the logic for adding back orders that failed to swap. Orders - or portions thereof - are removed from the order book as they are matched. However, if they are not swapped successfully then xud (unless being run in "strict" mode) will add them back to the order book so that they may be traded again by a future order, perhaps after correcting temporary network or channel management issues that may have caused the first swap attempt to fail. We've fixed this logic to ensure we always add back peer orders that fail a swap. On the other hand, we've also added checks to ensure we don't add back an order that is no longer valid - as may be the case when an order is canceled by a peer while we were attempting to swap it.
Order replacement has been supported since early pre-release versions of xud and is a handy way to update existing orders in response to changing market conditions. However, on the network layer, order replacements were communicated to peers via two separate packets - one to remove the old order and one to add the new one replacing it. This allowed for the possibility of delays or inconsistency as the two packets may arrive or be processed at different times. This version supports replacing orders in a single packet, with the aim of making order replacement as atomic as possible both locally and on the xud network.
Xud has a Swap Recovery module that was originally designed to recover swaps that were in progress during an unexpected crash, with the goal of ensuring that we claim any payments we are expecting from swaps. Over time this same module was used to monitor swaps that xud would deem as "failed" but where HTLCs were still pending. If an outgoing HTLC was eventually claimed by an unscrupulous peer, xud would claim its corresponding incoming payment.
This version goes back to Swap Recovery handling only swaps that were aborted due to an unexpected crash. Similar logic has been added to monitor pending HTLCs for active swaps separately. Swaps now remain "active" as long as any HTLCs exist, and the corresponding orders held in limbo until these HTLCs reach a final resolution. This ensures that orders cannot be double filled. Peers that we detect to have settled an old HTLC are immediately banned, as this is recognized as intentional malicious behavior that may exploit the free option problem.
- connext: convert contract addresses to eip55 standard (e08d43c)
- connext: prevent duplicate htlcAccepted evts (#1854) (aa3027a), closes #1851
- orderbook: add back fully matched orders (1024b72), closes #1816
- orderbook: prevent stuck replace order holds (#1842) (984e064), closes #1835
- orderbook: reject all dust peer orders (8a1c816)
- improve HttpServer error logging (67ddfa4)
- restrict reputation events in non-strict mode (#1808) (0d20cd3), closes #1802
- strict command arg (a26d67d)
- service: replace order id (582a49b)
- implement Connext wallet withdrawals (#1853) (6f97783)
- connext: mark payment as failed when receiving 404 status (d1f1f2c)
- connext: request collateral after DEPOSIT_CONFIRMED_EVENT (#1825) (dc6de05)
- orderbook: automatically remove dust orders (0d8435f), closes #1798 #1785
- orderbook: don't add back invalidated orders (#1839) (ed43416), closes #1838
- p2p: replace order in single packet (#1812) (de691b2), closes #1805 #1806
- rpc: log each call with trace not debug (#1819) (eda2f8d), closes #1817
- simnet: change USDT contract address (91e73b0)
- swaps: monitor pending payments before fail (#1822) (1a4ee6e), closes #1799 #1794 #1799 #1794 #1708
- tests: upgrade connext simtests to 7.3.6 (#1833) (57269d8)
- tests: upgrade connext simtests to 7.3.8 (b067d14)
- removes raiden support & p2p packet fields
1.0.0-beta.8 (2020-08-07)
- swaps: no remote fail when sending payment (dc7e4d2), closes #1749
- utils: USDT units per currency (ab7f95b)
- change buy/sell command examples to btc/usdt (d233ebb)
- change buy/sell command examples to btc/usdt (#1786) (116ffc0)
- lnd: totalOutboundAmount (caf3782)
- p2p: handle multiple socket errors (716f5d3), closes #1773
- p2p: handle socket write callback errors (79134fe)
- p2p: remove socket listeners after destroy (8ec4d45)
- rpc: don't block TradingLimits on failure (#1784) (43ae535), closes #1766
- swaps: don't log non-existent route (#1772) (2ff63b9)
- cli: print no more matches on partial mkt (2f407d0), closes #1596
- config: rename debug.testing to strict (2a5f74c), closes #1757
- connext: add USDT pairs to mainnet (bf17eab)
- connext: removeInvoice (ee56800), closes #1730
- connext: request collateral after deposit (#1783) (728b391), closes #1756
- lnd: handle delayed macaroon creation (c15f3db)
- lnd: no inactive balance in trading limits (#1764) (235dab3), closes #1636
- orderbook: prevent sub-satoshi order & match (#1785) (8a479db), closes #1594
- p2p: log whether socket is inbound/outbound (#1775) (87687a5)
- p2p: non-strict severe reputation events (6f39fff)
- simnet: add USDT (69e556b)
- simnet: update USDT contract (595b2df)
1.0.0-beta.5 (2020-07-06)
- cli: accept lower case currencies (#1629) (105ed51), closes #1626
- swaps: cancel taker invoice on swap fail (#1704) (b13ecdb), closes #1695
- swaps: lookupPayment return Pending on error (3d78a55), closes #1701
- remove old exchangeunion.com seed nodes (#1669) (be62fd0)
- cli: streamorders handling xud not ready (#1663) (1f9e82f)
- rpc: close listeners for streaming calls (b18d4d7), closes #1640
- swaps: cancel timer immediately on complete (883be70), closes #1634
- backup: stop backup on sigterm (6745f08)
- connext: log all request errors (54d449e)
- penalize peers for delaying preimage release (06a6bde)
- record recovered swap as a trade in db (b322e2c)
- SwapRecovery sublogger (92a423f)
- backup: change log level debug to trace (2df88c5)
- backup: write xud db every 3 minutes max (#1655) (4306fba), closes #1652 #1368
- config: enable xud encryption by default (4f1bc4d)
- connext: log created outgoing hashlock xfers (84f4d58)
- connext: use channel balance as max outgoing (aea7c2a), closes #1609
- lnd: log htlc acceptance (fa7b13c)
- logger: alert level logging for risk of loss (a518c3f)
- swaps: log when we attempt settleInvoice (90b8d83)
- swaps: new PreimageResolved swap phase (d9d6bb5), closes #1654 #1659
- improve open channel fail logging (704072e)
- log preimage when revealed from sent payment (#1664) (f3d3b69)
- travis ci badge -> github action badges (#1682) (da1b307)
1.0.0-beta.4 (2020-06-09)
- connext: set default lookupPayment status as pending (#1603) (141bcc5)
- p2p: change connext_address to connext_identifier (13157b0)
- swaps: don't try to accept a failed deal (d827957), closes #1614
- swaps: go to recovery for all failures (43f38d2), closes #1606
- format (e32d33c)
- resolve alias for all known nodes (3cbd2d8)
- swaps: log when sending payments (46e2d4e)
- add additional simnet,testnet bootstrap node (9a03146)
- add xud.kilrau.com:8885 mainnet seed (f249489)
- rpc/connext: deposit & openchannel calls (#1577) (ebb715e), closes #1472 #1473
- swaps: check payment immediately on recovery (#1600) (6bea4a6), closes #1598
- p2p:
connext_address
field inNodeState
has been renamed toconnext_identifier
.
Related: opendexnetwork/opendex.network#28 Closes: #1611
1.0.0-beta.3 (2020-06-01)
- cli: use localhost when rpc config 0.0.0.0 (0cdde81)
- connext: add 0x prefix to getHashLockStatus (d470a14)
- connext: provide preimage for swap recovery (1724d57)
- connext: rebalancer logic for simnet channel opener (#1540) (3896397)
- connext: unknown send payment error (c93dfec)
- lnd: relax unhandled openchannel timeout (b072391), closes #1405
- orderbook: remainingOrder on retries (421f0ad)
- swaps: don't cancel invoice on swap timeout (3c20171), closes #1574
- add
::
to selfaddress detection (#1489) (18aa554) - add connextUpdate listener when not operational (3ef792e)
- connectPeerAddresses typo (#1504) (38732ed)
- ignore npm-shrinkwrap for commit hash (52689be)
- persist node id of peer for swapped order (7ffa091)
- swaps: don't fail payment for complete swap (#1581) (0f9c9ff), closes #1571 #1569
- swaps: failed payment for completed swap (274230a), closes #1569
- broadcast invalidation after internal match (1cc8ec4), closes #1547
- prevent hang on first updateCapacity call (#1493) (a6b981d)
- raiden (#1552) (db3789e)
- cli: cleaner message if decimal_places NaN (41d01f9), closes #1539
- cli: handle config file loading error (824bcd6)
- cli: openchannel push amount (71b73f8)
- orderbook: match own orders before peers' (ca9f26b), closes #1206
- rpc: correctly log errors for streaming calls (55c0c11)
- swapclient: don't initialize if misconfigured (3168336)
- string message grpc error handling (a1a600d)
- update xud version on every compile (bc3d4ec), closes #1449
- swaps: use SwapRecovery for maker pay errors (87dd0d1)
- additional swaps-related logging (2b385d7)
- cli: automatically determine rpc host/port (2063fe0), closes #1451
- cli: clarify positional args & add examples (a0072ee)
- cli: print "successfully" for SwapSuccesses (de2e6cb)
- cli: print placeorder swapfailure reason (5355813)
- cli: use streaming PlaceOrder by default (b4e8d9d)
- cli: use ticker format for addpair (b8b0f9b), closes #1521
- lnd: attempt openchannel when connect fails (d0589ea)
- p2p: log reason enum for SwapFailed packet (f875e1a), closes #1499
- rpc: CloseChannel call (f69fa7c), closes #1471 #1472 #1476
- rpc: include aliases in ListOrders (c865f59), closes #643
- rpc: TradeHistory (79bed74), closes #1232
- service: add logger (8aca0fd)
- peer order match events & alias (fb6ecfd), closes #1514
- testing config option for develoment/tests (2738b07), closes #1496
- rpc: deposit & withdraw calls using lnd (c306ea3), closes #1062
- rpc: push amount in OpenChannel call (6bf82f9), closes #1464
- simnet: increase ETH channel size (#1506) (1e20723)
- swaps: log full SwapFailureReason name (0a93f96), closes #1499
- Remove SwapCompleted phase & packet (466abf1)
NodeState
packet now containsconnext_address
field
1.0.0-beta.2 (2020-03-31)
- lnd: don't check for manual unlock (565b623)
- lnd: exponential backoff for grpc client wait (a17f73b), closes #1415
- allow unlock with disconnected lnd (659d70b)
- different gRPC & HTTP port depending on active network (#1286) (347f814)
- rpc/cli: node aliases (#1362) (73e5665)
- swapclient: add Locked status (f7b35a1), closes #1411
- derive child seed from node key (899c301)
1.0.0-beta.1 (2020-02-27)
- cli: print UNAVAILABLE errors correctly (f0c3e38), closes #1371
- lnd: auto unlock consistently (9329d33)
- lnd: prevent undefined error (3ee94de), closes #1367
- rpc/lnd: lnd already unlocked (f75a672)
- swaps: only query routes for connected swap clients (5bd76f6)
- cli: add price max precision checks for orders creation (#1385) (c037f66)
- cli: better messages when unlock/create fail (c124e76), closes #1370
- config: property type and value checking (7c8590f), closes #1222
- p2p: add tor config option (f5e76f2)
- peer: add native tor support (b2e3ac5)
- rpc: add owner parameter for listorders (8b0704e), closes #1323
- disable raiden currencies w/out direct chan (fbb9660), closes #1027
- rpc: wrong password error for unlock (c9aa988)
- swaps: track swap failure currency (5c82992)
- use seedutil to generate mnemonic (e9e6736), closes #1253
- rpc/orderbook: listorders array concatenation (0e7196c)
1.0.0-beta (2020-01-16)
- backup: wait for lnd and resubscribe to channel backups (3a33834)
- lnd: mark lnd as disconnected when channelbalance returns unimplemented (87a9126)
- p2p: handshake race conditions (9b58a05), closes #1309
- p2p: remove error event from Peer (8927a09), closes #1129
- rpc/cli: separate inactive channel balance in getbalance (1f0c3c5)
- test: install geth script (#1340) (7500491)
- show LND info while it is out of sync (#1294) (8fc6096)
- simplify wallet creation output (#1288) (a593288)
- lnd: retry init if misconfigured (WIP) (#1363) (2f233d2)
- restore from backup (9703c76)
- use deciphered seed for xud key (99d49eb)
- cli: change orderbook default precision (bf55948)
- config: add maxlimits options (d9cfe1f), closes #1304
- grpc: Convert Raiden contract addresses to EIP55 format (a9484d0)
- lnd: wait for tls.cert (6398cd5)
- orderbook: immediate-or-cancel orders (c499d8b), closes #622
- p2p: log disconnection packet reason enum (#1272) (dd3fa65), closes #1267
- resolver: retry flag in error message (30a9f31), closes #1282
- rpc: create error if clients misconfigured (1887d53), closes #1287
- rpc: RestoreNode call to restore from seed (4357adb), closes #1017 #1020
- add OpenDEX BOLD specs to readme, minor fixes (#1348) (e4ab35e)
- rpc: GetBalance enhancements (#1197) (fc984cb)
- rpc: notify when xud is starting (931d8e8), closes #1258
- rpc: unlock returns list of locked wallets (2fd2b5d), closes #1319
- swaps: Resolve unknown hashes from database (#1342) (afd43e1)
- add backup daemon (#1032) (225d61a)
- add xud status (#1285) (c04f837), closes #1176
- swaps: add flexibility to second leg route (c109d8f), closes #1165
- swaps: UNKNOWN_PAYMENT_ERROR code (d32dfb6)
1.0.0-mainnet (2019-10-03)
- don't allow new connections while pool closes (173303b)
- reconnect log message (#1260) (8034c6c)
- cli: executeswap don't set undefined quantity (8e61343), closes #1175
- cli: naming inconsistencies (#1203) (f94c7f3)
- lnd: wait for macaroon before wallet created (6ae653d)
- lnd: waitForReady infinite deadline (#1152) (86d2b20)
- p2p: prevent xud from crashing when connecting to peer timeouts (7932b51)
- peer: logging label/node pub key (dec2a46)
- pool: xud crashes upon receiving NodeStateUpdatePacket including an unexisting trading pair (693a01b)
- raiden: log new address correctly (0e8fa0d)
- seedutil: avoid logging seed in logs (6fdc36b)
- seedutil: separate aezeed & encryption pwords (977e3d9)
- swapclient: continue reconnection attempts (a1a2586), closes #1240
- swapclientmanager: catch genseed errors (d5b0fed)
- swaps: add resolve request validation slippage (99600c4)
- swaps: calc lock duration hours correctly (73c43f6), closes #1205
- allow graceful shutdown while awaiting unlock (3821ffd)
- change dai ropsten contract to kyber dai ropsten contract (#1148) (9e81fcc)
- change testnet seed node key, add mainnet seed node key (#1193) (809c5d8)
- log error message reason correctly (#1209) (69962db)
- README link adjustment wiki -> docs.exchangeunion.com (9a03442)
- swaps: check payment rejected error code (5682a0a)
- swaps: prevent crash on send payment failure (555349e), closes #1155
- swaps: set cltvLimit correctly (31b41a1), closes #1158
- swaps: validate Raiden's resolve request (6d525a7)
- update simnet token addresses (#1150) (7737da8)
- cli: enhance listpeers output (d093597)
- wait for lnd on create call (a74780c), closes #1252
- cli: enhance create output (a3e94f1), closes #1210
- cli: getinfo enhancements (#1170) (6c5dae5), closes #1059
- cli: hide password input (dd6e8d9)
- cli: improve create call response wording (#1246) (f32fe6d)
- cli: output enhancements (f234be1)
- cli: set exit code 1 on errored calls (ff9aefd)
- cli: wait for client on create/unlock (a6b1d97)
- cli: wait for tls cert on create (0ceca00)
- config: default p2p port based on network (bc51422), closes #1238
- config: exit on invalid config file (356c2c7)
- db: add simnet default currencies and pairs (29d6479)
- grpc: log call response errors (9913bda)
- initservice: return list of wallets (15ec140), closes #1018
- lnd: update to v0.7.1-beta (#1141) (e73ec4b)
- orderbook: check for swap clients before add (72335a0), closes #983
- p2p: log peer's expectedpubkey (527a88d)
- peer: log pubkey on retry connect (#1144) (97c0d1a)
- rpc: ListCurrencies enhancement (3d716b6), closes #1067
- swaps: raiden claims recovered swap payments (719e199), closes #1251
- $10 mainnet order size limits (c6c74eb), closes #1230
- create eth keystore with master seed (9b4d9f9), closes #1242
- swap: persist active swap deals to db (1a0692b), closes #1079
- swapclient: add timeout to initialization (5c0f04e)
- swapclient: heartbeat (f427158), closes #1090
- swapclient: update capacity on channelbalance (3f43e66)
- seed ports adjustment (3b2cd3c)
- lnd: automatically unlock wallet on restart (457cb67), closes #1196
- swaps: dynamic lock buffer (cf83ab0), closes #1164
- show git commit hash in version (#1200) (876335e)
- shutdown gracefully on SIGTERM (847a251)
- rpc: ListTrades command (740b174), closes #667
- swaps: improved remote error handling (5e21166)
- swaps: logging improvements (f2815d2), closes #1157
- swaps: recover crashed swap deals (856f14a), closes #1079
- limit trade & order sizes for mainnet (f161d19), closes #948
- not connecting to its own addresses (27547af)
- shutdown xud on error during init (9822d77)
1.0.0-testnet.1 (2019-07-18)
- cli: quantity rounding (7e5daec), closes #1015
- lnd: add jstype to channel ids (d0a2106)
- lndclient: set status disabled when disabled (2cff6f0)
- lndclient: unknown service lnrpc.Lightning (9cb0d55), closes #1039
- orderbook: nosanitycheck enabled order exchange (7a46df8)
- orderbook: rename SwapClients to SwapClient (a01a261)
- orderbook: show aggregated quantity (55538ce)
- p2p: NodeStateUpdatePacket process crash (3c462ba)
- p2p: prevent writing to closed socket (9c0eed3)
- blockheight prop of
undefined
in GetInfo (eedb4c2), closes #1011 - calculate swap amount for market orders (2399549), closes #978
- clean shutdown (28dfae9)
- deprecation warnings from crypto dependency (c28454e)
- load raiden token addresses from db (d011c80)
- re-add http resolver listen (af2bdae)
- tests: make testNetworkInit wait for synced chains (b5c5c5c)
- round unitsToAmount conversion result (8025e27), closes #1097
- p2p: use forEach instead of an iterator with pb kvpArray (9edb320)
- p2p: various reconnection issues (3805b4e)
- raiden: add getRoutes and getHeight compatibility (39d1eb2)
- raiden: cleanup reconnectTimer on shutdown (830efcc)
- raiden: getRoutes amount comparison (eb25249)
- raiden: isDisabled mechanics (7be460b)
- raiden: outbound capacity check (eadc411)
- raiden: sendPayment secret response (d01d0a4)
- swapclients: check capacity up front (1fed617), closes #900
- swaps: add hardcoded support for DAI (b68d88c)
- swaps: don't retry verified currency sanity (b8bb45a), closes #946
- swaps: ensure correct takerCltvDelta and makerCltvDelta usage (5dc728b)
- swap client initialization (30907b0)
- swaps: prepend 0x to Raiden's sanity swap rHash (a2de310)
- swaps: prevent SwapFailurePacket crash (cbc1a48)
- swaps: remove stalled sanity swap invoice (ca82c15), closes #964
- swap sent/received amounts in satoshis (2aa4ede), closes #1063
- switch swap capacity check currency (ea47b91), closes #932
- testnet seed node pubkey update (2e6c674)
- use integer satoshi quantities (3d12ada), closes #740
- cli: add orderbook command (e13aec3)
- cli: enhance output of listpairs (#925) (6852ea2)
- cli: formatted channelbalance output (7618b4c)
- discover nodes from a specific peer (#920) (1caa2a7)
- client: add maximum outbound capacity checks to baseclient (0c698a1)
- lnd: use lnd 0.6.1 w/ hold invoices (35ae4f6), closes #798
- logger: add more detailed swaps logging (4846d4b)
- logger: optional subcontext (f894a7c)
- orderbook: add sanity checks to placeOrder (315023c)
- orderbook: order quantity threshold (0464b3c)
- orderbook: require token address for Raiden currencies (033331c)
- raiden: add sendPayment support (e07f606)
- raiden: channel balance by currency (a488fa7), closes #1051
- raiden: check direct channel before swap (a87e903), closes #1027
- raiden: detect raiden address change (3db6ec2)
- raiden: log error message for 409 responses (c8be4d0), closes #957
- raiden: pass secret hash to raiden (963abcc)
- raiden: remove 0x from RaidenResolveRequest (0529516)
- raiden-resolver: add configuration option for listening interface (46b1048)
- rpc: add limit to ListOrders call (#820) (1b78331), closes #748
- rpc: add raidenAddress to ListPeers response (e6f6f6d)
- rpc: add SubscribeSwapFailures rpc call (722b420), closes #817
- rpc: removed own orders in SubscribeOrders (ce68965)
- http endpoint for raiden hash resolver (3d1f4de), closes #931
- seedutil: generate eth keystore from aezeed mnemonic (cdca98a)
- add sanity swap checks after handshake (b138afe), closes #676
- add testnet seed node (#1085) (beb238d), closes #1061
- service: add open channel support (dab84af)
- swaps: get peer identifier for swaps (fd8c17f)
- swaps: prevent raiden from being first leg (7c76a3d)
- swaps: use configurable amount of subunits per currency (ed79480)
- token identifiers for currencies (98be295), closes #910
- XU networks support (#827) (a5a06e1), closes #781
- xud master password (6bfad02), closes #912
- Changed p2p messaging structure for
SessionInit
andNodeStateUpdate
packets. - New SanitySwapPacket.
- Database and p2p field type changes
- nodes database table & separate databases by network
1.0.0-alpha.11 (2019-03-21)
- p2p: fix connection timeout unhandled error (d258551)
- p2p: open peer before sending session ack (2e6e1e8), closes #839
- p2p: peer error logging (67a632c)
- packets: correct order packet validation (1329d37)
- proto: set price as double (9869116)
- raiden: add add minimum viable RaidenClient REST API integration (5758c0c)
- rpc: add failureReason to SwapFailure msg (f2d9228), closes #807
- swaps: handle taker getRoutes exceptions (5c8c9dc)
- p2p: use async randomBytes for packet framer (4756711)
- Changes p2p packet structures for packets that communicate the node state.
- Changes the way lnd config options are passed in via command line arguments.
1.0.0-alpha.10 (2019-03-05)
1.0.0-alpha.9 (2019-02-22)
- orderbook: remove entire order correctly (eec8f48), closes #804
- p2p: restore dropped pair logic (907ee16), closes #756
- use SubscribeInvoices to monitor lnd (#762) (0646d6b), closes #573
- swaps: define behavior for swap errors (1641a32), closes #661
1.0.0-alpha.8 (2019-02-06)
- orderbook/db: upsert orders (0030687)
1.0.0-alpha.7 (2019-01-23)
- rpc: subscribeorders http endpoints (ce5a89a)
- swaps: ignore swap failed for inactive swaps (e89f936)
- add configurable logger date formatting (ee66a6c), closes #686 #686
- cli: improved streamorders (#780) (6084043), closes #687
- parse uri without port (db91489)
- p2p: encryption & authentication (#756) (067378f)
- p2p: revoke connection retries (#750) (f56bcc3)
- p2p: sending GET_NODES periodically (#770) (57c48de), closes #402 #402
- p2p: verify version compatibility (59aa8ff), closes #154 #154
- rpc: failed swaps for PlaceOrder (6c9c2a6), closes #609 #734
- rpc: optionally subscribe to taker swaps (6bbfd89), closes #688
- swaps: timeout stalled swaps (a463056), closes #653
1.0.0-alpha.6 (2018-12-28)
- cli: use correct args for executeswap (038c6a9)
- orderbook: persist trade before remove order (9ce892a)
- orderbook: use pairs keys iterable (3e26753), closes #766
- p2p: check before emitting open event (f4f8dab)
- p2p: don't send empty GetOrders packet (fbacd8b)
- p2p: hash order invalidations correctly (d876e8b), closes #767
- p2p: hash outgoing orders correctly (d5b7408), closes #758
- p2p: order invalidation packet (#774) (962124f), closes #756
- p2p: terminate inbound peers on shutdown (b9f312a)
- proto: use 64 bit chan_id ints as strings (5a9a518), closes agreatfool/grpc_tools_node_protoc_ts#10 #745
- rpc/p2p: unban functionality (#731) (e5083e5)
- swap: allow one extrac block to be created during swap (0a4d149)
- swap: Avoid fraction in cltvDelta (08bf957)
- swaps: release order hold on sendpayment err (9322a06)
- swaps: rename errorReason swap field (732a6d0)
- cli: stream existing orders by default (#730) (a40b330)
- db: add rHash to trade (0c30c89)
- db/orderbook: persist trades from swaps (4a2547e), closes #608
- orderbook: add assertions to removeOrder (9350a27)
- p2p: improve logging for p2p messaging (32e3263)
- grpc server logging (#736) (d538757)
- p2p: protobuf serialization/validation (#712) (5a030bd)
- p2p: verify data integrity (#751) (3ff06b1)
- p2p/db: add failureReason field for swaps (9cd0f4f)
- p2p/orderbook: drop orders for dropped pairs (f9a40c2), closes #599
- rpc: remove peerpubkey from executeswap cli (40e0d44), closes #694
- rpc/orderbook: handle remove order with hold (afe2fe3), closes #552
- swaps: comprehensive SwapFailureReason (2f3dcf5), closes #671
- p2p/db: New
failureReason
p2p packet and database field. - swaps: Renames
errorReason
field in database.
1.0.0-alpha.5 (2018-12-04)
- lnd: don't default lnd clients as disabled (3030b9c), closes #672
- p2p: cancel retry connection timer (28a06a4)
- rpc: close streaming calls on shutdown (84cfe8a), closes #699
- db: set null price for market orders (b0b9797)
- orderbook: don’t match with quantity on hold (#697) (2444ab9)
- graceful shutdown on SIGINT (3bc22d8)
- orderbook/swaps: accept partial swaps (d73da4c), closes #550
- p2p: reconnect to peer after disconnection (#695) (56fa2b4), closes #616 #698
- rpc: add currencies to swap result (86dfed4), closes #670
- rpc/orderbook: stream existing orders (#657) (25c39ef), closes #534
- use async fs & crypto methods (2431685)
1.0.0-alpha.4 (2018-11-16)
- cli: format buy & sell output (d958cd5), closes #620
- cli: sort getorders output (c1d6627)
- db: join swapdeal to order & node (ac12dcf)
- db: persist taker trades (#659) (54a9291)
- orderbook: log when orders are matched (4778e62)
- orderbook: logging enhancements (9742228), closes #649
- orderbook/swaps: verify route before executing the swap (a290a60)
- p2p: add reputation events for errors (#634) (8b1199f), closes #566
- p2p: disconnecting packet (#658) (f59bdab)
- rpc: add hold field to orders (#645) (27ec3c2)
- swaps: check if rHash exists (#642) (ef2beb2), closes #547
- swaps: recalculate partial swap amts (#633) (d1f1eef)
- orderbook: streamline matching routine (65c5f31)
1.0.0-alpha.3 (2018-11-09)
- swaps: renaming packets & properties (6c89c53)
- cli: add global --json option/arg (558bfc8)
- cli: extend cli callback with optional formatting cb (843f683)
- cli: show table as getorders output (f11f9ff)
- db: add Order and Trade models (1dc83e8), closes #621
- db/orderbook: persist swapped orders (03a9e16)
- orderbook: add initialQuantity to orders (3f07a9c)
- orderbook/swaps: release order hold (838b71e), closes #549
- rpc: add UNAVAILABLE grpc error status code (#632) (e9c4697)
- swaps: calculate swap amounts locally (4882144), closes #615
- swaps: check that swap request is valid (a1da3db)
- swaps: Renames p2p packets and packet body properties.
- db: Adds models and restructures existing models,
xud
databases will need to be recreated.
1.0.0-alpha.2 (2018-11-01)
- lnd: automatically retry if chain out of sync (be3b7c9), closes #593
- p2p: connect to peers with lastAddress only (da960d6), closes #606
- p2p: consistent checks before connecting (2847614)
- p2p: don't remove peer orders without pubkey (#586) (9597afe), closes #539
- swaps: correctly set taker & maker amounts (2819c06), closes #604