tapass 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2792 -3
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/tapd_methods/address/create_asset_address.d.ts +2 -26
- package/dist/tapd_methods/address/create_asset_address.d.ts.map +1 -1
- package/dist/tapd_methods/address/create_asset_address.js +5 -37
- package/dist/tapd_methods/address/create_asset_address.js.map +1 -1
- package/dist/tapd_methods/address/decode_asset_address.d.ts +38 -0
- package/dist/tapd_methods/address/decode_asset_address.d.ts.map +1 -0
- package/dist/tapd_methods/address/decode_asset_address.js +81 -0
- package/dist/tapd_methods/address/decode_asset_address.js.map +1 -0
- package/dist/tapd_methods/address/get_asset_addresses.d.ts +54 -0
- package/dist/tapd_methods/address/get_asset_addresses.d.ts.map +1 -0
- package/dist/tapd_methods/address/get_asset_addresses.js +153 -0
- package/dist/tapd_methods/address/get_asset_addresses.js.map +1 -0
- package/dist/tapd_methods/address/get_asset_receives.d.ts +72 -0
- package/dist/tapd_methods/address/get_asset_receives.d.ts.map +1 -0
- package/dist/tapd_methods/address/get_asset_receives.js +191 -0
- package/dist/tapd_methods/address/get_asset_receives.js.map +1 -0
- package/dist/tapd_methods/address/index.d.ts +11 -0
- package/dist/tapd_methods/address/index.d.ts.map +1 -1
- package/dist/tapd_methods/address/index.js +4 -0
- package/dist/tapd_methods/address/index.js.map +1 -1
- package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts +53 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts.map +1 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.js +93 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_balances.d.ts +64 -0
- package/dist/tapd_methods/assets/get_asset_balances.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_balances.js +177 -0
- package/dist/tapd_methods/assets/get_asset_balances.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_burns.d.ts +40 -0
- package/dist/tapd_methods/assets/get_asset_burns.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_burns.js +92 -0
- package/dist/tapd_methods/assets/get_asset_burns.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_groups.d.ts +35 -0
- package/dist/tapd_methods/assets/get_asset_groups.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_groups.js +78 -0
- package/dist/tapd_methods/assets/get_asset_groups.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_metadata.d.ts +40 -0
- package/dist/tapd_methods/assets/get_asset_metadata.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_metadata.js +99 -0
- package/dist/tapd_methods/assets/get_asset_metadata.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_utxos.d.ts +83 -0
- package/dist/tapd_methods/assets/get_asset_utxos.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_utxos.js +135 -0
- package/dist/tapd_methods/assets/get_asset_utxos.js.map +1 -0
- package/dist/tapd_methods/assets/get_assets.d.ts +113 -0
- package/dist/tapd_methods/assets/get_assets.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_assets.js +243 -0
- package/dist/tapd_methods/assets/get_assets.js.map +1 -0
- package/dist/tapd_methods/assets/index.d.ts +19 -0
- package/dist/tapd_methods/assets/index.d.ts.map +1 -0
- package/dist/tapd_methods/assets/index.js +7 -0
- package/dist/tapd_methods/assets/index.js.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.d.ts +18 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.d.ts.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.js +59 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.js.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_request.d.ts +68 -0
- package/dist/tapd_methods/channels/asset_payment_request.d.ts.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_request.js +54 -0
- package/dist/tapd_methods/channels/asset_payment_request.js.map +1 -0
- package/dist/tapd_methods/channels/create_asset_invoice.d.ts +134 -0
- package/dist/tapd_methods/channels/create_asset_invoice.d.ts.map +1 -0
- package/dist/tapd_methods/channels/create_asset_invoice.js +264 -0
- package/dist/tapd_methods/channels/create_asset_invoice.js.map +1 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts +72 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts.map +1 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.js +143 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.js.map +1 -0
- package/dist/tapd_methods/channels/emit_asset_payment.d.ts +30 -0
- package/dist/tapd_methods/channels/emit_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/emit_asset_payment.js +59 -0
- package/dist/tapd_methods/channels/emit_asset_payment.js.map +1 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts +51 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts.map +1 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.js +127 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.js.map +1 -0
- package/dist/tapd_methods/channels/get_asset_invoices.d.ts +84 -0
- package/dist/tapd_methods/channels/get_asset_invoices.d.ts.map +1 -0
- package/dist/tapd_methods/channels/get_asset_invoices.js +193 -0
- package/dist/tapd_methods/channels/get_asset_invoices.js.map +1 -0
- package/dist/tapd_methods/channels/get_asset_payments.d.ts +69 -0
- package/dist/tapd_methods/channels/get_asset_payments.d.ts.map +1 -0
- package/dist/tapd_methods/channels/get_asset_payments.js +180 -0
- package/dist/tapd_methods/channels/get_asset_payments.js.map +1 -0
- package/dist/tapd_methods/channels/index.d.ts +31 -0
- package/dist/tapd_methods/channels/index.d.ts.map +1 -0
- package/dist/tapd_methods/channels/index.js +12 -0
- package/dist/tapd_methods/channels/index.js.map +1 -0
- package/dist/tapd_methods/channels/open_asset_channel.d.ts +53 -0
- package/dist/tapd_methods/channels/open_asset_channel.d.ts.map +1 -0
- package/dist/tapd_methods/channels/open_asset_channel.js +128 -0
- package/dist/tapd_methods/channels/open_asset_channel.js.map +1 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.d.ts +95 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.d.ts.map +1 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.js +132 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.js.map +1 -0
- package/dist/tapd_methods/channels/send_asset_keysend.d.ts +84 -0
- package/dist/tapd_methods/channels/send_asset_keysend.d.ts.map +1 -0
- package/dist/tapd_methods/channels/send_asset_keysend.js +144 -0
- package/dist/tapd_methods/channels/send_asset_keysend.js.map +1 -0
- package/dist/tapd_methods/channels/send_asset_payment.d.ts +33 -0
- package/dist/tapd_methods/channels/send_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/send_asset_payment.js +114 -0
- package/dist/tapd_methods/channels/send_asset_payment.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts +51 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js +104 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts +59 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.js +104 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts +62 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js +106 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js.map +1 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts +45 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.js +99 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.js.map +1 -0
- package/dist/tapd_methods/daemon/index.d.ts +8 -0
- package/dist/tapd_methods/daemon/index.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/index.js +4 -0
- package/dist/tapd_methods/daemon/index.js.map +1 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts +23 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.js +60 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.js.map +1 -0
- package/dist/tapd_methods/daemon/stop_tapd.d.ts +16 -0
- package/dist/tapd_methods/daemon/stop_tapd.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/stop_tapd.js +50 -0
- package/dist/tapd_methods/daemon/stop_tapd.js.map +1 -0
- package/dist/tapd_methods/index.d.ts +8 -0
- package/dist/tapd_methods/index.d.ts.map +1 -1
- package/dist/tapd_methods/index.js +8 -0
- package/dist/tapd_methods/index.js.map +1 -1
- package/dist/tapd_methods/info/get_tapd_info.d.ts +44 -0
- package/dist/tapd_methods/info/get_tapd_info.d.ts.map +1 -0
- package/dist/tapd_methods/info/get_tapd_info.js +80 -0
- package/dist/tapd_methods/info/get_tapd_info.js.map +1 -0
- package/dist/tapd_methods/info/index.d.ts +4 -0
- package/dist/tapd_methods/info/index.d.ts.map +1 -0
- package/dist/tapd_methods/info/index.js +2 -0
- package/dist/tapd_methods/info/index.js.map +1 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts +124 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.js +283 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.d.ts +23 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.js +62 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.d.ts +64 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.js +130 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/fund_mint_batch.d.ts +82 -0
- package/dist/tapd_methods/mint/fund_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/fund_mint_batch.js +145 -0
- package/dist/tapd_methods/mint/fund_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/get_mint_batches.d.ts +72 -0
- package/dist/tapd_methods/mint/get_mint_batches.d.ts.map +1 -0
- package/dist/tapd_methods/mint/get_mint_batches.js +123 -0
- package/dist/tapd_methods/mint/get_mint_batches.js.map +1 -0
- package/dist/tapd_methods/mint/index.d.ts +21 -0
- package/dist/tapd_methods/mint/index.d.ts.map +1 -0
- package/dist/tapd_methods/mint/index.js +8 -0
- package/dist/tapd_methods/mint/index.js.map +1 -0
- package/dist/tapd_methods/mint/seal_mint_batch.d.ts +64 -0
- package/dist/tapd_methods/mint/seal_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/seal_mint_batch.js +135 -0
- package/dist/tapd_methods/mint/seal_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts +52 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts.map +1 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.js +91 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.js.map +1 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.d.ts +61 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.js +129 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.js.map +1 -0
- package/dist/tapd_methods/proofs/export_asset_proof.d.ts +39 -0
- package/dist/tapd_methods/proofs/export_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/export_asset_proof.js +113 -0
- package/dist/tapd_methods/proofs/export_asset_proof.js.map +1 -0
- package/dist/tapd_methods/proofs/index.d.ts +13 -0
- package/dist/tapd_methods/proofs/index.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/index.js +5 -0
- package/dist/tapd_methods/proofs/index.js.map +1 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts +29 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.js +85 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.js.map +1 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.d.ts +58 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.js +110 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts +31 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.js +88 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts +79 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.js +200 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts +30 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.js +87 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts +79 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.js +200 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.js.map +1 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts +52 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.js +100 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.js.map +1 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.d.ts +70 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.js +185 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.js.map +1 -0
- package/dist/tapd_methods/rfq/index.d.ts +19 -0
- package/dist/tapd_methods/rfq/index.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/index.js +8 -0
- package/dist/tapd_methods/rfq/index.js.map +1 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts +68 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js +107 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js.map +1 -0
- package/dist/tapd_methods/send/burn_asset.d.ts +135 -0
- package/dist/tapd_methods/send/burn_asset.d.ts.map +1 -0
- package/dist/tapd_methods/send/burn_asset.js +220 -0
- package/dist/tapd_methods/send/burn_asset.js.map +1 -0
- package/dist/tapd_methods/send/get_asset_transfers.d.ts +73 -0
- package/dist/tapd_methods/send/get_asset_transfers.d.ts.map +1 -0
- package/dist/tapd_methods/send/get_asset_transfers.js +122 -0
- package/dist/tapd_methods/send/get_asset_transfers.js.map +1 -0
- package/dist/tapd_methods/send/index.d.ts +15 -0
- package/dist/tapd_methods/send/index.d.ts.map +1 -0
- package/dist/tapd_methods/send/index.js +6 -0
- package/dist/tapd_methods/send/index.js.map +1 -0
- package/dist/tapd_methods/send/register_asset_transfer.d.ts +77 -0
- package/dist/tapd_methods/send/register_asset_transfer.d.ts.map +1 -0
- package/dist/tapd_methods/send/register_asset_transfer.js +165 -0
- package/dist/tapd_methods/send/register_asset_transfer.js.map +1 -0
- package/dist/tapd_methods/send/send_asset.d.ts +94 -0
- package/dist/tapd_methods/send/send_asset.d.ts.map +1 -0
- package/dist/tapd_methods/send/send_asset.js +169 -0
- package/dist/tapd_methods/send/send_asset.js.map +1 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts +117 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts.map +1 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.js +159 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.js.map +1 -0
- package/dist/tapd_requests/decimal_as_fixed_point.d.ts +23 -0
- package/dist/tapd_requests/decimal_as_fixed_point.d.ts.map +1 -0
- package/dist/tapd_requests/decimal_as_fixed_point.js +31 -0
- package/dist/tapd_requests/decimal_as_fixed_point.js.map +1 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts +13 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts.map +1 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js +21 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js.map +1 -0
- package/dist/tapd_requests/index.d.ts +5 -0
- package/dist/tapd_requests/index.d.ts.map +1 -1
- package/dist/tapd_requests/index.js +5 -0
- package/dist/tapd_requests/index.js.map +1 -1
- package/dist/tapd_requests/is_method_unsupported.d.ts +24 -0
- package/dist/tapd_requests/is_method_unsupported.d.ts.map +1 -0
- package/dist/tapd_requests/is_method_unsupported.js +27 -0
- package/dist/tapd_requests/is_method_unsupported.js.map +1 -0
- package/dist/tapd_requests/mint_funding_request.d.ts +53 -0
- package/dist/tapd_requests/mint_funding_request.d.ts.map +1 -0
- package/dist/tapd_requests/mint_funding_request.js +48 -0
- package/dist/tapd_requests/mint_funding_request.js.map +1 -0
- package/dist/tapd_requests/script_key_type_query.d.ts +26 -0
- package/dist/tapd_requests/script_key_type_query.d.ts.map +1 -0
- package/dist/tapd_requests/script_key_type_query.js +41 -0
- package/dist/tapd_requests/script_key_type_query.js.map +1 -0
- package/dist/tapd_responses/asset_channel_rpc_error.d.ts +19 -0
- package/dist/tapd_responses/asset_channel_rpc_error.d.ts.map +1 -0
- package/dist/tapd_responses/asset_channel_rpc_error.js +69 -0
- package/dist/tapd_responses/asset_channel_rpc_error.js.map +1 -0
- package/dist/tapd_responses/batch_states.d.ts +4 -0
- package/dist/tapd_responses/batch_states.d.ts.map +1 -0
- package/dist/tapd_responses/batch_states.js +13 -0
- package/dist/tapd_responses/batch_states.js.map +1 -0
- package/dist/tapd_responses/fixed_point_as_decimal.d.ts +25 -0
- package/dist/tapd_responses/fixed_point_as_decimal.d.ts.map +1 -0
- package/dist/tapd_responses/fixed_point_as_decimal.js +39 -0
- package/dist/tapd_responses/fixed_point_as_decimal.js.map +1 -0
- package/dist/tapd_responses/index.d.ts +76 -0
- package/dist/tapd_responses/index.d.ts.map +1 -0
- package/dist/tapd_responses/index.js +30 -0
- package/dist/tapd_responses/index.js.map +1 -0
- package/dist/tapd_responses/long_key_as_number.d.ts +16 -0
- package/dist/tapd_responses/long_key_as_number.d.ts.map +1 -0
- package/dist/tapd_responses/long_key_as_number.js +28 -0
- package/dist/tapd_responses/long_key_as_number.js.map +1 -0
- package/dist/tapd_responses/mint_rpc_error.d.ts +19 -0
- package/dist/tapd_responses/mint_rpc_error.d.ts.map +1 -0
- package/dist/tapd_responses/mint_rpc_error.js +35 -0
- package/dist/tapd_responses/mint_rpc_error.js.map +1 -0
- package/dist/tapd_responses/outpoint_as_transaction.d.ts +19 -0
- package/dist/tapd_responses/outpoint_as_transaction.d.ts.map +1 -0
- package/dist/tapd_responses/outpoint_as_transaction.js +23 -0
- package/dist/tapd_responses/outpoint_as_transaction.js.map +1 -0
- package/dist/tapd_responses/receive_statuses.d.ts +4 -0
- package/dist/tapd_responses/receive_statuses.d.ts.map +1 -0
- package/dist/tapd_responses/receive_statuses.js +9 -0
- package/dist/tapd_responses/receive_statuses.js.map +1 -0
- package/dist/tapd_responses/rpc_addr_as_address.d.ts +79 -0
- package/dist/tapd_responses/rpc_addr_as_address.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_addr_as_address.js +87 -0
- package/dist/tapd_responses/rpc_addr_as_address.js.map +1 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts +63 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.js +64 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts +34 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.js +38 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_as_asset.d.ts +204 -0
- package/dist/tapd_responses/rpc_asset_as_asset.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_as_asset.js +174 -0
- package/dist/tapd_responses/rpc_asset_as_asset.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts +53 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.js +53 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts +51 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.js +54 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts +39 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js +45 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts +68 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.js +70 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts +76 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.js +73 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts +39 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.js +45 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.js.map +1 -0
- package/dist/tapd_responses/rpc_batch_as_batch.d.ts +158 -0
- package/dist/tapd_responses/rpc_batch_as_batch.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_batch_as_batch.js +181 -0
- package/dist/tapd_responses/rpc_batch_as_batch.js.map +1 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts +83 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.js +85 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.js.map +1 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts +161 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.js +138 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.js.map +1 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts +100 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.js +101 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.js.map +1 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts +76 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.js +71 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.js.map +1 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts +63 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js +65 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js.map +1 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts +53 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.js +52 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.js.map +1 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts +70 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.js +89 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.js.map +1 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts +80 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.js +85 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.js.map +1 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts +124 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.js +161 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.js.map +1 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts +241 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.js +212 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.js.map +1 -0
- package/dist/tapd_responses/short_channel_id_as_channel.d.ts +13 -0
- package/dist/tapd_responses/short_channel_id_as_channel.d.ts.map +1 -0
- package/dist/tapd_responses/short_channel_id_as_channel.js +26 -0
- package/dist/tapd_responses/short_channel_id_as_channel.js.map +1 -0
- package/package.json +7 -2
- package/src/index.ts +21 -0
- package/src/tapd_methods/address/create_asset_address.ts +7 -72
- package/src/tapd_methods/address/decode_asset_address.ts +117 -0
- package/src/tapd_methods/address/get_asset_addresses.ts +212 -0
- package/src/tapd_methods/address/get_asset_receives.ts +265 -0
- package/src/tapd_methods/address/index.ts +11 -0
- package/src/tapd_methods/address/subscribe_to_asset_receives.ts +114 -0
- package/src/tapd_methods/assets/get_asset_balances.ts +249 -0
- package/src/tapd_methods/assets/get_asset_burns.ts +133 -0
- package/src/tapd_methods/assets/get_asset_groups.ts +109 -0
- package/src/tapd_methods/assets/get_asset_metadata.ts +141 -0
- package/src/tapd_methods/assets/get_asset_utxos.ts +175 -0
- package/src/tapd_methods/assets/get_assets.ts +327 -0
- package/src/tapd_methods/assets/index.ts +18 -0
- package/src/tapd_methods/channels/asset_payment_args_error.ts +83 -0
- package/src/tapd_methods/channels/asset_payment_request.ts +76 -0
- package/src/tapd_methods/channels/create_asset_invoice.ts +387 -0
- package/src/tapd_methods/channels/decode_asset_payment_request.ts +192 -0
- package/src/tapd_methods/channels/emit_asset_payment.ts +78 -0
- package/src/tapd_methods/channels/encode_asset_custom_records.ts +187 -0
- package/src/tapd_methods/channels/get_asset_invoices.ts +258 -0
- package/src/tapd_methods/channels/get_asset_payments.ts +243 -0
- package/src/tapd_methods/channels/index.ts +30 -0
- package/src/tapd_methods/channels/open_asset_channel.ts +193 -0
- package/src/tapd_methods/channels/pay_asset_invoice.ts +171 -0
- package/src/tapd_methods/channels/send_asset_keysend.ts +196 -0
- package/src/tapd_methods/channels/send_asset_payment.ts +158 -0
- package/src/tapd_methods/channels/subscribe_to_asset_invoices.ts +134 -0
- package/src/tapd_methods/channels/subscribe_to_asset_payments.ts +126 -0
- package/src/tapd_methods/channels/subscribe_to_past_asset_payment.ts +132 -0
- package/src/tapd_methods/daemon/create_tapd_macaroon.ts +153 -0
- package/src/tapd_methods/daemon/index.ts +7 -0
- package/src/tapd_methods/daemon/set_tapd_debug_level.ts +90 -0
- package/src/tapd_methods/daemon/stop_tapd.ts +75 -0
- package/src/tapd_methods/index.ts +8 -0
- package/src/tapd_methods/info/get_tapd_info.ts +129 -0
- package/src/tapd_methods/info/index.ts +3 -0
- package/src/tapd_methods/mint/add_asset_to_mint_batch.ts +396 -0
- package/src/tapd_methods/mint/cancel_mint_batch.ts +95 -0
- package/src/tapd_methods/mint/finalize_mint_batch.ts +181 -0
- package/src/tapd_methods/mint/fund_mint_batch.ts +193 -0
- package/src/tapd_methods/mint/get_mint_batches.ts +162 -0
- package/src/tapd_methods/mint/index.ts +20 -0
- package/src/tapd_methods/mint/seal_mint_batch.ts +184 -0
- package/src/tapd_methods/mint/subscribe_to_mint_events.ts +104 -0
- package/src/tapd_methods/proofs/decode_asset_proof.ts +175 -0
- package/src/tapd_methods/proofs/export_asset_proof.ts +169 -0
- package/src/tapd_methods/proofs/index.ts +12 -0
- package/src/tapd_methods/proofs/unpack_asset_proof_file.ts +126 -0
- package/src/tapd_methods/proofs/verify_asset_proof.ts +156 -0
- package/src/tapd_methods/rfq/add_asset_buy_offer.ts +127 -0
- package/src/tapd_methods/rfq/add_asset_buy_order.ts +279 -0
- package/src/tapd_methods/rfq/add_asset_sell_offer.ts +126 -0
- package/src/tapd_methods/rfq/add_asset_sell_order.ts +279 -0
- package/src/tapd_methods/rfq/get_accepted_quotes.ts +137 -0
- package/src/tapd_methods/rfq/get_asset_forwards.ts +259 -0
- package/src/tapd_methods/rfq/index.ts +18 -0
- package/src/tapd_methods/rfq/subscribe_to_rfq_events.ts +130 -0
- package/src/tapd_methods/send/burn_asset.ts +280 -0
- package/src/tapd_methods/send/get_asset_transfers.ts +161 -0
- package/src/tapd_methods/send/index.ts +14 -0
- package/src/tapd_methods/send/register_asset_transfer.ts +219 -0
- package/src/tapd_methods/send/send_asset.ts +223 -0
- package/src/tapd_methods/send/subscribe_to_asset_sends.ts +181 -0
- package/src/tapd_requests/decimal_as_fixed_point.ts +36 -0
- package/src/tapd_requests/fee_rate_as_tokens_per_kw.ts +23 -0
- package/src/tapd_requests/index.ts +5 -0
- package/src/tapd_requests/is_method_unsupported.ts +33 -0
- package/src/tapd_requests/mint_funding_request.ts +57 -0
- package/src/tapd_requests/script_key_type_query.ts +44 -0
- package/src/tapd_responses/asset_channel_rpc_error.ts +73 -0
- package/src/tapd_responses/batch_states.ts +12 -0
- package/src/tapd_responses/fixed_point_as_decimal.ts +51 -0
- package/src/tapd_responses/index.ts +75 -0
- package/src/tapd_responses/long_key_as_number.ts +31 -0
- package/src/tapd_responses/mint_rpc_error.ts +39 -0
- package/src/tapd_responses/outpoint_as_transaction.ts +25 -0
- package/src/tapd_responses/receive_statuses.ts +8 -0
- package/src/tapd_responses/rpc_addr_as_address.ts +138 -0
- package/src/tapd_responses/rpc_addr_event_as_receive.ts +103 -0
- package/src/tapd_responses/rpc_asset_amount_as_amount.ts +57 -0
- package/src/tapd_responses/rpc_asset_as_asset.ts +299 -0
- package/src/tapd_responses/rpc_asset_balance_as_balance.ts +85 -0
- package/src/tapd_responses/rpc_asset_burn_as_burn.ts +85 -0
- package/src/tapd_responses/rpc_asset_invoice_as_invoice.ts +62 -0
- package/src/tapd_responses/rpc_asset_meta_as_metadata.ts +113 -0
- package/src/tapd_responses/rpc_asset_pay_req_as_request.ts +114 -0
- package/src/tapd_responses/rpc_asset_payment_as_payment.ts +62 -0
- package/src/tapd_responses/rpc_batch_as_batch.ts +281 -0
- package/src/tapd_responses/rpc_buy_quote_as_quote.ts +139 -0
- package/src/tapd_responses/rpc_decoded_proof_as_proof.ts +229 -0
- package/src/tapd_responses/rpc_forward_as_asset_forward.ts +164 -0
- package/src/tapd_responses/rpc_grouped_assets_as_group.ts +117 -0
- package/src/tapd_responses/rpc_managed_utxo_as_utxo.ts +105 -0
- package/src/tapd_responses/rpc_receive_event_as_receive_update.ts +84 -0
- package/src/tapd_responses/rpc_rfq_event_as_event.ts +123 -0
- package/src/tapd_responses/rpc_sell_quote_as_quote.ts +136 -0
- package/src/tapd_responses/rpc_send_event_as_send_event.ts +245 -0
- package/src/tapd_responses/rpc_transfer_as_transfer.ts +366 -0
- package/src/tapd_responses/short_channel_id_as_channel.ts +30 -0
- package/src/typescript/invoices.d.ts +30 -0
- package/src/typescript/lightning_lnd_responses.d.ts +44 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
const hexOf = (n?: Buffer | null) =>
|
|
2
|
+
!n?.length ? undefined : n.toString('hex');
|
|
3
|
+
const {isArray} = Array;
|
|
4
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
5
|
+
const {entries} = Object;
|
|
6
|
+
const types: Record<string, Metadata['type']> = {
|
|
7
|
+
META_TYPE_JSON: 'json',
|
|
8
|
+
META_TYPE_OPAQUE: 'opaque',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type RpcAssetMeta = {
|
|
12
|
+
canonical_universe_urls: string[];
|
|
13
|
+
data: Buffer;
|
|
14
|
+
decimal_display: number;
|
|
15
|
+
delegation_key: Buffer;
|
|
16
|
+
meta_hash: Buffer;
|
|
17
|
+
type: string;
|
|
18
|
+
universe_commitments: boolean;
|
|
19
|
+
unknown_odd_types: Record<string, Buffer>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type Metadata = {
|
|
23
|
+
/** Canonical Universe URLs */
|
|
24
|
+
canonical_universes: string[];
|
|
25
|
+
/** Metadata Hex */
|
|
26
|
+
data: string;
|
|
27
|
+
/** Decimal Places To Show */
|
|
28
|
+
decimal_display?: number;
|
|
29
|
+
/** Supply Commitment Delegation Public Key Hex */
|
|
30
|
+
delegation_key?: string;
|
|
31
|
+
/** Metadata Hash Hex */
|
|
32
|
+
hash: string;
|
|
33
|
+
/** Issuer Publishes Universe Supply Commitments */
|
|
34
|
+
is_publishing_supply_commitments: boolean;
|
|
35
|
+
/** Metadata Type */
|
|
36
|
+
type: 'json' | 'opaque' | 'unknown';
|
|
37
|
+
unknown_types: {
|
|
38
|
+
/** TLV Type Numeric String */
|
|
39
|
+
type: string;
|
|
40
|
+
/** Value Hex */
|
|
41
|
+
value: string;
|
|
42
|
+
}[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/** Metadata from an RPC asset metadata response
|
|
46
|
+
|
|
47
|
+
{
|
|
48
|
+
canonical_universe_urls: [<Canonical Universe URL String>]
|
|
49
|
+
data: <Metadata Buffer Object>
|
|
50
|
+
decimal_display: <Decimal Places To Show Number>
|
|
51
|
+
delegation_key: <Supply Commitment Delegation Public Key Buffer Object>
|
|
52
|
+
meta_hash: <Metadata Hash Buffer Object>
|
|
53
|
+
type: <Metadata Type String>
|
|
54
|
+
universe_commitments: <Issuer Publishes Universe Supply Commitments Bool>
|
|
55
|
+
unknown_odd_types: {
|
|
56
|
+
<TLV Type Numeric String>: <Value Buffer Object>
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@throws
|
|
61
|
+
<Error>
|
|
62
|
+
|
|
63
|
+
@returns
|
|
64
|
+
{
|
|
65
|
+
canonical_universes: [<Canonical Universe URL String>]
|
|
66
|
+
data: <Metadata Hex String>
|
|
67
|
+
[decimal_display]: <Decimal Places To Show Number>
|
|
68
|
+
[delegation_key]: <Supply Commitment Delegation Public Key Hex String>
|
|
69
|
+
hash: <Metadata Hash Hex String>
|
|
70
|
+
is_publishing_supply_commitments: <Issuer Publishes Supply Commitments Bool>
|
|
71
|
+
type: <Metadata Type String> // json, opaque, unknown
|
|
72
|
+
unknown_types: [{
|
|
73
|
+
type: <TLV Type Numeric String>
|
|
74
|
+
value: <Value Hex String>
|
|
75
|
+
}]
|
|
76
|
+
}
|
|
77
|
+
*/
|
|
78
|
+
export default (meta?: RpcAssetMeta | null): Metadata => {
|
|
79
|
+
if (!meta) {
|
|
80
|
+
throw new Error('ExpectedRpcAssetMetaDetails');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!isBuffer(meta.data)) {
|
|
84
|
+
throw new Error('ExpectedDataInRpcAssetMeta');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!isBuffer(meta.meta_hash) || !meta.meta_hash.length) {
|
|
88
|
+
throw new Error('ExpectedMetaHashInRpcAssetMeta');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (
|
|
92
|
+
!!meta.canonical_universe_urls &&
|
|
93
|
+
!isArray(meta.canonical_universe_urls)
|
|
94
|
+
) {
|
|
95
|
+
throw new Error('ExpectedArrayOfUniverseUrlsInRpcAssetMeta');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
canonical_universes: meta.canonical_universe_urls || [],
|
|
100
|
+
data: meta.data.toString('hex'),
|
|
101
|
+
decimal_display: meta.decimal_display || undefined,
|
|
102
|
+
delegation_key: hexOf(meta.delegation_key),
|
|
103
|
+
hash: meta.meta_hash.toString('hex'),
|
|
104
|
+
is_publishing_supply_commitments: meta.universe_commitments,
|
|
105
|
+
type: types[meta.type] || 'unknown',
|
|
106
|
+
unknown_types: entries(meta.unknown_odd_types || {}).map(
|
|
107
|
+
([type, value]) => ({
|
|
108
|
+
type,
|
|
109
|
+
value: value.toString('hex'),
|
|
110
|
+
}),
|
|
111
|
+
),
|
|
112
|
+
};
|
|
113
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type {DecodePaymentRequestResult} from 'lightning';
|
|
2
|
+
import {paymentRequestDetails} from 'lightning/lnd_responses/index.js';
|
|
3
|
+
|
|
4
|
+
const hexOf = (n?: Buffer | null) =>
|
|
5
|
+
!n?.length ? undefined : n.toString('hex');
|
|
6
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
7
|
+
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
8
|
+
|
|
9
|
+
export type RpcAssetPayReq = {
|
|
10
|
+
asset_amount: string;
|
|
11
|
+
asset_group: {tweaked_group_key: Buffer} | null;
|
|
12
|
+
decimal_display: {decimal_display: number} | null;
|
|
13
|
+
genesis_info: {
|
|
14
|
+
asset_id: Buffer;
|
|
15
|
+
asset_type: string;
|
|
16
|
+
meta_hash: Buffer;
|
|
17
|
+
name: string;
|
|
18
|
+
} | null;
|
|
19
|
+
pay_req: unknown;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type AssetPaymentRequest = DecodePaymentRequestResult & {
|
|
23
|
+
asset: {
|
|
24
|
+
/** Asset Units To Pay Numeric String */
|
|
25
|
+
amount: string;
|
|
26
|
+
/** Decimal Places To Show */
|
|
27
|
+
decimal_display?: number;
|
|
28
|
+
/** Asset Group Key Hex */
|
|
29
|
+
group_key?: string;
|
|
30
|
+
/** Asset Id Hex */
|
|
31
|
+
id: string;
|
|
32
|
+
/** Asset Is Collectible */
|
|
33
|
+
is_collectible: boolean;
|
|
34
|
+
/** Asset Metadata Hash Hex */
|
|
35
|
+
meta_hash: string;
|
|
36
|
+
/** Asset Name */
|
|
37
|
+
name: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/** Asset payment request details from an RPC asset pay req response
|
|
42
|
+
|
|
43
|
+
The lnd payment request maps with paymentRequestDetails from lightning
|
|
44
|
+
|
|
45
|
+
{
|
|
46
|
+
asset_amount: <Asset Units To Pay Numeric String>
|
|
47
|
+
[asset_group]: {
|
|
48
|
+
tweaked_group_key: <Asset Group Key Buffer Object>
|
|
49
|
+
}
|
|
50
|
+
[decimal_display]: {
|
|
51
|
+
decimal_display: <Decimal Places To Show Number>
|
|
52
|
+
}
|
|
53
|
+
genesis_info: {
|
|
54
|
+
asset_id: <Asset Id Buffer Object>
|
|
55
|
+
asset_type: <Asset Type String>
|
|
56
|
+
meta_hash: <Asset Metadata Hash Buffer Object>
|
|
57
|
+
name: <Asset Name String>
|
|
58
|
+
}
|
|
59
|
+
pay_req: <RPC lnd PayReq Object>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@throws
|
|
63
|
+
<Error>
|
|
64
|
+
|
|
65
|
+
@returns
|
|
66
|
+
{
|
|
67
|
+
asset: {
|
|
68
|
+
amount: <Asset Units To Pay Numeric String>
|
|
69
|
+
[decimal_display]: <Decimal Places To Show Number>
|
|
70
|
+
[group_key]: <Asset Group Key Hex String>
|
|
71
|
+
id: <Asset Id Hex String>
|
|
72
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
73
|
+
meta_hash: <Asset Metadata Hash Hex String>
|
|
74
|
+
name: <Asset Name String>
|
|
75
|
+
}
|
|
76
|
+
...<lightning Decoded Payment Request Object>
|
|
77
|
+
}
|
|
78
|
+
*/
|
|
79
|
+
export default (res?: RpcAssetPayReq | null): AssetPaymentRequest => {
|
|
80
|
+
if (!res) {
|
|
81
|
+
throw new Error('ExpectedRpcAssetPayReqDetails');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!isNumeric(res.asset_amount)) {
|
|
85
|
+
throw new Error('ExpectedAssetAmountInRpcAssetPayReq');
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const genesis = res.genesis_info;
|
|
89
|
+
|
|
90
|
+
if (!genesis || !isBuffer(genesis.asset_id) || !genesis.asset_id.length) {
|
|
91
|
+
throw new Error('ExpectedGenesisInfoInRpcAssetPayReq');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (!isBuffer(genesis.meta_hash)) {
|
|
95
|
+
throw new Error('ExpectedMetaHashInRpcAssetPayReq');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!res.pay_req) {
|
|
99
|
+
throw new Error('ExpectedPayReqInRpcAssetPayReq');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return {
|
|
103
|
+
...paymentRequestDetails(res.pay_req),
|
|
104
|
+
asset: {
|
|
105
|
+
amount: res.asset_amount,
|
|
106
|
+
decimal_display: res.decimal_display?.decimal_display || undefined,
|
|
107
|
+
group_key: hexOf(res.asset_group?.tweaked_group_key),
|
|
108
|
+
id: genesis.asset_id.toString('hex'),
|
|
109
|
+
is_collectible: genesis.asset_type === 'COLLECTIBLE',
|
|
110
|
+
meta_hash: genesis.meta_hash.toString('hex'),
|
|
111
|
+
name: genesis.name,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type {GetPaymentsResult} from 'lightning';
|
|
2
|
+
import {rpcPaymentAsPayment} from 'lightning/lnd_responses/index.js';
|
|
3
|
+
|
|
4
|
+
import rpcAssetAmountAsAmount from './rpc_asset_amount_as_amount.js';
|
|
5
|
+
import type {AssetAmount} from './rpc_asset_amount_as_amount.js';
|
|
6
|
+
import type {RpcAssetAmount} from './rpc_asset_amount_as_amount.js';
|
|
7
|
+
|
|
8
|
+
const {isArray} = Array;
|
|
9
|
+
|
|
10
|
+
export type RpcAssetPayment = {
|
|
11
|
+
asset_amounts: RpcAssetAmount[];
|
|
12
|
+
payment: unknown;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type AssetPayment = GetPaymentsResult['payments'][number] & {
|
|
16
|
+
assets: AssetAmount[];
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/** Asset payment from an RPC asset payment
|
|
20
|
+
|
|
21
|
+
The lnd payment maps with rpcPaymentAsPayment from lightning
|
|
22
|
+
|
|
23
|
+
{
|
|
24
|
+
asset_amounts: [{
|
|
25
|
+
amount: <Asset Units Numeric String>
|
|
26
|
+
asset_id: <Asset Id Buffer Object>
|
|
27
|
+
group_key: <Asset Group Key Buffer Object>
|
|
28
|
+
}]
|
|
29
|
+
payment: <RPC lnd Payment Object>
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@throws
|
|
33
|
+
<Error>
|
|
34
|
+
|
|
35
|
+
@returns
|
|
36
|
+
{
|
|
37
|
+
assets: [{
|
|
38
|
+
amount: <Asset Units Numeric String>
|
|
39
|
+
asset_id: <Asset Id Hex String>
|
|
40
|
+
[group_key]: <Asset Group Key Hex String>
|
|
41
|
+
}]
|
|
42
|
+
...<lightning Payment Object>
|
|
43
|
+
}
|
|
44
|
+
*/
|
|
45
|
+
export default (assetPayment?: RpcAssetPayment | null): AssetPayment => {
|
|
46
|
+
if (!assetPayment) {
|
|
47
|
+
throw new Error('ExpectedRpcAssetPaymentDetails');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (!isArray(assetPayment.asset_amounts)) {
|
|
51
|
+
throw new Error('ExpectedAssetAmountsInRpcAssetPayment');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!assetPayment.payment) {
|
|
55
|
+
throw new Error('ExpectedPaymentInRpcAssetPayment');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
...rpcPaymentAsPayment(assetPayment.payment),
|
|
60
|
+
assets: assetPayment.asset_amounts.map(rpcAssetAmountAsAmount),
|
|
61
|
+
};
|
|
62
|
+
};
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import states from './batch_states.js';
|
|
2
|
+
|
|
3
|
+
const assetVersions = ['ASSET_VERSION_V0', 'ASSET_VERSION_V1'];
|
|
4
|
+
const base64AsHex = (n: string) => Buffer.from(n, 'base64').toString('hex');
|
|
5
|
+
const dateFrom = (n: string) => new Date(Number(n) * 1e3).toISOString();
|
|
6
|
+
const hexOf = (n?: Buffer | null) =>
|
|
7
|
+
!n?.length ? undefined : n.toString('hex');
|
|
8
|
+
const {isArray} = Array;
|
|
9
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
10
|
+
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
11
|
+
const metaTypes: Record<string, string> = {
|
|
12
|
+
META_TYPE_JSON: 'json',
|
|
13
|
+
META_TYPE_OPAQUE: 'opaque',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type RpcPendingAsset = {
|
|
17
|
+
amount: string;
|
|
18
|
+
asset_meta: {data: Buffer; meta_hash: Buffer; type: string} | null;
|
|
19
|
+
asset_type: string;
|
|
20
|
+
asset_version: string;
|
|
21
|
+
group_anchor: string;
|
|
22
|
+
group_internal_key: {raw_key_bytes: Buffer} | null;
|
|
23
|
+
group_key: Buffer;
|
|
24
|
+
group_tapscript_root: Buffer;
|
|
25
|
+
name: string;
|
|
26
|
+
new_grouped_asset: boolean;
|
|
27
|
+
script_key: {pub_key: Buffer} | null;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export type RpcMintingBatch = {
|
|
31
|
+
assets: RpcPendingAsset[];
|
|
32
|
+
batch_key: Buffer;
|
|
33
|
+
batch_psbt: Buffer;
|
|
34
|
+
batch_txid: string;
|
|
35
|
+
created_at: string;
|
|
36
|
+
height_hint: number;
|
|
37
|
+
state: string;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export type RpcVerboseBatch = {
|
|
41
|
+
batch: RpcMintingBatch | null;
|
|
42
|
+
unsealed_assets?: {
|
|
43
|
+
asset: RpcPendingAsset | null;
|
|
44
|
+
group_virtual_psbt: string;
|
|
45
|
+
group_virtual_tx: {transaction: Buffer} | null;
|
|
46
|
+
}[];
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export type PendingAsset = {
|
|
50
|
+
/** Asset Units Numeric String */
|
|
51
|
+
amount: string;
|
|
52
|
+
/** Name of the Asset That Anchors a New Group */
|
|
53
|
+
group_anchor?: string;
|
|
54
|
+
/** Group Internal Public Key Hex */
|
|
55
|
+
group_internal_key?: string;
|
|
56
|
+
/** Group Key Hex */
|
|
57
|
+
group_key?: string;
|
|
58
|
+
/** Group Tapscript Root Hex */
|
|
59
|
+
group_tapscript_root?: string;
|
|
60
|
+
/** Asset Is Collectible */
|
|
61
|
+
is_collectible: boolean;
|
|
62
|
+
/** Asset Starts a New Group */
|
|
63
|
+
is_new_group: boolean;
|
|
64
|
+
/** Metadata Hex */
|
|
65
|
+
metadata?: string;
|
|
66
|
+
/** Metadata Hash Hex */
|
|
67
|
+
metadata_hash?: string;
|
|
68
|
+
/** Metadata Type */
|
|
69
|
+
metadata_type?: string;
|
|
70
|
+
/** Asset Name */
|
|
71
|
+
name: string;
|
|
72
|
+
/** Script Key Hex */
|
|
73
|
+
script_key?: string;
|
|
74
|
+
/** Asset Version */
|
|
75
|
+
version: number;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export type Batch = {
|
|
79
|
+
assets: PendingAsset[];
|
|
80
|
+
/** Created At ISO 8601 Date */
|
|
81
|
+
created_at: string;
|
|
82
|
+
/** Block Height When Created */
|
|
83
|
+
created_height: number;
|
|
84
|
+
/** Batch Key Hex */
|
|
85
|
+
id: string;
|
|
86
|
+
/** Genesis Transaction PSBT Hex */
|
|
87
|
+
psbt?: string;
|
|
88
|
+
/** Batch State */
|
|
89
|
+
state: string;
|
|
90
|
+
/** Genesis Transaction Id Hex */
|
|
91
|
+
transaction_id?: string;
|
|
92
|
+
unsealed_assets: (PendingAsset & {
|
|
93
|
+
/** Group Virtual Transaction PSBT Hex */
|
|
94
|
+
group_virtual_psbt?: string;
|
|
95
|
+
/** Group Virtual Transaction Hex */
|
|
96
|
+
group_virtual_transaction?: string;
|
|
97
|
+
})[];
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/** Pending asset from an RPC pending asset
|
|
101
|
+
|
|
102
|
+
{
|
|
103
|
+
amount: <Asset Units Numeric String>
|
|
104
|
+
[asset_meta]: {
|
|
105
|
+
data: <Metadata Buffer Object>
|
|
106
|
+
meta_hash: <Metadata Hash Buffer Object>
|
|
107
|
+
type: <Metadata Type String>
|
|
108
|
+
}
|
|
109
|
+
asset_type: <Asset Type String>
|
|
110
|
+
asset_version: <Asset Version String>
|
|
111
|
+
group_anchor: <Name of the Asset That Anchors a New Group String>
|
|
112
|
+
[group_internal_key]: {
|
|
113
|
+
raw_key_bytes: <Group Internal Public Key Buffer Object>
|
|
114
|
+
}
|
|
115
|
+
group_key: <Group Key Buffer Object>
|
|
116
|
+
group_tapscript_root: <Group Tapscript Root Buffer Object>
|
|
117
|
+
name: <Asset Name String>
|
|
118
|
+
new_grouped_asset: <Asset Starts a New Group Bool>
|
|
119
|
+
[script_key]: {
|
|
120
|
+
pub_key: <Script Key Buffer Object>
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@throws
|
|
125
|
+
<Error>
|
|
126
|
+
|
|
127
|
+
@returns
|
|
128
|
+
<Pending Asset Object>
|
|
129
|
+
*/
|
|
130
|
+
const pendingAsset = (asset?: RpcPendingAsset | null): PendingAsset => {
|
|
131
|
+
if (!asset) {
|
|
132
|
+
throw new Error('ExpectedPendingAssetInRpcMintingBatch');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (!asset.name) {
|
|
136
|
+
throw new Error('ExpectedAssetNameInRpcPendingAsset');
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (!isNumeric(asset.amount)) {
|
|
140
|
+
throw new Error('ExpectedAmountInRpcPendingAsset');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (assetVersions.indexOf(asset.asset_version) === -1) {
|
|
144
|
+
throw new Error('ExpectedKnownVersionInRpcPendingAsset');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (!isBuffer(asset.group_key) || !isBuffer(asset.group_tapscript_root)) {
|
|
148
|
+
throw new Error('ExpectedGroupDetailsInRpcPendingAsset');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const meta = asset.asset_meta;
|
|
152
|
+
|
|
153
|
+
return {
|
|
154
|
+
amount: asset.amount,
|
|
155
|
+
group_anchor: asset.group_anchor || undefined,
|
|
156
|
+
group_internal_key: hexOf(asset.group_internal_key?.raw_key_bytes),
|
|
157
|
+
group_key: hexOf(asset.group_key),
|
|
158
|
+
group_tapscript_root: hexOf(asset.group_tapscript_root),
|
|
159
|
+
is_collectible: asset.asset_type === 'COLLECTIBLE',
|
|
160
|
+
is_new_group: asset.new_grouped_asset,
|
|
161
|
+
metadata: hexOf(meta?.data),
|
|
162
|
+
metadata_hash: hexOf(meta?.meta_hash),
|
|
163
|
+
metadata_type: !meta ? undefined : metaTypes[meta.type] || 'unknown',
|
|
164
|
+
name: asset.name,
|
|
165
|
+
script_key: hexOf(asset.script_key?.pub_key),
|
|
166
|
+
version: assetVersions.indexOf(asset.asset_version),
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
/** Batch from an RPC minting batch, with the unsealed assets if present
|
|
171
|
+
|
|
172
|
+
{
|
|
173
|
+
batch: {
|
|
174
|
+
assets: [<RPC Pending Asset Object>]
|
|
175
|
+
batch_key: <Batch Key Buffer Object>
|
|
176
|
+
batch_psbt: <Genesis Transaction PSBT Buffer Object>
|
|
177
|
+
batch_txid: <Genesis Transaction Id Hex String>
|
|
178
|
+
created_at: <Created At Unix Seconds Numeric String>
|
|
179
|
+
height_hint: <Block Height When Created Number>
|
|
180
|
+
state: <Batch State String>
|
|
181
|
+
}
|
|
182
|
+
[unsealed_assets]: [{
|
|
183
|
+
asset: <RPC Pending Asset Object>
|
|
184
|
+
group_virtual_psbt: <Group Virtual Transaction PSBT Base64 String>
|
|
185
|
+
[group_virtual_tx]: {
|
|
186
|
+
transaction: <Group Virtual Transaction Buffer Object>
|
|
187
|
+
}
|
|
188
|
+
}]
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
@throws
|
|
192
|
+
<Error>
|
|
193
|
+
|
|
194
|
+
@returns
|
|
195
|
+
{
|
|
196
|
+
assets: [{
|
|
197
|
+
amount: <Asset Units Numeric String>
|
|
198
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
199
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
200
|
+
[group_key]: <Group Key Hex String>
|
|
201
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
202
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
203
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
204
|
+
[metadata]: <Metadata Hex String>
|
|
205
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
206
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
207
|
+
name: <Asset Name String>
|
|
208
|
+
[script_key]: <Script Key Hex String>
|
|
209
|
+
version: <Asset Version Number>
|
|
210
|
+
}]
|
|
211
|
+
created_at: <Created At ISO 8601 Date String>
|
|
212
|
+
created_height: <Block Height When Created Number>
|
|
213
|
+
id: <Batch Key Hex String>
|
|
214
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
215
|
+
state: <Batch State String>
|
|
216
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
217
|
+
unsealed_assets: [{
|
|
218
|
+
amount: <Asset Units Numeric String>
|
|
219
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
220
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
221
|
+
[group_key]: <Group Key Hex String>
|
|
222
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
223
|
+
[group_virtual_psbt]: <Group Virtual Transaction PSBT Hex String>
|
|
224
|
+
[group_virtual_transaction]: <Group Virtual Transaction Hex String>
|
|
225
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
226
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
227
|
+
[metadata]: <Metadata Hex String>
|
|
228
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
229
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
230
|
+
name: <Asset Name String>
|
|
231
|
+
[script_key]: <Script Key Hex String>
|
|
232
|
+
version: <Asset Version Number>
|
|
233
|
+
}]
|
|
234
|
+
}
|
|
235
|
+
*/
|
|
236
|
+
export default ({batch, unsealed_assets}: RpcVerboseBatch): Batch => {
|
|
237
|
+
if (!batch) {
|
|
238
|
+
throw new Error('ExpectedRpcMintingBatch');
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (!isArray(batch.assets)) {
|
|
242
|
+
throw new Error('ExpectedArrayOfAssetsInRpcMintingBatch');
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (!isBuffer(batch.batch_key) || !batch.batch_key.length) {
|
|
246
|
+
throw new Error('ExpectedBatchKeyInRpcMintingBatch');
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (!isBuffer(batch.batch_psbt)) {
|
|
250
|
+
throw new Error('ExpectedBatchPsbtInRpcMintingBatch');
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (!isNumeric(batch.created_at)) {
|
|
254
|
+
throw new Error('ExpectedCreatedAtInRpcMintingBatch');
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
if (!states[batch.state]) {
|
|
258
|
+
throw new Error('ExpectedKnownStateInRpcMintingBatch');
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if (!!unsealed_assets && !isArray(unsealed_assets)) {
|
|
262
|
+
throw new Error('ExpectedArrayOfUnsealedAssetsInRpcVerboseBatch');
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return {
|
|
266
|
+
assets: batch.assets.map(pendingAsset),
|
|
267
|
+
created_at: dateFrom(batch.created_at),
|
|
268
|
+
created_height: batch.height_hint,
|
|
269
|
+
id: batch.batch_key.toString('hex'),
|
|
270
|
+
psbt: hexOf(batch.batch_psbt),
|
|
271
|
+
state: states[batch.state],
|
|
272
|
+
transaction_id: batch.batch_txid || undefined,
|
|
273
|
+
unsealed_assets: (unsealed_assets || []).map(unsealed => ({
|
|
274
|
+
...pendingAsset(unsealed.asset),
|
|
275
|
+
group_virtual_psbt: !unsealed.group_virtual_psbt
|
|
276
|
+
? undefined
|
|
277
|
+
: base64AsHex(unsealed.group_virtual_psbt),
|
|
278
|
+
group_virtual_transaction: hexOf(unsealed.group_virtual_tx?.transaction),
|
|
279
|
+
})),
|
|
280
|
+
};
|
|
281
|
+
};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import fixedPointAsDecimal from './fixed_point_as_decimal.js';
|
|
2
|
+
import type {RpcFixedPoint} from './fixed_point_as_decimal.js';
|
|
3
|
+
import shortChannelIdAsChannel from './short_channel_id_as_channel.js';
|
|
4
|
+
|
|
5
|
+
const dateFrom = (n: string) => new Date(Number(n) * 1e3).toISOString();
|
|
6
|
+
const hexOf = (n?: Buffer | null) =>
|
|
7
|
+
!n?.length ? undefined : n.toString('hex');
|
|
8
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
9
|
+
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
10
|
+
const isPublicKey = (n: unknown) => /^0[23][0-9a-f]{64}$/i.test(String(n));
|
|
11
|
+
const zero = '0';
|
|
12
|
+
|
|
13
|
+
export type RpcAssetSpec = {
|
|
14
|
+
group_pub_key: Buffer;
|
|
15
|
+
id: Buffer;
|
|
16
|
+
} | null;
|
|
17
|
+
|
|
18
|
+
export type RpcBuyQuote = {
|
|
19
|
+
accepted_max_amount: string;
|
|
20
|
+
ask_asset_rate: RpcFixedPoint | null;
|
|
21
|
+
asset_max_amount: string;
|
|
22
|
+
asset_spec: RpcAssetSpec;
|
|
23
|
+
expiry: string;
|
|
24
|
+
id: Buffer;
|
|
25
|
+
min_transportable_units: string;
|
|
26
|
+
peer: string;
|
|
27
|
+
price_oracle_metadata: string;
|
|
28
|
+
scid: string;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type BuyQuote = {
|
|
32
|
+
/** Accepted Maximum Asset Units Numeric String */
|
|
33
|
+
accepted_max_amount?: string;
|
|
34
|
+
/** Asset Id Hex */
|
|
35
|
+
asset_id?: string;
|
|
36
|
+
/** Channel To Pay Over Standard Format Channel Id */
|
|
37
|
+
channel: string;
|
|
38
|
+
/** Quote Expires At ISO 8601 Date */
|
|
39
|
+
expires_at: string;
|
|
40
|
+
/** Asset Group BIP340 Public Key Hex */
|
|
41
|
+
group_key?: string;
|
|
42
|
+
/** Quote Request Id Hex */
|
|
43
|
+
id: string;
|
|
44
|
+
/** Maximum Asset Units Numeric String */
|
|
45
|
+
max_amount: string;
|
|
46
|
+
/** Minimum Asset Units In One HTLC Numeric String */
|
|
47
|
+
min_transportable_amount: string;
|
|
48
|
+
/** Peer Public Key Hex */
|
|
49
|
+
peer_public_key: string;
|
|
50
|
+
/** Price Oracle Metadata */
|
|
51
|
+
price_oracle_metadata?: string;
|
|
52
|
+
/** Ask Rate Asset Units Per BTC Exact Decimal String */
|
|
53
|
+
rate: string;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/** Buy quote from an RPC peer accepted buy quote
|
|
57
|
+
|
|
58
|
+
{
|
|
59
|
+
accepted_max_amount: <Accepted Maximum Asset Units Numeric String>
|
|
60
|
+
ask_asset_rate: {
|
|
61
|
+
coefficient: <Scaled Integer Numeric String>
|
|
62
|
+
scale: <Decimal Places Number>
|
|
63
|
+
}
|
|
64
|
+
asset_max_amount: <Maximum Asset Units Numeric String>
|
|
65
|
+
[asset_spec]: {
|
|
66
|
+
group_pub_key: <Asset Group BIP340 Public Key Buffer Object>
|
|
67
|
+
id: <Asset Id Buffer Object>
|
|
68
|
+
}
|
|
69
|
+
expiry: <Expires At Unix Seconds Numeric String>
|
|
70
|
+
id: <Quote Request Id Buffer Object>
|
|
71
|
+
min_transportable_units: <Minimum Asset Units In One HTLC Numeric String>
|
|
72
|
+
peer: <Peer Public Key Hex String>
|
|
73
|
+
price_oracle_metadata: <Price Oracle Metadata String>
|
|
74
|
+
scid: <Short Channel Id Numeric String>
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@throws
|
|
78
|
+
<Error>
|
|
79
|
+
|
|
80
|
+
@returns
|
|
81
|
+
{
|
|
82
|
+
[accepted_max_amount]: <Accepted Maximum Asset Units Numeric String>
|
|
83
|
+
[asset_id]: <Asset Id Hex String>
|
|
84
|
+
channel: <Channel To Pay Over Standard Format Channel Id String>
|
|
85
|
+
expires_at: <Quote Expires At ISO 8601 Date String>
|
|
86
|
+
[group_key]: <Asset Group BIP340 Public Key Hex String>
|
|
87
|
+
id: <Quote Request Id Hex String>
|
|
88
|
+
max_amount: <Maximum Asset Units Numeric String>
|
|
89
|
+
min_transportable_amount: <Minimum Asset Units In One HTLC Numeric String>
|
|
90
|
+
peer_public_key: <Peer Public Key Hex String>
|
|
91
|
+
[price_oracle_metadata]: <Price Oracle Metadata String>
|
|
92
|
+
rate: <Ask Rate Asset Units Per BTC Exact Decimal String>
|
|
93
|
+
}
|
|
94
|
+
*/
|
|
95
|
+
export default (quote?: RpcBuyQuote | null): BuyQuote => {
|
|
96
|
+
if (!quote) {
|
|
97
|
+
throw new Error('ExpectedRpcPeerAcceptedBuyQuote');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (!isNumeric(quote.asset_max_amount)) {
|
|
101
|
+
throw new Error('ExpectedMaxAmountInRpcBuyQuote');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (!isNumeric(quote.expiry)) {
|
|
105
|
+
throw new Error('ExpectedExpiryInRpcBuyQuote');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (!isBuffer(quote.id) || !quote.id.length) {
|
|
109
|
+
throw new Error('ExpectedQuoteIdInRpcBuyQuote');
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!isNumeric(quote.min_transportable_units)) {
|
|
113
|
+
throw new Error('ExpectedMinTransportableUnitsInRpcBuyQuote');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (!isPublicKey(quote.peer)) {
|
|
117
|
+
throw new Error('ExpectedPeerPublicKeyInRpcBuyQuote');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (!quote.ask_asset_rate) {
|
|
121
|
+
throw new Error('ExpectedAskAssetRateInRpcBuyQuote');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const accepted = quote.accepted_max_amount;
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
accepted_max_amount: !!accepted && accepted !== zero ? accepted : undefined,
|
|
128
|
+
asset_id: hexOf(quote.asset_spec?.id),
|
|
129
|
+
channel: shortChannelIdAsChannel(quote.scid),
|
|
130
|
+
expires_at: dateFrom(quote.expiry),
|
|
131
|
+
group_key: hexOf(quote.asset_spec?.group_pub_key),
|
|
132
|
+
id: quote.id.toString('hex'),
|
|
133
|
+
max_amount: quote.asset_max_amount,
|
|
134
|
+
min_transportable_amount: quote.min_transportable_units,
|
|
135
|
+
peer_public_key: quote.peer,
|
|
136
|
+
price_oracle_metadata: quote.price_oracle_metadata || undefined,
|
|
137
|
+
rate: fixedPointAsDecimal(quote.ask_asset_rate),
|
|
138
|
+
};
|
|
139
|
+
};
|