On success, an object is returned with the following fields, as specified
by BOLT11:
- 'currency': the BIP173 name for the currency.
- 'timestamp': the UNIX-style timestamp of the invoice.
- 'expiry': the number of seconds this is valid after 'timestamp'.
- 'payee': the public key of the recipient.
- 'payment_hash': the payment hash of the request.
- 'signature': the DER-encoded signature.
- 'description': the description of the purpose of the purchase (see below)
The following fields are optional:
- 'msatoshi': the number of millisatoshi requested (if any).
- 'fallback': fallback address object containing a 'hex' string, and
both 'type' and 'addr' if it is recognized as one of 'P2PKH', 'P2SH', 'P2WPKH', or 'P2WSH'.
- 'routes': an array of routes. Each route is an arrays of objects, each containing 'pubkey', 'short_channel_id', 'fee_base_msat', 'fee_proportional_millionths' and 'cltv_expiry_delta'.
- 'extra': an array of objects representing unknown fields, each with one-character 'tag' and a 'data' bech32 string.
Technically, the 'description' field is optional if a
'description_hash' field is given, but in this case *decodepay* will
only succeed if the optional 'description' field is passed and matches
the 'description_hash'. In practice, these are currently unused.
//FIXME:Enumerate errors
AUTHOR
------
Rusty Russell <rusty@rustcorp.com.au> is mainly responsible.