UNPKG

bolt11-decoder

Version:

A library for encoding and decoding lightning network payment requests as defined in [BOLT #11](https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md).

1,112 lines (1,111 loc) 42.7 kB
{ "satToHrp": { "valid": [ { "input": 1, "output": "10n" }, { "input": 10, "output": "100n" }, { "input": 100, "output": "1u" }, { "input": 100000, "output": "1m" }, { "input": 100000000, "output": "1" }, { "input": 123456789, "output": "1234567890n" }, { "input": 123450000, "output": "1234500u" }, { "input": 123400000, "output": "1234m" } ], "invalid": [ { "input": "10.2", "error": "satoshis must be an integer" }, { "input": 34.7, "error": "satoshis must be an integer" } ] }, "millisatToHrp": { "valid": [ { "input": 1, "output": "10p" } ], "invalid": [ { "input": "10.2", "error": "millisatoshis must be an integer" } ] }, "hrpToSat": { "valid": [ { "input": "10n", "output": "1" }, { "input": "1u", "output": "100" }, { "input": "1m", "output": "100000" }, { "input": "1", "output": "100000000" }, { "input": "1234567890n", "output": "123456789" }, { "input": "1234567u", "output": "123456700" }, { "input": "1234m", "output": "123400000" } ], "invalid": [ { "input": "10x", "error": "Not a valid multiplier for the amount" }, { "input": "1f0", "error": "Not a valid human readable amount" }, { "input": "9n", "error": "Amount is outside of valid range" }, { "input": "5670p", "error": "Amount is outside of valid range" }, { "input": "21000001", "error": "Amount is outside of valid range" } ] }, "hrpToMillisat": { "valid": [ { "input": "10p", "output": "1" } ], "invalid": [ { "input": "8p", "error": "Amount is outside of valid range" } ] }, "sign": { "invalid": [ { "data": { "coinType": "bitcoin", "complete": false, "satoshis": null, "millisatoshis": null, "paymentRequest": "", "prefix": "lnbc", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" } ], "timestamp": 1513236122, "timestampString": "2017-12-14T07:22:02.000Z", "wordsTemp": "temp1pdryf56pp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqfg6ad2" }, "privateKey": "e126f68f7eafcc8b74f54d269fe206be715000f94dac067d1c04a8ca", "error": "privateKey must be a 32 byte Buffer and valid private key" }, { "data": { "coinType": "bitcoin", "complete": false, "satoshis": null, "millisatoshis": null, "paymentRequest": "", "prefix": "lnbc", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" }, { "tagName": "payee_node_key", "data": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f93ffffff" } ], "timestamp": 1513236122, "timestampString": "2017-12-14T07:22:02.000Z", "wordsTemp": "temp1pdryf56pp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqfg6ad2" }, "error": "payee node key tag and payeeNodeKey attribute must match" }, { "data": { "coinType": "bitcoin", "complete": false, "satoshis": null, "millisatoshis": null, "paymentRequest": "", "prefix": "lnbc", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dffff", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" } ], "timestamp": 1513236122, "timestampString": "2017-12-14T07:22:02.000Z", "wordsTemp": "temp1pdryf56pp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqfg6ad2" }, "error": "The private key given is not the private key of the node public key given" } ] }, "encode": { "valid": [ { "data": { "satoshis": 12, "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" } ] } } ], "invalid": [ { "data": { "coinType": "fellafelcoin", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" } ] }, "error": "Unknown coin type" }, { "data": { "recoveryFlag": 1, "signature": "6249c3a38d2a7d78f54f5494cf79fa06949e11eaf26ede32158f8a8e796ba1b741e88c35bec6bf5ee8291a5d50a7d35549e7fc564f7d0a39d1db5f098a0d179a", "timestamp": 1513073744, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" } ] }, "error": "Need coinType for proper payment request reconstruction" }, { "data": { "coinType": "bitcoin", "recoveryFlag": 1, "signature": "6249c3a38d2a7d78f54f5494cf79fa06949e11eaf26ede32158f8a8e796ba1b741e88c35bec6bf5ee8291a5d50a7d35549e7fc564f7d0a39d1db5f098a0d179a", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" } ] }, "error": "Need timestamp for proper payment request reconstruction" }, { "data": {}, "error": "Payment Requests need tags array" }, { "data": { "coinType": "bitcoin", "tags": [ { "tagName": "description", "data": "ナンセンス 1杯" } ] }, "error": "Lightning Payment Request needs a payment hash" }, { "data": { "coinType": "bitcoin", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" } ] }, "error": "Payment request requires description or purpose commit hash", "addDefaults": false }, { "data": { "coinType": "bitcoin", "payeeNodeKey": "03000102030405060708090001020304050607080900010203040506070809ffff", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "payee_node_key", "data": "030001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" } ] }, "error": "payeeNodeKey and tag payee node key do not match" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "fallback_address", "data": { "address": "tb1dqqqsyqcyq5rqwzqfpg9scrgwpuqsyqcyy5mynw" } } ] }, "error": "Fallback address witness version is unknown" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "fallback_address", "data": { "address": "bc1qqqqsyqcyq5rqwzqfpg9scrgwpuqsyqcy2f9nte" } } ] }, "error": "Fallback address network type does not match payment request network type" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "fallback_address", "data": { "address": "UmKe9X9WKo1vksgXkdhR45Rf1QKguAQwus" } } ] }, "error": "Fallback address version \\(base58\\) is unknown or the network type is incorrect" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "fallback_address", "data": { "address": "gd78fgGFGDGISFFgisdufudsfi7d7sfg" } } ] }, "error": "Fallback address type is unknown" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "routing_info", "data": [{}] } ] }, "error": "Routing info is incomplete" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "routing_info", "data": [ { "pubkey": "02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "short_channel_id": "0102030405060708", "fee_base_msat": 1, "fee_proportional_millionths": 20, "cltv_expiry_delta": 3 } ] } ] }, "error": "Routing info pubkey is not a valid pubkey" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "routing_info", "data": [ { "pubkey": "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255", "short_channel_id": "02030405060708", "fee_base_msat": 1, "fee_proportional_millionths": 20, "cltv_expiry_delta": 3 } ] } ] }, "error": "Routing info short channel id must be 8 bytes" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "routing_info", "data": [ { "pubkey": "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255", "short_channel_id": "0102030405060708", "fee_base_msat": 1.345, "fee_proportional_millionths": 20, "cltv_expiry_delta": 3 } ] } ] }, "error": "Routing info fee base msat is not an integer" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "routing_info", "data": [ { "pubkey": "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255", "short_channel_id": "0102030405060708", "fee_base_msat": 1, "fee_proportional_millionths": 20.1, "cltv_expiry_delta": 3 } ] } ] }, "error": "Routing info fee proportional millionths is not an integer" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "routing_info", "data": [ { "pubkey": "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255", "short_channel_id": "0102030405060708", "fee_base_msat": 1, "fee_proportional_millionths": 20, "cltv_expiry_delta": 3.1 } ] } ] }, "error": "Routing info cltv expiry delta is not an integer" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "aaaaaaaaaa", "data": {} } ] }, "error": "Unknown tag key" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" }, { "tagName": "purpose_commit_hash", "data": 5675 } ] }, "error": "purpose or purpose commit must be a string or hex string" }, { "data": { "coinType": "testnet", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz" } ] }, "error": "Description is too long: Max length 639 bytes" }, { "data": { "coinType": "bitcoin", "satoshis": 23, "millisatoshis": "23000", "timestamp": 1496314658, "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "38ec6891345e204145be8a3a99de38e98a39d6a569434e1845c8af7205afcfcc7f425fcd1463e93c32881ead0d6e356d467ec8c02553f9aab15e5738b11f127f", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "fallback_address", "data": { "address": "31h38a54tFMrR8kzBnP2241Jj7qKMHmhoM" } } ] }, "error": "Signature, message, and recoveryID did not produce the same pubkey as payeeNodeKey" }, { "data": { "coinType": "testnet", "satoshis": null, "millisatoshis": null, "timestamp": 1496314658, "signature": "38ec6891345e204145be8a3a99de38e98a39d6a569434e1845c8af7205afcfcc7f425fcd1463e93c32881ead0d6e356d467ec8c02553f9aab15e5738b11f127f", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" }, { "tagName": "fallback_address", "data": { "address": "mfWyW5fc9NUj75YAnFgoRLrhSb9JjaD4zp" } }, { "tagName": "purpose_commit_hash", "data": "This is some text to increase coverage" } ] }, "error": "Reconstruction with signature and recoveryID requires payeeNodeKey to verify correctness of input data." }, { "data": { "coinType": "testnet", "satoshis": 100, "millisatoshis": "200000", "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "ナンセンス 1杯" } ] }, "error": "satoshis and millisatoshis do not match" } ] }, "decode": { "valid": [ { "paymentRequest": "LiGhTnInG:lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w", "coinType": "bitcoin", "prefix": "lnbc", "complete": true, "satoshis": null, "millisatoshis": null, "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "38ec6891345e204145be8a3a99de38e98a39d6a569434e1845c8af7205afcfcc7f425fcd1463e93c32881ead0d6e356d467ec8c02553f9aab15e5738b11f127f", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqe49hhl" }, { "paymentRequest": "LIGHTNING:lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w", "coinType": "bitcoin", "prefix": "lnbc", "complete": true, "satoshis": null, "millisatoshis": null, "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "38ec6891345e204145be8a3a99de38e98a39d6a569434e1845c8af7205afcfcc7f425fcd1463e93c32881ead0d6e356d467ec8c02553f9aab15e5738b11f127f", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqe49hhl" }, { "paymentRequest": "lightning:lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w", "coinType": "bitcoin", "prefix": "lnbc", "complete": true, "satoshis": null, "millisatoshis": null, "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "38ec6891345e204145be8a3a99de38e98a39d6a569434e1845c8af7205afcfcc7f425fcd1463e93c32881ead0d6e356d467ec8c02553f9aab15e5738b11f127f", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqe49hhl" }, { "paymentRequest": "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w", "coinType": "bitcoin", "prefix": "lnbc", "complete": true, "satoshis": null, "millisatoshis": null, "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "38ec6891345e204145be8a3a99de38e98a39d6a569434e1845c8af7205afcfcc7f425fcd1463e93c32881ead0d6e356d467ec8c02553f9aab15e5738b11f127f", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "Please consider supporting this project" } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqe49hhl" }, { "paymentRequest": "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaztrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rspfj9srp", "coinType": "bitcoin", "prefix": "lnbc2500u", "complete": true, "satoshis": 250000, "millisatoshis": "250000000", "timeExpireDate": 1496314718, "timeExpireDateString": "2017-06-01T10:58:38.000Z", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "e89639ba6814e36689d4b91bf125f10351b55da057b00647a8dabaeb8a90c95f160f9d5a6e0f79d1fc2b964238b944e2fa4aa677c6f020d466472ab842bd750e", "recoveryFlag": 1, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "1 cup coffee" }, { "tagName": "expire_time", "data": 60 } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaztrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rsp6tg0jg" }, { "paymentRequest": "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqscc6gd6ql3jrc5yzme8v4ntcewwz5cnw92tz0pc8qcuufvq7khhr8wpald05e92xw006sq94mg8v2ndf4sefvf9sygkshp5zfem29trqq2yxxz7", "coinType": "bitcoin", "prefix": "lnbc20m", "complete": true, "satoshis": 2000000, "millisatoshis": "2000000000", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "c63486e81f8c878a105bc9d959af1973854c4dc552c4f0e0e0c7389603d6bdc67707bf6be992a8ce7bf50016bb41d8a9b5358652c4960445a170d049ced4558c", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "purpose_commit_hash", "data": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1" } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqscc6gd6ql3jrc5yzme8v4ntcewwz5cnw92tz0pc8qcuufvq7khhr8wpald05e92xw006sq94mg8v2ndf4sefvf9sygkshp5zfem29trqq8y2zpz" }, { "paymentRequest": "lntb20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfpp3x9et2e20v6pu37c5d9vax37wxq72un98kmzzhznpurw9sgl2v0nklu2g4d0keph5t7tj9tcqd8rexnd07ux4uv2cjvcqwaxgj7v4uwn5wmypjd5n69z2xm3xgksg28nwht7f6zspwp3f9t", "coinType": "testnet", "prefix": "lntb20m", "complete": true, "satoshis": 2000000, "millisatoshis": "2000000000", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "b6c42b8a61e0dc5823ea63e76ff148ab5f6c86f45f9722af0069c7934daff70d5e315893300774c897995e3a7476c8193693d144a36e2645a0851e6ebafc9d0a", "recoveryFlag": 1, "tags": [ { "tagName": "purpose_commit_hash", "data": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1" }, { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "fallback_address", "data": { "code": 17, "address": "mk2QpYatsKicvFVuTAQLBryyccRXMUaGHP", "addressHash": "3172b5654f6683c8fb146959d347ce303cae4ca7" } } ], "wordsTemp": "temp1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfpp3x9et2e20v6pu37c5d9vax37wxq72un98kmzzhznpurw9sgl2v0nklu2g4d0keph5t7tj9tcqd8rexnd07ux4uv2cjvcqwaxgj7v4uwn5wmypjd5n69z2xm3xgksg28nwht7f6zspeu4lw4" }, { "paymentRequest": "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzqj9n4evl6mr5aj9f58zp6fyjzup6ywn3x6sk8akg5v4tgn2q8g4fhx05wf6juaxu9760yp46454gpg5mtzgerlzezqcqvjnhjh8z3g2qqdhhwkj", "coinType": "bitcoin", "prefix": "lnbc20m", "complete": true, "satoshis": 2000000, "millisatoshis": "2000000000", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "91675cb3fad8e9d915343883a49242e074474e26d42c7ed914655689a8074553733e8e4ea5ce9b85f69e40d755a55014536b12323f8b220600c94ef2b9c51428", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "purpose_commit_hash", "data": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1" }, { "tagName": "fallback_address", "data": { "code": 17, "address": "1RustyRX2oai4EYYDpQGWvEL62BBGqN9T", "addressHash": "04b61f7dc1ea0dc99424464cc4064dc564d91e89" } }, { "tagName": "routing_info", "data": [ { "pubkey": "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255", "short_channel_id": "0102030405060708", "fee_base_msat": 1, "fee_proportional_millionths": 20, "cltv_expiry_delta": 3 }, { "pubkey": "039e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255", "short_channel_id": "030405060708090a", "fee_base_msat": 2, "fee_proportional_millionths": 30, "cltv_expiry_delta": 4 } ] } ], "wordsTemp": "temp1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzqj9n4evl6mr5aj9f58zp6fyjzup6ywn3x6sk8akg5v4tgn2q8g4fhx05wf6juaxu9760yp46454gpg5mtzgerlzezqcqvjnhjh8z3g2qqpqa4j6" }, { "paymentRequest": "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppj3a24vwu6r8ejrss3axul8rxldph2q7z9kmrgvr7xlaqm47apw3d48zm203kzcq357a4ls9al2ea73r8jcceyjtya6fu5wzzpe50zrge6ulk4nvjcpxlekvmxl6qcs9j3tz0469gq5g658y", "coinType": "bitcoin", "prefix": "lnbc20m", "complete": true, "satoshis": 2000000, "millisatoshis": "2000000000", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "b6c6860fc6ff41bafba1745b538b6a7c6c2c0234f76bf817bf567be88cf2c632492c9dd279470841cd1e21a33ae7ed59b25809bf9b3366fe81881651589f5d15", "recoveryFlag": 0, "tags": [ { "tagName": "purpose_commit_hash", "data": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1" }, { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "fallback_address", "data": { "code": 18, "address": "3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX", "addressHash": "8f55563b9a19f321c211e9b9f38cdf686ea07845" } } ], "wordsTemp": "temp1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppj3a24vwu6r8ejrss3axul8rxldph2q7z9kmrgvr7xlaqm47apw3d48zm203kzcq357a4ls9al2ea73r8jcceyjtya6fu5wzzpe50zrge6ulk4nvjcpxlekvmxl6qcs9j3tz0469gq5ffj0z" }, { "paymentRequest": "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppqw508d6qejxtdg4y5r3zarvary0c5xw7kepvrhrm9s57hejg0p662ur5j5cr03890fa7k2pypgttmh4897d3raaq85a293e9jpuqwl0rnfuwzam7yr8e690nd2ypcq9hlkdwdvycqa0qza8", "coinType": "bitcoin", "prefix": "lnbc20m", "complete": true, "satoshis": 2000000, "millisatoshis": "2000000000", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "c8583b8f65853d7cc90f0eb4ae0e92a606f89caf4f7d65048142d7bbd4e5f3623ef407a75458e4b20f00efbc734f1c2eefc419f3a2be6d51038016ffb35cd613", "recoveryFlag": 0, "tags": [ { "tagName": "purpose_commit_hash", "data": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1" }, { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "fallback_address", "data": { "code": 0, "address": "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "addressHash": "751e76e8199196d454941c45d1b3a323f1433bd6" } } ], "wordsTemp": "temp1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppqw508d6qejxtdg4y5r3zarvary0c5xw7kepvrhrm9s57hejg0p662ur5j5cr03890fa7k2pypgttmh4897d3raaq85a293e9jpuqwl0rnfuwzam7yr8e690nd2ypcq9hlkdwdvycqawny4p" }, { "paymentRequest": "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q28j0v3rwgy9pvjnd48ee2pl8xrpxysd5g44td63g6xcjcu003j3qe8878hluqlvl3km8rm92f5stamd3jw763n3hck0ct7p8wwj463cql26ava", "coinType": "bitcoin", "prefix": "lnbc20m", "complete": true, "satoshis": 2000000, "millisatoshis": "2000000000", "timestamp": 1496314658, "timestampString": "2017-06-01T10:57:38.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "51e4f6446e410a164a6da9f39507e730c26241b4456ab6ea28d1b12c71ef8ca20c9cfe3dffc07d9f8db671ecaa4d20beedb193bda8ce37c59f85f82773a55d47", "recoveryFlag": 0, "tags": [ { "tagName": "purpose_commit_hash", "data": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1" }, { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "fallback_address", "data": { "code": 0, "address": "bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3", "addressHash": "1863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262" } } ], "wordsTemp": "temp1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q28j0v3rwgy9pvjnd48ee2pl8xrpxysd5g44td63g6xcjcu003j3qe8878hluqlvl3km8rm92f5stamd3jw763n3hck0ct7p8wwj463cqxfgdr0" }, { "paymentRequest": "lnbc1230p1pwpw4vhpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq8w3jhxaqxqrrsscqpfmmcvd29nucsnyapspmkpqqf65uedt4zvhqkstelrgyk4nfvwka38c3nlq06agjmazs9nr3uupxp6r0v0gzw4n26redc36urkqwxamqqqu7esys", "coinType": "bitcoin", "prefix": "lnbc1230p", "complete": true, "millisatoshis": "123", "timestamp": 1545033111, "timestampString": "2018-12-17T07:51:51.000Z", "payeeNodeKey": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", "signature": "def0c6a8b3e6213274300eec10013aa732d5d44cb82d05e7e3412d59a58eb7627c467f03f5d44b7d140b31c79c0983a1bd8f409d59ab43cb711d7076038ddd80", "recoveryFlag": 0, "tags": [ { "tagName": "payment_hash", "data": "0001020304050607080900010203040506070809000102030405060708090102" }, { "tagName": "description", "data": "test" }, { "tagName": "expire_time", "data": 3600 }, { "tagName": "min_final_cltv_expiry", "data": 9 } ], "timeExpireDate": 1545036711, "timeExpireDateString": "2018-12-17T08:51:51.000Z", "wordsTemp": "temp1pwpw4vhpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq8w3jhxaqxqrrsscqpfmmcvd29nucsnyapspmkpqqf65uedt4zvhqkstelrgyk4nfvwka38c3nlq06agjmazs9nr3uupxp6r0v0gzw4n26redc36urkqwxamqqqumjsau" } ], "invalid": [ { "paymentRequest": 4649, "error": "Lightning Payment Request must be string" }, { "paymentRequest": "m1jg3xv8", "error": "Not a proper lightning payment request" }, { "paymentRequest": "lnbc2500u1PvJlUeZpP5QqQsYqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaztrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rspfj9srp", "error": "Mixed-case string lnbc2500u1PvJl" }, { "paymentRequest": "lnbc500m1jg3xv8", "error": "Signature is missing or incorrect" }, { "paymentRequest": "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqnp4q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durllllll72gy6kphxuhh4a2ffwf9344ytfw98tyhvslsp9y5vt2uxdfhpucph83eqms28dyde9yxgu5ehln4zkwv04nvurxhst77vnng5s0ar9mqpm3cg0l", "error": "Lightning Payment Request signature pubkey does not match payee pubkey" }, { "paymentRequest": "ln1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq05xqmj", "error": "Not a proper lightning payment request" }, { "paymentRequest": "lnxy34m1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxt0p4s", "error": "Unknown coin bech32 prefix" } ] }, "privateKey": "e126f68f7eafcc8b74f54d269fe206be715000f94dac067d1c04a8ca3b2db734" }