Commit Graph

86 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
bd1728606b
Merge pull request #4328 from joostjager/anchor-test-vectors
lnwallet/test: reproduce test vectors in commit and htlc tx test
2020-06-23 16:09:05 -07:00
Joost Jager
24e1126776
lnwallet/test: reproduce test vectors in commit and htlc tx test
This commit changes the verification of our code against the spec test
vectors to use a more black box approach. It exercises the channel state
machine via its external interface as much as possible, making this test
more robust. A consequence of this is that the test now runs from the
'root' data from which the test vectors are also derived, meaning that
more code is covered too.

Running from the root data is also a preparation for _producing_ test
vectors for the new anchor commitment format. This will be a matter of
changing the channel type and recording the produced commitment and htlc
txes.

Previously the success transaction was skipped during verification. With
this commit, the proper preimage insertion is carried out, allowing the
success tx to be checked too.
2020-06-17 22:59:12 +02:00
Oliver Gugger
6250ed1cf1
lnrpc: add WebSocket proxy 2020-06-17 08:34:54 +02:00
Olaoluwa Osuntokun
ed93c16e51
Merge pull request #4033 from Roasbeef/go1.14
build: update travis to build against go 1.14
2020-06-16 16:25:34 -07:00
Olaoluwa Osuntokun
7261b064db
build: update to walletdb v1.3.3 and wtxmgr v1.2.0 2020-06-15 17:51:20 -07:00
Wilmer Paulino
d49c6fba87
build: update btcwallet dependency for bitcoind v0.20 compat 2020-06-12 10:46:16 -07:00
Oliver Gugger
3ef41dd198
lnrpc: update grpc-gateway to v1.14.3 2020-06-04 08:43:49 +02:00
Wilmer Paulino
94629b6c73
build: update btcwallet version to expose output leases 2020-06-03 18:31:53 -07:00
Andras Banki-Horvath
2a591ee2f1 build: bump etcd to v3.3.22 2020-06-02 15:40:20 +02:00
carla
79265ddff0
gomod: tidy dependencies 2020-05-25 15:24:18 +02:00
Andras Banki-Horvath
3b7525659c channeldb+kvdb: add walletdb interface test
This commit adds walletdb interface test suite to the existing test set.
2020-05-22 11:26:25 +02:00
Andras Banki-Horvath
137dee04e8 channeldb+kvdb: an extended STM on top of etcd clientv3
This commit adds an extended STM, similar to what available in etcd's
clientv3 module. This incarnation of said STM supports additional
features, like positioning in key intervals while taking into account
deletes and writes as well. This is a preliminary work to support all
features of the kvdb interface.
2020-05-22 11:26:24 +02:00
Olaoluwa Osuntokun
c2e7ca9b5f
Merge pull request #4300 from guggero/no-fastsha
channeldb+htlcswitch: don't use fastsha256 in tests
2020-05-21 17:21:50 -07:00
Oliver Gugger
a17ddc5dd1
channeldb+htlcswitch: don't use fastsha256 in tests
The btcsuite/fastsha256 registers itself in the crypto package of
golang as a replacement for sha256. This causes problems in TLS1.3
connections that require the hash implementations to be serializable
and results in the "tls: internal error: failed to clone hash" error.
By removing all uses of the library we fix that error.
2020-05-20 11:07:38 +02:00
Oliver Gugger
ee74e4ba86
server+mod: use ECDH interface for sphinx router 2020-05-20 09:05:36 +02:00
Wilmer Paulino
0e3fc4c7a6
build: update to latest btcd and btcwallet versions
This update introduces backwards compatibility for btcd nodes running
versions prior to v0.20.1-beta.
2020-05-15 17:00:16 -07:00
Joost Jager
8d7e07d96b
lncli: live table-based payment updates 2020-04-22 14:49:17 +02:00
Olaoluwa Osuntokun
cd9c1c7746 Revert "lncli: live table-based payment updates"
This reverts commit 6ffdf7ef1fa080844af9fced3a57e54d0ee22729.
2020-04-21 18:03:57 -07:00
Joost Jager
6ffdf7ef1f
lncli: live table-based payment updates 2020-04-21 17:02:15 -07:00
Olaoluwa Osuntokun
84e577af45
build: update to latest btcutil and psbt versions
The latest versions of the `psbt` package includes some decoding bug
fixes.
2020-04-13 17:02:32 -07:00
Wilmer Paulino
1a1e8b6dad
build: update btcwallet dependency to scan/recover all key scopes 2020-04-03 15:26:18 -07:00
Oliver Gugger
f97339c3e8
mod: add PSBT dependency 2020-03-31 09:17:05 +02:00
Oliver Gugger
81730e6444
mod: update btcwallet dependency to fix neutrino flake 2020-03-24 10:01:28 +01:00
Roei Erez
3d71a28cce build: update dependencies 2020-03-19 12:00:36 +02:00
Olaoluwa Osuntokun
d091f24316
build: update to latest btcwallet version with rescan addr fix
In this commit, we update to the latest `btcwallet` version that
includes a fix for how we perform rescans. Before this commit, the
wallet would load ALL the created keys into the wallet to perform a
rescan. This is unnecessary, as many of the keys we create are actually
used in contracts, so the wallet can't spend them directly anyway.

For neutrino nodes, this would've caused them to attempt o match more
items in the filter than necessary, possibly resulting in an increased
number of false positive block fetches.
2020-02-18 17:12:32 -08:00
carla
746fdd3d30
gosum: tidy up old btcwallet dependencies
Run go mod tidy to clean up dependencies that were upgraded in #3927.
2020-02-16 15:00:24 +02:00
Oliver Gugger
1cb52491a3
mod: update btcwallet dependency 2020-01-24 14:02:39 +01:00
Olaoluwa Osuntokun
e96e011520
build: update to latest lightning-onion version 2020-01-07 16:11:33 -08:00
Conner Fromknecht
8f5d78c875
build+lncli: default to hex encoding for byte slices
This commit swaps out golang/protobuf/jsonpb for a custom variant that
by default prints byte slices as hex, which is more useful for our
setting. Some existing wrapper structs are removed as they can now be
printed directly with the new jsonpb.

!!! NOTE !!!

This commit introduces a breaking change to lncli listinvoices since
payment hashes and preimages will now be printed in hex instead of
base64.
2019-12-20 01:05:08 -08:00
Joost Jager
31b2c22cf5
routing: check for invalid routes 2019-12-16 14:53:45 +01:00
Wilmer Paulino
b33a229457
build: bump btcsuite and neutrino dependencies to latest tagged versions
The btcwallet update includes some edge-case wallet bug fixes and an
optimization on ZMQ connections for bitcoind backends.

The btcd update allows for compatibility with bitcoind v0.19.0 backends.
2019-11-12 20:34:35 -08:00
Johan T. Halseth
a8837478f4
mod: update neutrino dep 2019-11-11 10:45:09 +01:00
Oliver Gugger
b6b57d1c00
proto: update to grpc-gateway v1.8.6 2019-10-31 09:13:33 +01:00
Johan T. Halseth
5cbef663e4
go mod: update btcd+neutrino+btcwallet 2019-10-15 10:31:23 +02:00
Wilmer Paulino
194a9dea81
multi: support sync freelist option within btcwallet 2019-10-04 12:19:40 -04:00
Johan T. Halseth
96ebce6842
go mod: update btcwallet dependency
We update to a new version of btcwallet where specific errors
(ErrDoubleSpend and ErrReplacement) will be returned from
PublishTransaction.
2019-09-25 08:03:21 +02:00
Conner Fromknecht
003441d7e9
build: adding missing unit test dep to go.sum 2019-09-19 12:46:17 -07:00
Olaoluwa Osuntokun
484e6df6a7 build: update to latest version of neutrino
In this commit, we update to the latest version of neutrino with a
series of important bug fixes in the core rescan logic.
2019-09-18 20:29:51 -07:00
Olaoluwa Osuntokun
9f1c6e9394
build: update to latest version of lightning-onion 2019-09-11 05:57:08 -07:00
Olaoluwa Osuntokun
5fc003d6a1
build: update to latest versions of btcwallet and neutrino 2019-09-11 05:57:05 -07:00
Olaoluwa Osuntokun
ac6f56566e build: point to latest lightning-onion w/ EOB support 2019-08-22 18:52:53 -07:00
Olaoluwa Osuntokun
69c9e2b732
Merge pull request #3278 from Crypt-iQ/bbolt_options_0707
channeldb: specify freelist bbolt options by default
2019-07-30 16:52:28 -07:00
Olaoluwa Osuntokun
9b3b333707
build: update neutrino to version w/ stall fix
In this commit, we update neutrino to a new version that has a fix for a
possible sync stall that can occur if a response that we believe has
timed out, later comes back from the source peer.
2019-07-25 16:08:52 -07:00
Olaoluwa Osuntokun
5d57ba6393
build: update to neutrino version w/ shutdown fix 2019-07-24 17:43:31 -07:00
Olaoluwa Osuntokun
97bbc492c4
build: update neutrino to latest version
In this commit, we update to the latest version of Neutrino which
includes fixes to the syncing logic.
2019-07-22 16:37:41 -07:00
Wilmer Paulino
4faed1deff
build: update btcwallet and zmq dependencies
* We address an issue where we would unnecessarily time out bitcoind ZMQ
  connections if there are no messages to be read. This would cause
  connections to be torn down, which would then trigger the reconnection
  logic and prevent us from detecting this issue.

* A new sanity check within the wallet is done to prevent adding
  unconfirmed transactions that the wallet has already recognized as
  confirmed.
2019-07-12 02:40:16 -07:00
Joost Jager
2b47632b26
htlcswitch+routing+routerrpc: return error source as index 2019-07-11 10:37:26 +02:00
Wilmer Paulino
383dd8111b
build: use github mirror of bsaes dependency
This allows us to not depend on external hosts for third-party
dependencies other than the standard hosts: github.com,
google.golang.org, and gopkg.in.
2019-07-10 11:52:57 -07:00
nsa
4fd78926d4 build: update bbolt to v1.3.3 with panic rollback fix
This commit updates the bbolt dependency to v1.3.3 so that we
can use the NoFreelistSync option without triggering a panic
in case a rollback occurs.
2019-07-08 18:35:43 -04:00
Olaoluwa Osuntokun
04512a1a93
build: update to latest btcd with rescan optimization 2019-06-28 17:39:32 -07:00