Commit Graph

402 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
0453078213
cmd/lncli: increase lightning gRPC block size to 50MB
In this commit, we increase the gRPC block size from 4MB to 50MB.
Recently, the output of `lncli describegraph` has hit the block size cap
due to the expansion of the mainnet graph. Without this attempts to
fetch the graph returns an error of:
```
[lncli] rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4246753 vs. 4194304)
```

With this commit, we give ourselves some breathing room. It's important
to note that the max message size limit is a _client side_ setting. As a
result, any developers driving `lnd` with gRPC will also need to raise
their block size limit as well if they wish to fetch the graph over
gRPC.
2018-12-25 13:23:14 -06:00
Johan T. Halseth
80ac8c1df0
lncli: add lncli autopilot commands
This commit adds commands 'status', 'enable' and 'disable' for
autopilot.

The commands will only be enabled for autopilotrpc builds of lncli.
2018-12-13 13:02:40 +01:00
AdamISZ
9bb2a26948
Add listunspent RPC call
Returns a brief json summary of each utxo found by calling
ListUnspentWitness in the wallet. The two arguments are the
minimum and maximum number of conrfirmations (0=include
unconfirmed)
2018-12-11 15:26:38 +01:00
Francisco Calderón
81a6f4c95a
fixes typo on listinvoices command 2018-12-10 12:20:20 -03:00
Xavi Soler
8db3c04773 lnrpc: reorder fields in lncli getingo output
Move num_inactive_channels closer to num_active_channel,
best_header_timestamp closer to block_hash/block_height and version as
first item in the list.
2018-11-20 20:35:04 +01:00
Francisco Calderón
b61f6fe886
removes duplicated default message on queryroutes command 2018-11-12 12:03:00 -03:00
Olaoluwa Osuntokun
4c0ca37174
Merge pull request #1389 from Bluetegu/noprivate-describegraph-1037
Add --noprivate flag to describegraph rpc to filter out private channels
2018-10-16 20:01:35 -07:00
Conner Fromknecht
97fd56cf47
cmd/lncli: display build.Version() for commit hash 2018-10-05 13:04:45 +09:00
bluetegu
2f3e2f9308 Add --include_unannounced flag to describegraph lncli command.
Private and public channels which weren't announced yet are returned only
if the flag is set.
Note: this changes the default output of describegraph which used to
return all channels known to node.
2018-10-04 14:54:49 -04:00
Joost Jager
ab67b9a4de
rpcserver+lnrpc+lncli: add AbandonChannel rpc call
Using AbandonChannel, a channel can be abandoned. This means
removing all state without any on-chain or off-chain action.
A close summary is the only thing that is stored in the db after
abandoning.

A specific close type Abandoned is added. Abandoned channels
can be retrieved via the ClosedChannels RPC.
2018-09-18 12:20:27 -07:00
Olaoluwa Osuntokun
a3b75faa02
Merge pull request #1885 from tsarpaul/master
cmd/lncli: Fixed conflicting payinvoice amount output
2018-09-13 19:14:08 -07:00
Wilmer Paulino
fe17adc519 cmd/lncli: update listinvoices docs with new pagination support 2018-09-13 15:54:12 -07:00
Wilmer Paulino
08bddece8b
cmd/lncli: add description and reversed flag to listinvoices 2018-09-12 22:12:00 -07:00
Olaoluwa Osuntokun
c5ece1e509
Merge pull request #1843 from cfromknecht/change-noencryptwallet
Start deprecating noencryptwallet
2018-09-12 21:07:23 -07:00
Paul Litvak
e43b83fa74 cmd/lncli: Fixed conflicting payinvoice amount output 2018-09-12 01:27:54 +03:00
Francisco Calderon
98712c037d cmd/lncli: fix missing whitespaces on lncli queryroutes desc
Adds whitespaces missing on command description,
without those whitespaces at the end of the line
it showed the words together
2018-09-09 15:16:00 -07:00
Olaoluwa Osuntokun
b343ef24e7
cmd/lncli+fundingmanager: use a default num min confs for 1 for openchannel 2018-09-08 14:41:03 -07:00
Conner Fromknecht
d11212dd61
cmd/lncli/commands: change noencryptwallet -> noseedbackup 2018-09-04 20:52:43 -07:00
Olaoluwa Osuntokun
73af09a06a
lnd+cmd/lncli: bump version to 0.5-beta 2018-08-27 14:23:53 -07:00
Olaoluwa Osuntokun
dadf13e2a3
cmd/lncli: rename parseArgs to extractPathArgs, return error 2018-08-23 18:05:24 -07:00
Olaoluwa Osuntokun
ebc9550a1b
cmd/lncli: properly parse cert and macaroon paths for all config variants
In this commit, we ensure that we're able to properly parse the cert and
macaroon paths for all relevant config variants. Before this commit, it
would be the case that the macaroon path ended up empty if a user wasn't
running the default (mainnet, lnddir) settings. In this commit, we
remedy this by parsing each of the two (cert+macaroon) paths
independently.
2018-08-23 18:05:23 -07:00
Wilmer Paulino
4ba6a59e75 cmd/lncli: retrieve the macaroon for the current chain and network
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
Wilmer Paulino
56504d2685 cmd/lncli: add flags to determine the macaroon for the active network
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
Wilmer Paulino
6ddae25487 config+cmd/lncli: make cleanAndExpandPath return empty string on empty path
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
Wilmer Paulino
03399648d5
cmd/lncli: add pagination flags for listinvoices command
Co-authored-by: Andrey Savitskiy <taketa@users.noreply.github.com>
Co-authored-by: Valentine Wallace <valentine.m.wallace@gmail.com>
2018-08-21 18:00:08 -07:00
Olaoluwa Osuntokun
4c51f9b5ae
Merge pull request #1693 from wpaulino/autopilot-zero-conf-inputs
multi: allow use of unconfirmed outputs for funding transactions
2018-08-17 17:06:09 -07:00
Johan T. Halseth
c39c2d7c37
lncli: remove --render option from describegraph 2018-08-17 09:36:56 +02:00
Wilmer Paulino
8e15b48a05
cmd/lncli: expose min confs parameter for OpenChannel command 2018-08-16 20:19:28 -07:00
f
0ae268397b lncli: add confirmPayreq used when paying 2018-08-07 18:37:35 -07:00
Conner Fromknecht
cf2c371042
multi: fix linting errors 2018-08-02 18:20:50 -07:00
Conner Fromknecht
1ded697e8d
multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
Olaoluwa Osuntokun
6f60f139f4 multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
Olaoluwa Osuntokun
93207608b5
Merge pull request #1125 from Roasbeef/streaming-invoice-improvements
channeldb+lnrpc: re-work invoicing API to implement robust streaming notification delivery
2018-07-10 20:42:00 -07:00
Rui Gomes
ae84b99cb5 cmd/lncli: add missing space to the payinvoice cmd help 2018-07-10 17:21:46 -07:00
Olaoluwa Osuntokun
a43d02f8f0
cmd/lncli: clarify help for push_amt in openchannel
Fixes #1522.

Fixes #1259.
2018-07-09 12:40:47 -07:00
Phil Opaola
6aaf692049 cmd: fix small typo in mnemonicCheck 2018-07-06 20:34:19 -05:00
Olaoluwa Osuntokun
4813da9a64
cmd/lncli: update ad-hoc addinvoice response json to display add_index 2018-07-06 16:45:01 -07:00
Oliver Gugger
9f0e39f881
lncli: add support for unix sockets 2018-06-14 08:19:10 +02:00
Joost Jager
cc1d833ee4 lncli: add closedchannels command 2018-06-13 08:48:01 +02:00
Wilmer Paulino
a9d873d248
cmd/lncli: add fee limit flags to routing related commands 2018-06-12 18:14:50 -07:00
Sebastian Delgado
6746609ec6
Add constant and percentage-based fee limits to payments
- Extend SendRequest and QueryRoutesRequest protos
- newRoute function takes fee limit and cuts off routes that exceed it
- queryRoutes, payInvoice and sendPayment commands take the feeLimit inputs and pass them down to newRoute
- When no feeLimit is included, don't enforce any feeLimits at all (by setting feeLimit to maxValue)
2018-06-12 18:14:43 -07:00
Olaoluwa Osuntokun
80b531db62
Merge pull request #1303 from vegardengen/fix-docs-push-amount
Add clarification for push_amt argument to openchannel
2018-06-12 17:27:19 -07:00
Olaoluwa Osuntokun
0177309dcf
cmd/lncli: modify sendtoroute cmd to make reading routes from stdin optional
In this commit we modify the existing sendtoroutes command such that
users can either specify the route over stdin (using the special '-'
flag), via the keyword argument, or via the positional argument.
2018-06-06 20:45:57 -07:00
t4sk
f4c9192df3 cmd/lncli: add --final_cltv_delta to queryroutes 2018-06-06 20:45:01 -07:00
t4sk
dc04df0f2e cmd/lncli: add sendtoroute command
This commit adds sendtoroute command to lncli. RPC command SendToRoute
is not yet implemented.
2018-06-06 20:45:00 -07:00
Wilmer Paulino
4e2ae89219
cmd/lncli: add changepassword command 2018-05-31 17:24:01 -07:00
Vegard Engen
668b7acc2c Add clarification that push_amt argument to openchannel command equals giving the remote node this amount 2018-05-30 22:13:26 +00:00
Olaoluwa Osuntokun
7cf5ebe265
lnd+cmd/lncli: bump version to 0.4.2 2018-05-29 16:27:05 -07:00
Oliver Gugger
8ce73b3f74
lncli: improve error message for unlock commands 2018-05-07 18:44:03 +03:00
Oliver Gugger
80852601db
lncli: group startup commands, make full sentences 2018-05-03 11:49:09 +03:00
Oliver Gugger
ad106bcefd
lncli: group commands into categories 2018-05-02 08:55:55 +03:00
Conner Fromknecht
92a2ba163e
cmd/lncli/commands: ask for recovery window after restore seed 2018-04-26 16:03:28 -07:00
Olaoluwa Osuntokun
c9eb077935
cmd/lncli: remove unused args for pendingchannels command
Fixes #1123.
2018-04-25 13:28:15 -07:00
Wilmer Paulino
ff2be77c00
cmd/lncli: add private flag to addinvoice command 2018-04-20 19:17:19 -04:00
Sean Erle Johnson
eab87140e9 lncli: make locating funding_txids easier 2018-04-18 12:38:25 -07:00
Dimitris Tsapakidis
4009f7f874 multi: fix typos in comments 2018-04-17 19:03:27 -07:00
Olaoluwa Osuntokun
7f039980c1
lnd+cmd/lncli: allow users to disable logging sub-systems all together 2018-04-16 19:18:04 -07:00
Olaoluwa Osuntokun
6fa93a78c1
lnd+lncli: bump version to 0.4.1 2018-04-02 17:08:39 -07:00
Olaoluwa Osuntokun
6be6b48e09
Merge pull request #840 from halseth/openchannel-csv-delay
Add CSV delay flag to openchannel
2018-03-31 16:05:08 -07:00
Conner Fromknecht
b13970da70
cmd/lncli: add commit version hook and print in version 2018-03-28 18:19:15 -07:00
Johan T. Halseth
bbdad9d5d6
lncli: add remote_csv_delay to openchannel command 2018-03-22 14:54:00 +01:00
Wilmer Paulino
900cd43768
multi: change to lnrpc.Channel type due to proto update 2018-03-19 11:19:06 -04:00
Wilmer Paulino
7642bad54f
cmd/lncli: add flags to listchannels to retrieve specific channels 2018-03-19 11:19:05 -04:00
Olaoluwa Osuntokun
b866806d67
lnd+cmd/lncli: bump version to 0.4 2018-03-15 06:38:46 -07:00
Olaoluwa Osuntokun
4ced071a7d
cmd/lncli+log: fix linter error 2018-03-13 13:01:21 -07:00
Olaoluwa Osuntokun
ddfe73eedb
cmd/lncli: ensure mnemonic for restore flow is exactly 24 words 2018-03-13 12:57:13 -07:00
Wilmer Paulino
5a2a4a26b6
cmd/lncli: correctly set modified macaroon path 2018-03-13 12:17:49 -04:00
Wilmer Paulino
862729809e
config+cmd/lncli: ensure tilde in path is expanded to home dir
Since we're now able to create a base LND directory that no longer lives
under the OS specific application data directory, we modify
cleanAndExpandPath to replace the `~` in a path to the current user's
home directory, rather than the user's application data directory.
2018-03-12 22:24:04 -04:00
Wilmer Paulino
44bc563396
config+cmd/lncli: add flag to specify the base dir for lnd
In this commit, we introduce a new flag `--lnddir` that allows us to
set a different base directory, other than the OS specific application
data directory, for all related lnd files and directories.
2018-03-12 22:23:56 -04:00
Wilmer Paulino
5705da92f6
cmd/lncli: add closeallchannels command
In this commit, we add a new closeallchannels command to lncli. This
command allows us to close all existing active and inactive channels
by closing them cooperatively or unilaterally, respectively.
2018-03-09 12:05:43 -05:00
Olaoluwa Osuntokun
78ef09c9d3
cmd/lncli: remove the --witness_only flag from walletbalance
This flag is no longer needed, as the call will now only return the
active segwit balance.
2018-03-06 16:04:05 -05:00
Olaoluwa Osuntokun
f2192f1b90
cmd/lncli: remove p2pkh as an option for the new address command 2018-03-06 16:04:05 -05:00
Olaoluwa Osuntokun
8306273329
cmd/lncli: add new fwdinghistory command 2018-03-06 13:56:13 -05:00
Olaoluwa Osuntokun
3356a370c7
cmd/lncli: extend initial wallet creation with aezeed seed support
In this commit, we extend the `lncli create` command to allow users to
specify their own side (if they want). In the case that the user
*doesn’t* specify their own seed, we’ll return the entropy generated by
the wallet in a 24-word mnemonic format for easy backup.

With this change, it’s now possible for users to restore an existing lnd
wallet seed.
2018-03-05 11:07:07 -05:00
MeshCollider
4ed5ba0d26 multi: Remove peer_id from RPC commands 2018-02-19 17:48:39 -08:00
Olaoluwa Osuntokun
8329a31fb0
Merge pull request #585 from wilmerpaulino/openchannel-connect
lncli: add 'connect' flag to openchannel command
2018-02-18 15:29:38 -08:00
Olaoluwa Osuntokun
452d12809e
cmd/lncli: add --num_max_routes to queryroutes, default to 10 2018-02-12 16:29:43 -08:00
Daniel McNally
8543497dcc multi: fixing it's/its typos in comments 2018-02-06 19:13:07 -08:00
practicalswift
a93736d21e multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
Alex
de6efbd1a1 multi: macaroon root key encryption 2018-02-05 21:44:06 -08:00
rvandermeer
a5815e957a lncli: capitalizing usage and description for lncli
Just like lnd --help usage and descriptions are capitalized. 
However with lncli this is not the case. This pull requests 
makes it just like lnd.
2018-02-05 15:05:04 -08:00
Alex
21c29c33d7 multi: upgrade macaroons to v2, replace per-method auth with interceptors
This commit reworks the macaroon authentication framework to use the
v2 macaroon format and bakery API. It also replaces the code in each
RPC method which calls the macaroon verifier with interceptors which
call the macaroon verifier instead. In addition, the operation
permissions are reworked to fit the new format of "allow" commands
(specifically, entity/operation permissions instead of method
permissions).
2018-01-31 17:14:49 -08:00
Wilmer Paulino
aca0c9324d
cmd/lncli: add 'connect' flag to openchannel command
Adds the option to connect to a node before opening the channel by
passing the node's host:port via the --connect flag.
2018-01-27 23:07:11 -05:00
Wilmer Paulino
f674e10a2b
lnd+cmd/lncli: handle ChannelPoint funding txid proto update
Since a ChannelPoint's funding txid can now be get/set as raw bytes or
a string, we first need to check what type it's currently set to before
accessing it.
2018-01-27 22:00:01 -05:00
Olaoluwa Osuntokun
7919c4cba0
Merge pull request #654 from wilmerpaulino/invoice-without-amount
Support invoices without amount specified
2018-01-27 17:38:56 -08:00
gshub77
0bc85085dd cmd/lncli: fix typo in Description of sendpayment
Fixes #674.
2018-01-27 16:23:42 -08:00
Wilmer Paulino
454eab720e
lncli: optionally include the amount in the payment request 2018-01-27 19:05:24 -05:00
Wilmer Paulino
78b9dc4b96
lncli: remove requirement for invoice value argument 2018-01-27 19:05:21 -05:00
Olaoluwa Osuntokun
1a164db375
cmd/lncli: fix linter error 2018-01-27 15:05:32 -08:00
Cristobal Griffero
ffbcf7db4f lncli: rename value to amt in addinvoice command 2018-01-27 14:52:46 -08:00
Olaoluwa Osuntokun
246ba98f47
cmd/lncli: update the sendpayment usage documentation 2018-01-22 19:19:55 -08:00
Olaoluwa Osuntokun
84c8ed6362
cmd/lncli: expose the final_cltv_delta flag in sendpayment 2018-01-22 19:19:55 -08:00
Johan T. Halseth
59b331c04d
lncli: add min_htlc_msat to openchannel 2018-01-12 22:56:36 +01:00
Johan T. Halseth
26421031e2
lncli: rename updatefees to updatechanpolicy
This commit renames the `lncli updatefees` command to
`lncli updatechanpolicy` and adds `time_lock_delta` as
one of the passed parameters.
2018-01-12 22:56:34 +01:00
Olaoluwa Osuntokun
7421584341
lnrpc: making PendingChannels req/resp naming scheme consistent
In this commit we rename the lnrpc.PendingChannelRequest and
lnrpc.PendingChannelResponse to
lnrpc.PendingChannelsRequest/lnrpc.PendingChannelsResponse. We do this
as we strive to ensure that the naming scheme across the RPC interface
is consistent.
2018-01-04 14:20:31 -06:00
Walt Seymour
0a36bfae9c fix issue with closechannel 2018-01-03 15:19:10 +01:00
Daniel Coonce
c36b1c3992 lncli: Fix "invalid handle" error
Uses syscall.Stdin rather than 0 for terminal.ReadPassword() calls.
2017-12-19 14:56:42 +01:00
Johan T. Halseth
17d1d5dc9c lncli: add 'private' flag to openchannel command
This make lncli openchannel take a --private
parameter, set to false by default.
2017-12-17 18:35:34 -08:00
Olaoluwa Osuntokun
c00a3ae03b
cmd/lncli: fix graph rendering with a single channel 2017-12-02 18:56:01 -08:00
Olaoluwa Osuntokun
9342a8d27d
cmd/lncli: add color border to graph rendering if node's color is set 2017-12-02 18:42:17 -08:00
Olaoluwa Osuntokun
0952b68e64
multi: retain original copyright on files copied/modified from btcsuite
Early in the lifetime of the project here were a few files we either
copied entirely, or used as the basis for code within lnd. Before this
PR, this was not recognized by retaining the original copyright. With
this commit, we remedy that by explicitly noting the copyright in the
relevant files.

Fixes #423.
2017-11-27 16:19:36 -08:00
Olaoluwa Osuntokun
385023f0b7
cmd/lncli: add new --target_conf and --sat_per_byte args for relevant commands
In this commit, we expose the new fee control features to the relevant
commands on the command line. This will allow users to have a greater
degree of control of the fees they pay when: sending coins on chain,
opening a channel, or closing a channel.
2017-11-23 23:10:14 -06:00
Johan T. Halseth
d1e39e764b
lncli: Print help text in case of encrypted wallet.
This commit adds a decorator that will inspect the
error from an command action, and prints an encrypted
wallet help text if the error has status code Unimplemented.

This is done to help a user that is trying to issue
lncli commands before unlocking the wallet, since
the RPC server won't be active and every call will
return this status code.
2017-11-09 11:10:32 -08:00
rajeshnair2k
0e07699550 lncli: add a convenience command for paying an invoice
Fixes #324.
2017-10-27 15:39:54 -07:00
Johan T. Halseth
00ee3afab8 lncli: add commands "create" and "unlock"
lncli create:
This command is used to set up a wallet encryption password for
use with lnd at first time use. It will ask fot the user to
confirm the chosen password, then do a call to the lnd RPC method
CreateWallet with the chosen password.

lncli unlock:
This command is used to unlock the wallet of a running lnd instance.
It calls the RPC method UnlockWallet with the provided password.

Both methods makes use of the terminal.ReadPassword method, to
securely read a password from user input without making it
replayable in the terminal.
2017-10-19 19:17:35 -07:00
Braydon Fuller
53181f3ec3 cmd/lncli+lnwallet: specify need for witness outputs for funding channels
In this commit, we extend the help message for `newaddress` 
to indicate which address types can be used when directly 
funding channels. Additionally, we add some additional text 
to the insufficient funding error to detail that we don't have 
enough witness outputs.
2017-09-29 15:38:26 -07:00
Johan T. Halseth
ed8dd0b9e4
lncli: add new zpay32 options to command line
The new BOLT-11 compliant zpay32 package offers a few new
available options when creating invoices. This commit adds
those options to lncli, such that callers can specify these
when creating payment requests.
2017-09-27 13:17:29 +02:00
whythat
7df503575c macaroons: add error reporting for macaroon constraints 2017-09-19 16:46:20 -07:00
whythat
679e86174f macaroons: add IP lock macaroon constraint 2017-09-19 16:46:20 -07:00
whythat
a6b9155150 macaroons: use constraint layer for macaroon tweaking 2017-09-19 16:46:20 -07:00
Olaoluwa Osuntokun
48712526d6
lnd+cmd/lncli: bump to version 0.3 2017-08-23 11:57:01 -07:00
Olaoluwa Osuntokun
2790617176
cmd/lncli: add command+parsing for updatefees and feereport 2017-08-22 00:53:59 -07:00
Alex
5d971a8ea8 lncli: add support for macaroons 2017-08-17 19:20:41 -07:00
Alex
59f9065213 rpc: force TLS for both grpc endpoint and grpc gateway 2017-08-03 18:21:22 -07:00
Olaoluwa Osuntokun
0dfe73386b
Cmd/lncli: remove num_confs as a param to the openchannel command 2017-07-30 17:51:48 -07:00
Olaoluwa Osuntokun
a824a2a855
cmd/lncli: properly display errors when sending payments 2017-07-04 15:55:34 -07:00
Philip Hayes
3b84db1f25 rpc: add signature to VerifyMessage response 2017-05-12 14:21:19 -07:00
Philip Hayes
ad5b69b798 cmd/lncli: add signmessage and verifymessage commands 2017-05-12 14:21:19 -07:00
halseth
aa4e166539 lnrpc+rpc+lnd: add new Stop command for gracefully shutting down lnd
This commit adds simple non-blocking stop command to lncli, with an
appropriate proto update and implementation within the rpcserver.  When
invoked the interrupt handler routine in signal.go with begin the graceful
shutdown of lnd.
2017-05-11 14:55:56 -07:00
Olaoluwa Osuntokun
ab007bb918
cmd/lncli: add key word argument support for new disconnect cmd 2017-05-05 15:54:33 -07:00
afederigo
5b7fe7de9e lncli: add disconnect peer command
Issue: 139

This commit contains lncli command  which disconnects remote peers from
console by passing one string argument: pubKey.
2017-05-05 14:24:25 -07:00
Olaoluwa Osuntokun
f0bcfd02c4
cmd/lncli: update call to updated PendingChannels RPC 2017-05-04 17:40:34 -07:00
Alex Bosworth
eafc1a851f cmd/lncli: fix typo in closechannel description 2017-04-26 21:38:53 -07:00
Olaoluwa Osuntokun
2cb6878568
cmd/lncli: make getnodeinfo accept positional arguments 2017-04-13 14:30:05 -07:00
Olaoluwa Osuntokun
4924c39042
cmd/lncli: bump version of client to 0.2 2017-04-11 22:02:12 -07:00
Olaoluwa Osuntokun
dabaf9da70
cmd/lncli: convert queryRoute to queryRoutes 2017-03-21 12:20:50 -07:00
Olaoluwa Osuntokun
c21cbc5021
cmd/lncli: append a new-line when using encoding/json to print resp
It was noticed by 21E14 on Github that when we fall back to using
golang’s encoding/json lib in special cases when printing the proto
responses in JSON form, the value printed lacked a new-line at the end.
This would cause the output to flow into bash prompts.

This issue has been fixed by simply appending a newline character to
the end of the formatted JSON output.

Fixes #160.
2017-03-16 12:06:17 -07:00
Andrey Samokhvalov
61991a1c89 lnd: fix latest goclean.sh lint warning 2017-03-13 16:30:23 -07:00
Andrey Samokhvalov
ee2379775c lnd: fix golint warning which requires to add additional comments 2017-03-13 16:30:23 -07:00
Andrey Samokhvalov
fd97a4bd19 lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
Andrey Samokhvalov
92dec2a902 lnd: fix govet warnings 2017-03-13 16:30:23 -07:00
Andrey Samokhvalov
143a6e01bb lnd: fix unconvert warnings 2017-03-13 16:30:23 -07:00
Thomas Preindl
9665bb7e54 lncli: add listchaintxns command 2017-03-08 17:39:38 -08:00
Olaoluwa Osuntokun
8387092409
cmd/lncli: fix bug in openchannel cmd that made --push_amt mandatory
This commit fixes a minor bug that was introduced with the latest PR
that made specifying the —push_amt flag when opening a channel
mandatory. The fix is simple, turn the switch statement into an
if/else, which makes the —push_amt flag optional once again.
2017-03-05 19:01:01 -06:00
Thomas Preindl
355c88f5a4 lncli: add support for positional arguments for all commands (#120)
This commit updates the command line help for several commands within
cmd/lncli to be more uniform, and also use the proper attributes within
the urfave/cli project. Additionally, in several areas cli.Int was using
used instead of cli.Int64 when parsing satoshis. This oversight has been
rectified by modifying all incorrect occurrences.

Finally, this commit, as its central contribution, adds the ability to mix
and match positional arguments with key-word arguments for several
commands! The following commands can now be used with either only
positional arguments, only key-word arguments, or a mix of both when
applicable:
  * openchannel 
  * closechannel
  * sendpayment
  * getnodeinfo
  * getchaninfo
  * newaddress
  * sendcoins
  * sendmany
  * connect
  * addinvoice
  * lookupinvoice
  * queryroute


The set of changes outlined above should make command line tinkering with
`lnd` a bit more streamlined, yet still very flexible.
2017-03-02 16:23:16 -06:00
Olaoluwa Osuntokun
250c763c76
cmd/lncli: display payment preimage in hex in sendpayment resp 2017-02-21 01:43:51 -08:00
Olaoluwa Osuntokun
926f5c84d0
cmd/lncli: always consume first message for openchannel/closechannel
This commit modifies the behavior for the commands which open and close
channels on the command line. Previsouly a user needed to use the
`—block` flag in order to get information about any possible errors or
the full progress of a request. This commit alters the behavior
slightly to block until the _first_ message or error is returned from
the gRPC stream.

With this change, the command line usage has a better UX as users
instantly get more information without having to peer into the logs.
2017-02-07 19:36:24 -08:00
juscamarena
68c40b05ff cmd/lncli: Update command usage info to match current commands 2017-01-29 18:00:42 -08:00
Olaoluwa Osuntokun
07f8dab560
cmd/lncli: rename --draw to --render for describegraph 2017-01-29 15:38:28 -08:00
Olaoluwa Osuntokun
629d276409
cmd/lncli: use jsonpb to son pretty-printing to disable omitempty
This commit uses protobuf’s jsonpb library rather than the built-in
json/encoding library to print the JSOn representation of the responses
from gRPC. By using this library, we are now able to properly display
any values from the response which are “non-truthy” (0, false, etc).
2017-01-29 14:56:39 -08:00
Olaoluwa Osuntokun
f4f92bb8e7
cmd/lncli: ensure gRPC client is closed after request 2017-01-29 14:51:42 -08:00
Olaoluwa Osuntokun
3aaf291409
cmd/lncli: [describegraph] -- if rendering fails, display error 2017-01-25 18:29:32 -08:00
Olaoluwa Osuntokun
a5d2dbf219
cmd/lncli: remove Z prefix from vertexes in describegraph rendering
This commit removes the prior work around to display a prefix of the
node’s public key as a vertex. It turns out that if you quote the
string, the it will escape all characters enclosed. This allows us the
drop the hacky “Z” prefix that we used before.
2017-01-25 18:27:35 -08:00
Olaoluwa Osuntokun
eb52f7f695
cmd/lncli: use .svg for graph rendering add weighted edge thickness 2017-01-24 18:07:23 -08:00
Olaoluwa Osuntokun
160317c9fa
cmd/lncli: correct usage for openchannel 2017-01-24 17:50:50 -08:00
Olaoluwa Osuntokun
3ec4eeb5e2
cmd/lncli: add ability to render graph to 'describegraph'
This commit adds an ability to render the channel graph as returned by
the ‘displaygraph’ command. The rendering of the graph itself is
carried about the by the ‘dot’ command which eventually calls out to
graphviz.

Currently the graph is always saved to the same file in the local
directory, but in a later commit the location of the file will be made
configurable.

Finally, the attributes sent to the ‘dot’ command used to render the
graph are still a bit in flux. The parameters will likely be tuned once
the channel graph on testnet grows a bit more.
2017-01-23 20:32:23 -08:00
Olaoluwa Osuntokun
9662887d2f
rpcserver+cmd/lncli: implement DecodePayReq
This commit implements the newly added RPC to decode payment requests
passed over the command line or directly via gRPC.

With this tool, users can now examine payment requests they see in the
wild for diagnostic or debugging purposes.
2017-01-17 13:49:44 -08:00
Olaoluwa Osuntokun
ee96052e44
cmd/lncli: add parsing+dispatch for the debuglevel command 2017-01-14 18:20:12 -08:00
Olaoluwa Osuntokun
efa7059ac3
cmd/lncli: add support for new "Perm" field in connectpeer command 2017-01-09 19:12:42 -08:00
Olaoluwa Osuntokun
b01e7efcef
cmd/lncli: add cli support for the push-during-funding workflow 2017-01-09 19:06:15 -08:00
Olaoluwa Osuntokun
5affed38fc
multi: update btcsuite API's to latest upstream changes
This commit makes a large number of minor changes concerning API usage
within the deamon to match the latest version on the upstream btcsuite
libraries.

The major changes are the switch from wire.ShaHash to chainhash.Hash,
and that wire.NewMsgTx() now takes a paramter indicating the version of
the transaction to be created.
2017-01-05 13:56:34 -08:00
Olaoluwa Osuntokun
9b50df704c
cmd/lncli: accept zpay32 requests in sendpayment command 2017-01-02 15:46:54 -08:00
Olaoluwa Osuntokun
5a9be3f812
cmd/lncli: display zpay32 request in addinvoice response 2017-01-02 15:37:16 -08:00
Olaoluwa Osuntokun
507a4eb5cc
cmd/lncli: add support for the net channel graph related commands
This commit adds support for the newly added channel graph related
commands: describegraph, getchaninfo, getnodeinfo, queryroute, and
finally getnetworkinfo.
2016-12-27 16:45:02 -08:00
Olaoluwa Osuntokun
367be2d385
lncli: remove deprecated shell command
This commit removes the shell command as it’s now deprecated since it
was never fully implemented.
2016-12-27 16:45:00 -08:00
Olaoluwa Osuntokun
d70f03435b
cmd/lncli: implement parsing+dispatching for the new describegraph call 2016-12-27 16:44:55 -08:00
BitfuryLightning
eb4d0e035e channeldb: save outgoing payments
Add structure for outgoing payments. Saving payment in DB
after successful payment send. Add RPC call for listing
all payments.
2016-12-27 16:16:23 -08:00
BitfuryLightning
327768f4ad routing: Move tools inside lnd. Refactor and delete unneeded stuff
Use [33]byte for graph vertex representation.
Delete unneeded stuff:
1. DeepEqual for graph comparison
2. EdgePath
3. 2-thread BFS
4. Table transfer messages and neighborhood radius
5. Beacons

Refactor:
1. Change ID to Vertex
2. Test use table driven approach
3. Add comments
4. Make graph internal representation private
5. Use wire.OutPoint as  EdgeId
6. Decouple routing messages from routing implementation
7. Delete Async methods
8. Delete unneeded channels and priority buffer from manager
9. Delete unneeded interfaces in internal graph realisation
10. Renamed ID to Vertex
2016-11-23 20:37:43 -06:00
Olaoluwa Osuntokun
6d39b4be95
cmd/lncli: convert instances of lightning_id to compressed pubkey 2016-10-27 19:42:53 -07:00
Olaoluwa Osuntokun
301a9fea38
cmd/lncli: implementing parsing+display for list channels 2016-09-25 20:05:06 -07:00
Olaoluwa Osuntokun
d34b90136f
cmd/lncli: the target destination for sendpayment must now be a compressed pubkey
This commit modifies the sendpayment message slightly to indicate that
the —dest value should be a hex-encoded compressed public key. This
change is required to stream line the integration of onion routing into
the daemon.
2016-09-21 19:48:53 -07:00
Olaoluwa Osuntokun
89310c8778
cmd/lncli: add new --debug_send option to sendpayment
This commit adds a new option to the send payment command. The new
option toggles usage of the debug HTLC R-Hash when sending the
described payment. This flag should be used in conjunction with lnd
nodes that have been started with the `—debughtlc` flag in order to
allow sending payments without first registering invoices.
2016-09-21 19:48:49 -07:00
Olaoluwa Osuntokun
9bd5105ae5
cmd/lncli: avoid unnecessarily re-encoding graph vertexes in routing table 2016-09-21 19:48:42 -07:00
Olaoluwa Osuntokun
ca89ddb9ea
cmd/lncli: implement handling of new invoice RPC commands 2016-09-21 19:48:32 -07:00
andrew.shvv
2788dbeaa8 Add RPC to show current total available channel capacity #29 (#35)
This commit adds a new RPC command: `channelbalance` which returns the
sum of all available channel capacity across all open channels. The
total balance is currently returned in units of `satoshis`. Additionally
the `networkHarness` has been modified slightly to allow specifying the
additional "extra" command line parameters when creating the initial
seed nodes. Minor refactoring within the integration tests has been
undertaken in order to increase code re-use across tests.

Closes #29.
2016-09-15 12:00:56 -07:00
Olaoluwa Osuntokun
c604730b7d
cmd/lncli: accept --lighting_id parameter for openchannel 2016-09-13 15:36:36 -07:00
Olaoluwa Osuntokun
1a357755d7
cmd/lncli: observe the --force parameter in the closechannel command 2016-09-12 19:07:31 -07:00
BitfuryLightning
2bcff188e8 lncli: Add graphical output of routing table
LIGHT-131, LIGHT-140, LIGHT-138
`lncli showroutingtable` may output routing table as image.
Use graphviz for graph rendering.
Add explicit version dependency for tools. Add error checking.
2016-09-06 20:06:51 -04:00
BitfuryLightning
b5f07ede46 lncli: Make output of lncli sane and readable
LIGHT-133, LIGHT-138 Make output of `lncli showrouting table` in
two different formats: table and json.
Instead of sending serialized routing table send list of channels.
2016-09-06 20:01:21 -04:00
Olaoluwa Osuntokun
9eb2a4219f
lncli: update response handling for open/close channel
This commit updates the response handling of the steaming RPC’s to
account for the fact that multiple messages from the server (state
updates) can now be sent over the stream instead of a single final
update.

Currently, all updates other than the “final” update are ignored by the
cli.
2016-08-30 16:54:59 -07:00
BitfuryLightning
f8c851769f multi: initial integration of routing module
This commit integrates BitFury's current routing functionality into lnd. The
primary ochestration point for the routing sub-system in the routingMgr. The
routingMgr manages all persistent and volatile state related to routing within
the network.

Newly opened channels, either when the initiator or responder are inserted into
the routing table once the channel is fully open. Once new links are inserted
the routingMgr can then perform path selection in order to locate an "optimal"
path to a target destination.
2016-08-11 11:20:27 -07:00
Olaoluwa Osuntokun
7c1ec62e44
cmd/lncli: switch to urfave/cli instead of codegangsta/cli
The original project has been migrated to a new user. Currently git
redirects are served from the old repository to the newness. However
since development has witched to this new repository we update our
imports for clarity.
2016-07-26 10:42:50 -07:00
Olaoluwa Osuntokun
c8e58147b6
add glide dependency management for fully reproducible builds
This commit adds glide integration in order to make lnd builds fully
reproducible. Rather than using “go get” users should now manually pull down
the repo, use glide to fetch+install the dependancies, then manually install
all related binaries.

With this change we no longer have to chase dependancies making breaking API
changes under us. We can manually update the managed dependancies once a new
stable release of a defendant package is released.

Additionally, reproducible builds are a strong requirement in order to securely
distribute future major releases of lnd.
2016-07-22 18:53:35 -07:00
Olaoluwa Osuntokun
65435bd8e6
cmd/lncli: close sendpayment stream after recv
We now close the send payment stream after receiving a response.
Otherwise if the RPC server is asynchronously handling requests then,
closing the stream would result in the server returning an EOF error,
terminating the request.
2016-07-21 16:18:56 -07:00
Olaoluwa Osuntokun
14aadc8c2e
cmd/lncli: add validation of address for connectpeer 2016-07-16 17:43:47 -07:00
Olaoluwa Osuntokun
2926988710
cmd/lncli: implement one-off HTLC payments 2016-07-12 17:47:30 -07:00
Olaoluwa Osuntokun
40d9f0da31
cmd/lncli: implement pendingchannels for the cli client 2016-07-07 15:36:42 -07:00
Olaoluwa Osuntokun
a4e92fac8e
cmd/lncli: implement async+sync calls to [open|close]channel 2016-07-07 15:35:10 -07:00
Olaoluwa Osuntokun
4d7bd2eb5d
cmd/lncli: implement cli "getting" call 2016-07-05 18:58:49 -07:00
Olaoluwa Osuntokun
6ef6506c3d
cmd/lnshell: remove the now obsolete lnshell 2016-07-05 18:55:58 -07:00
Olaoluwa Osuntokun
96667cbc4a
cmd/lncli: update action func to new upstream signature
The upstream cli repo has changed the signature for the ‘Action’ to
return an additional error. Thankfully this was done in a backwards
compatible manner.

This commit updates all the command action functions to adhere to the
new function signature.

In the future we’ll have proper dependency management so cases like
this will be avoided all together.
2016-06-29 13:01:40 -07:00
Olaoluwa Osuntokun
e391cf088e
cmd/lncli: add support for the sendcoins RPC 2016-06-29 11:29:29 -07:00
Olaoluwa Osuntokun
6b53b393df
cmd/lncli: add json attribute tag for anonymous ChannelPoint struct 2016-06-22 21:48:39 -07:00
Olaoluwa Osuntokun
7e09a70706
cmd/lncli: properly reverse user txid input
This commit fixes a bug introduced within a prior commit. The prior
commit failed to drollery reverse the txid string taken in as user
input, therefore in order to properly close a channel, the user needed
to manually reverse the txid themselves.

With this change, `wire.NewShaHashFromStr` is used which properly
reverses the string within the constructor. This allows the string
reported not be directly used to the close an active channel.

This commit also corrects a few logging messages.
2016-06-22 11:10:33 -07:00
Olaoluwa Osuntokun
8066195d23
cmd/lncli: implement remaining RPC commands
Currently positional arguments *are not* supported, and all arguments
must be passed via unix-style command line arguments.

In a later commit support for concurrent positional, and manually
specified arguments will be added.
2016-06-21 13:14:19 -07:00
Olaoluwa Osuntokun
35bbf53e59 cmd/lncli: command line parsing for address types for 'newaddress' 2016-04-24 20:27:19 -07:00
Olaoluwa Osuntokun
78c6053ba6 cmd/lncli: default RPC port is now 10009 2016-03-22 18:47:10 -07:00
Tadge Dryja
624e776987 add shell spv testing mode
To try uspv, do ./lnd -spv
The remote node is hardcoded in shell.go.  If you aren't
running a full node on localhost, specify where to connect to.
Nearby nodes will be much faster but random testnet nodes on the
internet should also work.
2016-02-02 23:37:29 -08:00
Paul Capestany
5bddb611dc Fix build issue for lncli
Error message:

cmd/lncli/commands.go:27: undefined: shell
2016-01-17 19:18:08 -08:00
Olaoluwa Osuntokun
32d4e3a3b6 lnshell: comment out lnchat, it's in limbo before we add the message to unwire 2016-01-16 19:29:04 -08:00
Olaoluwa Osuntokun
4b696f1690 lncli: remove shell.go, lnshell is a separate package now 2016-01-16 19:29:03 -08:00
Olaoluwa Osuntokun
701de388a0 lncli: add "connect" command
usage: lncli connect <lnid>@host:port

Currently one must specify port since we haven’t yet chosen an
“official” p2p port
2016-01-16 19:29:03 -08:00
Tadge Dryja
2815afebb7 update imports to github 2016-01-16 10:45:54 -08:00
Tadge Dryja
58f0bfe252 plasma daemon can connect, receive connections, and send chat msgs. 2016-01-14 23:56:10 -08:00
Olaoluwa Osuntokun
20e367c4e7 lncli: note to self about future auth 2016-01-14 23:56:08 -08:00
Tadge Dryja
e70c6aa367 trying to store private identity key. Doesn't work. 2016-01-14 23:56:08 -08:00
Tadge Dryja
8bd8293c8c can send messages from shell over grpc. doesn't do anything yet. 2016-01-14 23:56:07 -08:00
Tadge Dryja
8a50faaf47 add functions to rpc.proto, start lnshell 2016-01-14 23:55:45 -08:00
Tadge Dryja
6647bdd2b8 trying to get shell to connect over grpc 2016-01-14 23:55:45 -08:00
Tadge Dryja
31f3df2183 add gitignore, cli shell 2015-12-30 16:19:09 -04:00
Olaoluwa Osuntokun
d3da6e8f42 cmd/lncli: properly pretty print json response 2015-12-29 20:58:58 -06:00
Olaoluwa Osuntokun
f2d3c2455b cmd/lncli: add new package, implements cli for plasma 2015-12-29 20:35:49 -06:00