Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug]: clean up documentation for sendpayment #1183

Open
ZZiigguurraatt opened this issue Nov 8, 2024 · 0 comments
Open

[bug]: clean up documentation for sendpayment #1183

ZZiigguurraatt opened this issue Nov 8, 2024 · 0 comments
Labels
bug Something isn't working needs triage

Comments

@ZZiigguurraatt
Copy link

The litcli ln sendpayment documentation is very rough and needs to be cleaned up. multi is misspelled in the name. Also, I don't know what options are really allowed or have just been copy/pasted over from the lnd sendpayment cli docs. It seems like there is a lot of extra stuff. Also, https://lightning.engineering/api-docs/api/taproot-assets/taproot-asset-channels/send-payment/index.html does not show that the CLI exists at all. Also, the documentation at https://lightning.engineering/api-docs/api/taproot-assets/taproot-asset-channels/send-payment/index.html seems to have different description text for fields than what you get when running litcli ln sendpayment -h.

Another thing that is very confusing is litcli ln payinvoice. The docs you get from litcli ln payinvoice -h don't make it clear what the difference is between sendpayment and payinvoice. With lnd, it is very clear that payinvoice is a shortcut for sendpayment --pay_req=


litd@dave:/$ litcliln sendpayment -h
NAME:
   litcli ln sendpayment - Send a payment over Lightning, potentially using a mulit-asset channel as the first hop

USAGE:
   litcli ln sendpayment [command options] dest amt payment_hash final_cltv_delta pay_addr | --pay_req=R [--pay_addr=H] --asset_id=X --asset_amount=Y [--rfq_peer_pubkey=Z]

CATEGORY:
   Payments

DESCRIPTION:
   
  Send a payment over Lightning. One can either specify the full
  parameters of the payment, or just use a payment request which encodes
  all the payment details.

  If payment isn't manually specified, then only a payment request needs
  to be passed using the --pay_req argument.

  If the payment *is* manually specified, then the following arguments
  need to be specified in order to complete the payment:

  For invoice with keysend,
      --dest=N --amt=A --final_cltv_delta=T --keysend
  For invoice without payment address:
      --dest=N --amt=A --payment_hash=H --final_cltv_delta=T
  For invoice with payment address:
      --dest=N --amt=A --payment_hash=H --final_cltv_delta=T --pay_addr=H
  
  To send an multi-asset LN payment to a single hop, the --asset_id=X
  argument should be used.

  Note that this will only work in concert with the --keysend argument.
  

OPTIONS:
   --pay_req value                 a zpay32 encoded payment request to fulfill
   --fee_limit value               maximum fee allowed in satoshis when sending the payment (default: 0)
   --fee_limit_percent value       percentage of the payment's amount used as the maximum fee allowed when sending the payment (default: 0)
   --timeout value                 the maximum amount of time we should spend trying to fulfill the payment, failing after the timeout has elapsed (default: 1m0s)
   --cltv_limit value              the maximum time lock that may be used for this payment (default: 0)
   --last_hop value                pubkey of the last hop (penultimate node in the path) to route through for this payment
   --outgoing_chan_id value        short channel id of the outgoing channel to use for the first hop of the payment; can be specified multiple times in the same command
   --force, -f                     will skip payment request confirmation
   --allow_self_payment            allow sending a circular payment to self
   --data value                    attach custom data to the payment. The required format is: <record_id>=<hex_value>,<record_id>=<hex_value>,.. For example: --data 3438382=0a21ff. Custom record ids start from 65536.
   --inflight_updates              if set, intermediate payment state updates will be displayed. Only valid in combination with --json.
   --max_parts value               the maximum number of partial payments that may be used (default: 16)
   --json                          if set, payment updates are printed as json messages. Set by default on Windows because table formatting is unsupported.
   --max_shard_size_sat value      the largest payment split that should be attempted if payment splitting is required to attempt a payment, specified in satoshis (default: 0)
   --max_shard_size_msat value     the largest payment split that should be attempted if payment splitting is required to attempt a payment, specified in milli-satoshis (default: 0)
   --amp                           if set to true, then AMP will be used to complete the payment
   --time_pref value               (optional) expresses time preference (range -1 to 1) (default: 0)
   --dest value, -d value          the compressed identity pubkey of the payment recipient
   --amt value, -a value           number of satoshis to send (default: 0)
   --payment_hash value, -r value  the hash to use within the payment's HTLC
   --final_cltv_delta value        the number of blocks the last hop has to reveal the preimage (default: 0)
   --pay_addr value                the payment address of the generated invoice
   --keysend                       will generate a pre-image and encode it in the sphinx packet, a dest must be set [experimental]
   --asset_id value                the asset ID of the asset to use when sending payments with assets
   --asset_amount value            the amount of the asset to send in the asset keysend payment (default: 0)
   --rfq_peer_pubkey value         (optional) the public key of the peer to ask for a quote when converting from assets to sats; must be set if there are multiple channels with the same asset ID present
   
litd@dave:/$ 
litd@dave:/$ 
litd@dave:/$ 
litd@dave:/$ litcliln payinvoice -h
NAME:
   litcli ln payinvoice - Pay an invoice over lightning using an asset.

USAGE:
   litcli ln payinvoice [command options] pay_req --asset_id=X

CATEGORY:
   Payments

DESCRIPTION:
   
  This command attempts to pay an invoice using an asset channel as the
  source of the payment. The asset ID of the channel must be specified
  using the --asset_id flag.
  

OPTIONS:
   --pay_req value              a zpay32 encoded payment request to fulfill
   --fee_limit value            maximum fee allowed in satoshis when sending the payment (default: 0)
   --fee_limit_percent value    percentage of the payment's amount used as the maximum fee allowed when sending the payment (default: 0)
   --timeout value              the maximum amount of time we should spend trying to fulfill the payment, failing after the timeout has elapsed (default: 1m0s)
   --cltv_limit value           the maximum time lock that may be used for this payment (default: 0)
   --last_hop value             pubkey of the last hop (penultimate node in the path) to route through for this payment
   --outgoing_chan_id value     short channel id of the outgoing channel to use for the first hop of the payment; can be specified multiple times in the same command
   --force, -f                  will skip payment request confirmation
   --allow_self_payment         allow sending a circular payment to self
   --data value                 attach custom data to the payment. The required format is: <record_id>=<hex_value>,<record_id>=<hex_value>,.. For example: --data 3438382=0a21ff. Custom record ids start from 65536.
   --inflight_updates           if set, intermediate payment state updates will be displayed. Only valid in combination with --json.
   --max_parts value            the maximum number of partial payments that may be used (default: 16)
   --json                       if set, payment updates are printed as json messages. Set by default on Windows because table formatting is unsupported.
   --max_shard_size_sat value   the largest payment split that should be attempted if payment splitting is required to attempt a payment, specified in satoshis (default: 0)
   --max_shard_size_msat value  the largest payment split that should be attempted if payment splitting is required to attempt a payment, specified in milli-satoshis (default: 0)
   --amp                        if set to true, then AMP will be used to complete the payment
   --time_pref value            (optional) expresses time preference (range -1 to 1) (default: 0)
   --amt value                  (optional) number of satoshis to fulfill the invoice (default: 0)
   --asset_id value             the asset ID of the asset to use when sending payments with assets
   --rfq_peer_pubkey value      (optional) the public key of the peer to ask for a quote when converting from assets to sats; must be set if there are multiple channels with the same asset ID present
   
litd@dave:/$ 
litd@dave:/$ 


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs triage
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant