Commit Graph

9612 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
02f8a0db2b
Merge pull request #4277 from joostjager/fix-signer-err
lnwallet: return signer error
2020-05-15 16:15:50 -07:00
Olaoluwa Osuntokun
c6ae06242d
Merge pull request #4274 from wpaulino/wtclient-add-tower-filter
wtclient: load missing info into client sessions upon new tower
2020-05-15 16:13:22 -07:00
Wilmer Paulino
c760700545
wtmock: prevent race conditions by not using ClientSession pointers
These race conditions originate from the mock database storing and
returning pointers, rather than returning a copy.

Observed on Travis:

WARNING: DATA RACE
Read at 0x00c0003222b8 by goroutine 149:
  github.com/lightningnetwork/lnd/watchtower/wtclient.(*sessionQueue).drainBackups()
      /home/runner/work/lnd/lnd/watchtower/wtclient/session_queue.go:288 +0xed
  github.com/lightningnetwork/lnd/watchtower/wtclient.(*sessionQueue).sessionManager()
      /home/runner/work/lnd/lnd/watchtower/wtclient/session_queue.go:281 +0x450

Previous write at 0x00c0003222b8 by goroutine 93:
  github.com/lightningnetwork/lnd/watchtower/wtclient.getClientSessions()
      /home/runner/work/lnd/lnd/watchtower/wtclient/client.go:365 +0x24f
  github.com/lightningnetwork/lnd/watchtower/wtclient.(*TowerClient).handleNewTower()
      /home/runner/work/lnd/lnd/watchtower/wtclient/client.go:1063 +0x23e
  github.com/lightningnetwork/lnd/watchtower/wtclient.(*TowerClient).backupDispatcher()
      /home/runner/work/lnd/lnd/watchtower/wtclient/client.go:784 +0x10b9
2020-05-14 15:39:03 -07:00
Wilmer Paulino
f6f0d3819f
wtclient: test case re-add removed tower 2020-05-14 13:48:08 -07:00
Wilmer Paulino
b195d39ad7
rpc: use existing rpc logger for wtclientrpc
The logger string used to identify the wtclient and wtclientrpc loggers
was the same, leading to being unable to modify the log level of the
wtclient logger as it would be overwritten with the wtclientrpc's one.
To simplify things, we decide to use the existing RPC logger for
wtclientrpc.
2020-05-14 13:35:03 -07:00
Wilmer Paulino
ec5c941512
wtclient: filter out inactive sessions upon adding existing/new tower 2020-05-14 13:35:02 -07:00
Wilmer Paulino
75c2ebd794
wtclient: load missing info into client sessions upon new tower
This addresses a potential panic in where we relied on this missing info
being populated.
2020-05-14 13:35:00 -07:00
Wilmer Paulino
01ab551b22
wtclient: refactor existing candidate session filtering into method 2020-05-14 13:34:59 -07:00
Olaoluwa Osuntokun
8b09ac07d3
Merge pull request #4276 from guggero/actions-failure
github: remove continue-on-error
2020-05-14 11:58:23 -07:00
Conner Fromknecht
2f84d1a819
Merge pull request #4280 from cfromknecht/read-for-each-node
channeldb: remove Tx arg from ForEachNode
2020-05-13 16:37:10 -07:00
Joost Jager
1bd211a722
Merge pull request #4147 from joostjager/unify-pay-responses
router+routerrpc: unify sendtoroute and payment responses
2020-05-13 20:36:14 +02:00
Wilmer Paulino
4e93d3036d
Merge pull request #4282 from carlaKC/walletrpc-comments
lnrpc: remove double asterix comments
2020-05-13 10:15:23 -07:00
carla
da56328372
signerrpc: replace double asterix comment 2020-05-13 09:19:45 +02:00
carla
5f38d8c316
walletrpc: remove double asterix comment 2020-05-13 09:18:40 +02:00
Conner Fromknecht
90d3bf532d
channeldb+routing: remove tx arg for ForEachNode 2020-05-12 17:53:20 -07:00
Conner Fromknecht
b6915d9fbf
Merge pull request #3892 from matheusdtech/fix-lingering-contract
contractcourt: fix lingering contract after local breach
2020-05-12 11:46:26 -07:00
Joost Jager
2d7c942d47
lnrpc: direct to SendPaymentV2 2020-05-12 19:57:02 +02:00
Joost Jager
5a56a6870e
lnrpc: deprecate main SendToRoute rpc 2020-05-12 19:57:00 +02:00
Joost Jager
261588cc8e
itest: switch over to routerrpc.SendToRouteV2 2020-05-12 19:56:58 +02:00
Joost Jager
0f6eacb4fa
lncli: switch to routerrpc.SendToRouteV2 2020-05-12 19:56:56 +02:00
Joost Jager
b6170788ea
routerrpc: add SendToRouteV2 that returns an HTLCAttempt message
Unify data structure with SendPayment/ListPayments.
2020-05-12 19:56:54 +02:00
Joost Jager
674c199047
routing: return full htlc attempt from router 2020-05-12 19:56:52 +02:00
Joost Jager
cc37485432
routing: return full htlc attempt from shard handler 2020-05-12 19:56:50 +02:00
Joost Jager
8e7c0757ec
routerrpc: expose preimage on the htlc level 2020-05-12 19:56:49 +02:00
Joost Jager
7c4e57c53d
lnwallet: return signer error 2020-05-12 13:33:50 +02:00
Oliver Gugger
e175a64540
github: remove continue-on-error
The continue-on-error was added to make sure the log files of the
failed itests would always be uploaded. But this has the side effect
of marking the whole job successful, even if the itest job itself
failed. The failure condition in the log file steps already solve
that, so the continue-on-error is not needed anymore.
2020-05-12 13:29:51 +02:00
Joost Jager
185813abb1
Merge pull request #4257 from joostjager/multi-outgoing-chan-restriction
routing+routerrpc: add multiple outgoing channel restriction
2020-05-12 13:07:36 +02:00
Matheus Degiovani
43b9318b2d contractcourt/commit_sweep_resolver: reduce log msg to warn 2020-05-12 07:46:14 -03:00
Matheus Degiovani
9ed14a50a4 contractcourt: switch to table based testCommitSweepResolverDelay
This improves readability since both instances of the test are very
similar.
2020-05-12 07:46:14 -03:00
Matheus Degiovani
2110bfa40b contractcourt: test sweep of locally breached commit tx
This adds a test to the commit sweeper resolver to ensure it behaves
properly if the local node breaches a channel.

In this situation the remote party is expected to sweep the breached
output to itself and therefore the local party won't be able to recover
any funds.
2020-05-12 07:46:14 -03:00
Matheus Degiovani
d71a4ee033 contractcourt+itest: fix lingering pending channel after breach
This fixes an issue where the contract court could leave a completely
swept commit tx unresolved if it was swept by the remote party.

This could happen if (our) commit tx just published was actually a
previously revoked state, in which case the remote party would claim the
funds via a justice transaction.

This manifested itself in the testRevokedCloseRetribution integration
test where at the end of the test Bob was left with a pending channel
that never resolved itself.
2020-05-12 07:46:14 -03:00
Joost Jager
25a50b62fb
itest: extend whitelist 2020-05-12 09:13:41 +02:00
Joost Jager
c33d94ff27
routing+routerrpc: add multiple outgoing channel restriction 2020-05-12 07:17:24 +02:00
Joost Jager
53e4876a1d
routing/test: add channel id constants 2020-05-12 07:17:22 +02:00
Olaoluwa Osuntokun
338e12ecd0
Merge pull request #2668 from cfromknecht/dry-run-migration
Dry run migration
2020-05-11 18:05:52 -07:00
Olaoluwa Osuntokun
704ce02712
Merge pull request #3018 from cryptagoras/log-htlcsuccess
htlcswitch/switch: log successfully forwarded HTLCs
2020-05-11 17:55:45 -07:00
Olaoluwa Osuntokun
36e8d1b468
Merge pull request #4250 from guggero/rest-1-cleanup
REST saga 1/3: Cleanup proto files, generate Swagger docs
2020-05-11 17:26:52 -07:00
Conner Fromknecht
c57d0797aa
Merge pull request #4220 from guggero/github-actions
github: add GitHub Actions configuration
2020-05-11 15:53:28 -07:00
Conner Fromknecht
4f6cef83fc
config: adds cli configurable --migration-dry-run 2020-05-11 15:38:56 -07:00
Conner Fromknecht
c775819372
channeldb/db: adds optional dry-run abort for migrations 2020-05-11 15:38:45 -07:00
Oliver Gugger
b6ab16f02a
github: add GitHub Actions configuration 2020-05-11 16:05:21 +02:00
cryptagoras
0f734b769e htlcswitch/switch: log successfully forwarded HTLCs 2020-05-10 01:52:36 +03:00
Olaoluwa Osuntokun
f3a427724b
Merge pull request #4256 from joostjager/extend-itest-whitelist-2
itest: extend whitelist 2
2020-05-08 16:31:19 -07:00
Olaoluwa Osuntokun
db7eac35d0
Merge pull request #4253 from Roasbeef/fix-go12-duration
cmd/lncli: remove usage of Millisecond() for Go 1.12
2020-05-08 16:20:39 -07:00
Olaoluwa Osuntokun
2190bc7af9
Merge pull request #4236 from guggero/grpc-docs
docs: update instructions for JavaScript and Python on how to use gRPC
2020-05-08 16:13:45 -07:00
Oliver Gugger
ce4591437b
docs: link to lnrpc README, remove json_name 2020-05-08 14:34:03 +02:00
Oliver Gugger
272598a706
lnrpc: generate gateway and swagger for all RPCs 2020-05-08 14:33:59 +02:00
Oliver Gugger
71c58c2c04
lnrpc: replace /// and /** with // and /* 2020-05-08 14:33:34 +02:00
Oliver Gugger
0800386138
lnrpc: unify proto style by moving services to top of file 2020-05-08 14:33:04 +02:00
Oliver Gugger
acd105fccb
lnrpc: split walletunlocker in own file 2020-05-08 14:31:37 +02:00