tapass 0.0.0-stage → 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/LICENSE +21 -0
- package/README.md +2886 -2
- package/dist/grpc/emit_subscription_error.d.ts +21 -0
- package/dist/grpc/emit_subscription_error.d.ts.map +1 -0
- package/dist/grpc/emit_subscription_error.js +26 -0
- package/dist/grpc/emit_subscription_error.js.map +1 -0
- package/dist/grpc/grpc_services.d.ts +46 -0
- package/dist/grpc/grpc_services.d.ts.map +1 -0
- package/dist/grpc/grpc_services.js +45 -0
- package/dist/grpc/grpc_services.js.map +1 -0
- package/dist/grpc/handle_remove_listener.d.ts +18 -0
- package/dist/grpc/handle_remove_listener.d.ts.map +1 -0
- package/dist/grpc/handle_remove_listener.js +22 -0
- package/dist/grpc/handle_remove_listener.js.map +1 -0
- package/dist/grpc/index.d.ts +32 -0
- package/dist/grpc/index.d.ts.map +1 -0
- package/dist/grpc/index.js +6 -0
- package/dist/grpc/index.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/tapd_grpc/api_for_proto.d.ts +28 -0
- package/dist/tapd_grpc/api_for_proto.d.ts.map +1 -0
- package/dist/tapd_grpc/api_for_proto.js +24 -0
- package/dist/tapd_grpc/api_for_proto.js.map +1 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.d.ts +35 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.d.ts.map +1 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.js +76 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.js.map +1 -0
- package/dist/tapd_grpc/decode_serialized.d.ts +18 -0
- package/dist/tapd_grpc/decode_serialized.d.ts.map +1 -0
- package/dist/tapd_grpc/decode_serialized.js +23 -0
- package/dist/tapd_grpc/decode_serialized.js.map +1 -0
- package/dist/tapd_grpc/grpc_credentials.d.ts +24 -0
- package/dist/tapd_grpc/grpc_credentials.d.ts.map +1 -0
- package/dist/tapd_grpc/grpc_credentials.js +39 -0
- package/dist/tapd_grpc/grpc_credentials.js.map +1 -0
- package/dist/tapd_grpc/grpc_options.d.ts +10 -0
- package/dist/tapd_grpc/grpc_options.d.ts.map +1 -0
- package/dist/tapd_grpc/grpc_options.js +9 -0
- package/dist/tapd_grpc/grpc_options.js.map +1 -0
- package/dist/tapd_grpc/grpc_ssl.d.ts +19 -0
- package/dist/tapd_grpc/grpc_ssl.d.ts.map +1 -0
- package/dist/tapd_grpc/grpc_ssl.js +18 -0
- package/dist/tapd_grpc/grpc_ssl.js.map +1 -0
- package/dist/tapd_grpc/index.d.ts +6 -0
- package/dist/tapd_grpc/index.d.ts.map +1 -0
- package/dist/tapd_grpc/index.js +2 -0
- package/dist/tapd_grpc/index.js.map +1 -0
- package/dist/tapd_grpc/types.d.ts +35 -0
- package/dist/tapd_grpc/types.d.ts.map +1 -0
- package/dist/tapd_grpc/types.js +2 -0
- package/dist/tapd_grpc/types.js.map +1 -0
- package/dist/tapd_methods/address/create_asset_address.d.ts +52 -0
- package/dist/tapd_methods/address/create_asset_address.d.ts.map +1 -0
- package/dist/tapd_methods/address/create_asset_address.js +127 -0
- package/dist/tapd_methods/address/create_asset_address.js.map +1 -0
- 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 +15 -0
- package/dist/tapd_methods/address/index.d.ts.map +1 -0
- package/dist/tapd_methods/address/index.js +6 -0
- package/dist/tapd_methods/address/index.js.map +1 -0
- 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 +10 -0
- package/dist/tapd_methods/index.d.ts.map +1 -0
- package/dist/tapd_methods/index.js +10 -0
- package/dist/tapd_methods/index.js.map +1 -0
- 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 +9 -0
- package/dist/tapd_requests/index.d.ts.map +1 -0
- package/dist/tapd_requests/index.js +9 -0
- package/dist/tapd_requests/index.js.map +1 -0
- package/dist/tapd_requests/is_connection_failure.d.ts +23 -0
- package/dist/tapd_requests/is_connection_failure.d.ts.map +1 -0
- package/dist/tapd_requests/is_connection_failure.js +40 -0
- package/dist/tapd_requests/is_connection_failure.js.map +1 -0
- 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/is_permission_denied.d.ts +19 -0
- package/dist/tapd_requests/is_permission_denied.d.ts.map +1 -0
- package/dist/tapd_requests/is_permission_denied.js +16 -0
- package/dist/tapd_requests/is_permission_denied.js.map +1 -0
- package/dist/tapd_requests/is_tapd.d.ts +19 -0
- package/dist/tapd_requests/is_tapd.d.ts.map +1 -0
- package/dist/tapd_requests/is_tapd.js +16 -0
- package/dist/tapd_requests/is_tapd.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/dist/typescript/index.d.ts +16 -0
- package/dist/typescript/index.d.ts.map +1 -0
- package/dist/typescript/index.js +2 -0
- package/dist/typescript/index.js.map +1 -0
- package/package.json +76 -3
- package/protos/VERSIONS +2 -0
- package/protos/lnrpc/lightning.proto +5380 -0
- package/protos/lnrpc/routerrpc/router.proto +1115 -0
- package/protos/taprpc/assetwalletrpc/assetwallet.proto +631 -0
- package/protos/taprpc/authmailboxrpc/mailbox.proto +281 -0
- package/protos/taprpc/mintrpc/mint.proto +452 -0
- package/protos/taprpc/portfoliopilotrpc/portfolio_pilot.proto +410 -0
- package/protos/taprpc/priceoraclerpc/price_oracle.proto +262 -0
- package/protos/taprpc/rfqrpc/rfq.proto +614 -0
- package/protos/taprpc/tapchannelrpc/tapchannel.proto +490 -0
- package/protos/taprpc/tapcommon.proto +47 -0
- package/protos/taprpc/tapdevrpc/tapdev.proto +120 -0
- package/protos/taprpc/taprootassets.proto +2117 -0
- package/protos/taprpc/universerpc/universe.proto +1101 -0
- package/src/grpc/emit_subscription_error.ts +39 -0
- package/src/grpc/grpc_services.ts +45 -0
- package/src/grpc/handle_remove_listener.ts +35 -0
- package/src/grpc/index.ts +18 -0
- package/src/index.ts +24 -0
- package/src/tapd_grpc/api_for_proto.ts +42 -0
- package/src/tapd_grpc/authenticated_tapd_grpc.ts +88 -0
- package/src/tapd_grpc/decode_serialized.ts +25 -0
- package/src/tapd_grpc/grpc_credentials.ts +48 -0
- package/src/tapd_grpc/grpc_options.ts +10 -0
- package/src/tapd_grpc/grpc_ssl.ts +20 -0
- package/src/tapd_grpc/index.ts +5 -0
- package/src/tapd_grpc/types.ts +35 -0
- package/src/tapd_methods/address/create_asset_address.ts +179 -0
- 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 +14 -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 +9 -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 +8 -0
- package/src/tapd_requests/is_connection_failure.ts +48 -0
- package/src/tapd_requests/is_method_unsupported.ts +33 -0
- package/src/tapd_requests/is_permission_denied.ts +18 -0
- package/src/tapd_requests/is_tapd.ts +22 -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/asyncjs_util.d.ts +14 -0
- package/src/typescript/index.ts +22 -0
- package/src/typescript/invoices.d.ts +30 -0
- package/src/typescript/lightning_lnd_responses.d.ts +44 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import {auto as asyncAuto} from 'async';
|
|
2
|
+
import {returnResult} from 'asyncjs-util';
|
|
3
|
+
|
|
4
|
+
import {decimalAsFixedPoint} from '../../tapd_requests/index.js';
|
|
5
|
+
import {isConnectionFailure} from '../../tapd_requests/index.js';
|
|
6
|
+
import {isPermissionDenied} from '../../tapd_requests/index.js';
|
|
7
|
+
import {isTapd} from '../../tapd_requests/index.js';
|
|
8
|
+
import {rpcSellQuoteAsQuote} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {SellQuote} from '../../tapd_responses/index.js';
|
|
10
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
11
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
12
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
13
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
14
|
+
|
|
15
|
+
const defaultTimeoutSeconds = 60;
|
|
16
|
+
const fillOrKill = 'EXECUTION_POLICY_FOK';
|
|
17
|
+
const {from} = Buffer;
|
|
18
|
+
const groupKeyError = 'error parsing group key';
|
|
19
|
+
const immediateOrCancel = 'EXECUTION_POLICY_IOC';
|
|
20
|
+
const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
|
|
21
|
+
const isDecimal = (n: string) => /^\d+(\.\d+)?$/.test(n);
|
|
22
|
+
const isFuture = (n: string) => Date.parse(n) > Date.now();
|
|
23
|
+
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
24
|
+
const isPositive = (n: string) => isNumeric(n) && BigInt(n) > BigInt(0);
|
|
25
|
+
const isPublicKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
|
|
26
|
+
const {isSafeInteger} = Number;
|
|
27
|
+
const maxMetadataBytes = 32768;
|
|
28
|
+
const method = 'addAssetSellOrder';
|
|
29
|
+
const noChannelError = 'error checking peer channel';
|
|
30
|
+
const rejectedError = 'rejected quote';
|
|
31
|
+
const timeoutError = 'timeout waiting for response';
|
|
32
|
+
const type = 'rfq';
|
|
33
|
+
const unixSeconds = (n: string) => Math.floor(Date.parse(n) / 1e3);
|
|
34
|
+
|
|
35
|
+
export type AddAssetSellOrderArgs = AuthenticatedTapdArgs<{
|
|
36
|
+
/** Asset Id Hex String */
|
|
37
|
+
asset_id?: string;
|
|
38
|
+
/** Order Expires At ISO 8601 Date String */
|
|
39
|
+
expires_at: string;
|
|
40
|
+
/** Asset Group Key Hex String */
|
|
41
|
+
group_key?: string;
|
|
42
|
+
/** Skip the Asset Channel Check, For Tests Only */
|
|
43
|
+
is_asset_channel_check_skipped?: boolean;
|
|
44
|
+
/** Reject a Quote That Does Not Fill the Maximum */
|
|
45
|
+
is_fill_or_kill?: boolean;
|
|
46
|
+
/** Maximum Payment Millitokens String */
|
|
47
|
+
max_mtokens: string;
|
|
48
|
+
/** Maximum Rate Asset Units Per BTC Decimal String */
|
|
49
|
+
max_rate?: string;
|
|
50
|
+
/** Minimum Payment Millitokens String */
|
|
51
|
+
min_mtokens?: string;
|
|
52
|
+
/** Peer Public Key Hex String */
|
|
53
|
+
peer_public_key: string;
|
|
54
|
+
/** Price Oracle Metadata String */
|
|
55
|
+
price_oracle_metadata?: string;
|
|
56
|
+
/** Wait For the Peer Quote Seconds Number */
|
|
57
|
+
timeout_seconds?: number;
|
|
58
|
+
}>;
|
|
59
|
+
|
|
60
|
+
export type AddAssetSellOrderResult = SellQuote;
|
|
61
|
+
|
|
62
|
+
type Tasks = {
|
|
63
|
+
addOrder: AddAssetSellOrderResult;
|
|
64
|
+
validate: undefined;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/** Ask a peer for a quote to sell an asset over an asset channel
|
|
68
|
+
|
|
69
|
+
Use a sell order before you pay an invoice with an asset
|
|
70
|
+
|
|
71
|
+
Requires `rfq:write` permission
|
|
72
|
+
|
|
73
|
+
An `asset_id` or a `group_key` is required, but not both
|
|
74
|
+
|
|
75
|
+
A rate is a number of asset units per BTC, as an exact decimal string
|
|
76
|
+
|
|
77
|
+
When there is no `min_mtokens`, the quote must fill the `max_mtokens`. Use
|
|
78
|
+
`"0"` to accept a partial fill.
|
|
79
|
+
|
|
80
|
+
The default `timeout_seconds` is 60
|
|
81
|
+
|
|
82
|
+
`max_rate`, `min_mtokens`, and `is_fill_or_kill` need tapd v0.8.0 or later.
|
|
83
|
+
Older tapd versions ignore them.
|
|
84
|
+
|
|
85
|
+
{
|
|
86
|
+
[asset_id]: <Asset Id Hex String>
|
|
87
|
+
expires_at: <Order Expires At ISO 8601 Date String>
|
|
88
|
+
[group_key]: <Asset Group Key Hex String>
|
|
89
|
+
[is_asset_channel_check_skipped]: <Skip Asset Channel Check Bool>
|
|
90
|
+
[is_fill_or_kill]: <Reject a Quote That Does Not Fill the Maximum Bool>
|
|
91
|
+
max_mtokens: <Maximum Payment Millitokens String>
|
|
92
|
+
[max_rate]: <Maximum Rate Asset Units Per BTC Decimal String>
|
|
93
|
+
[min_mtokens]: <Minimum Payment Millitokens String>
|
|
94
|
+
peer_public_key: <Peer Public Key Hex String>
|
|
95
|
+
[price_oracle_metadata]: <Price Oracle Metadata String>
|
|
96
|
+
tapd: <Authenticated tapd API Object>
|
|
97
|
+
[timeout_seconds]: <Wait For the Peer Quote Seconds Number>
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@returns via cbk or Promise
|
|
101
|
+
{
|
|
102
|
+
[accepted_max_mtokens]: <Accepted Maximum Payment Millitokens String>
|
|
103
|
+
amount: <Asset Units Numeric String>
|
|
104
|
+
[asset_id]: <Asset Id Hex String>
|
|
105
|
+
channel: <Channel To Pay Over Standard Format Channel Id String>
|
|
106
|
+
expires_at: <Quote Expires At ISO 8601 Date String>
|
|
107
|
+
[group_key]: <Asset Group BIP340 Public Key Hex String>
|
|
108
|
+
id: <Quote Request Id Hex String>
|
|
109
|
+
min_transportable_mtokens: <Minimum Millitokens To Send One Unit String>
|
|
110
|
+
peer_public_key: <Peer Public Key Hex String>
|
|
111
|
+
[price_oracle_metadata]: <Price Oracle Metadata String>
|
|
112
|
+
rate: <Bid Rate Asset Units Per BTC Exact Decimal String>
|
|
113
|
+
}
|
|
114
|
+
*/
|
|
115
|
+
const addAssetSellOrder: TapdMethod<
|
|
116
|
+
AddAssetSellOrderArgs,
|
|
117
|
+
AddAssetSellOrderResult
|
|
118
|
+
> = (
|
|
119
|
+
args: AddAssetSellOrderArgs,
|
|
120
|
+
cbk?: TapdCallback<AddAssetSellOrderResult>,
|
|
121
|
+
) => {
|
|
122
|
+
return new Promise((resolve, reject) => {
|
|
123
|
+
return asyncAuto<Tasks, TapdError>(
|
|
124
|
+
{
|
|
125
|
+
// Check arguments
|
|
126
|
+
validate: cbk => {
|
|
127
|
+
if (!args.asset_id && !args.group_key) {
|
|
128
|
+
return cbk([400, 'ExpectedAssetIdOrGroupKeyToAddAssetSellOrder']);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (!!args.asset_id && !!args.group_key) {
|
|
132
|
+
return cbk([400, 'UnexpectedAssetIdAndGroupKeyForAssetSellOrder']);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (!!args.asset_id && !isAssetId(args.asset_id)) {
|
|
136
|
+
return cbk([400, 'ExpectedAssetIdHexToAddAssetSellOrder']);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (!!args.group_key && !isPublicKey(args.group_key)) {
|
|
140
|
+
return cbk([400, 'ExpectedGroupKeyHexToAddAssetSellOrder']);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (!args.expires_at || !isFuture(args.expires_at)) {
|
|
144
|
+
return cbk([400, 'ExpectedFutureExpiresAtToAddAssetSellOrder']);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (args.max_rate !== undefined && !isDecimal(args.max_rate)) {
|
|
148
|
+
return cbk([400, 'ExpectedDecimalMaxRateToAddAssetSellOrder']);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (!isPositive(args.max_mtokens)) {
|
|
152
|
+
return cbk([400, 'ExpectedMaxMtokensToAddAssetSellOrder']);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
const min = args.min_mtokens;
|
|
156
|
+
|
|
157
|
+
if (min !== undefined && !isNumeric(min)) {
|
|
158
|
+
return cbk([400, 'ExpectedNumericMinMtokensForAssetSellOrder']);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (min !== undefined && BigInt(min) > BigInt(args.max_mtokens)) {
|
|
162
|
+
return cbk([400, 'ExpectedMinMtokensNotAboveMaxForSellOrder']);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (!args.peer_public_key || !isPublicKey(args.peer_public_key)) {
|
|
166
|
+
return cbk([400, 'ExpectedPeerPublicKeyToAddAssetSellOrder']);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const metadata = args.price_oracle_metadata || '';
|
|
170
|
+
|
|
171
|
+
if (Buffer.byteLength(metadata) > maxMetadataBytes) {
|
|
172
|
+
return cbk([400, 'ExpectedShorterOracleMetadataForSellOrder']);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
176
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToAddAssetSellOrder']);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
const timeout = args.timeout_seconds;
|
|
180
|
+
|
|
181
|
+
if (
|
|
182
|
+
timeout !== undefined &&
|
|
183
|
+
(!isSafeInteger(timeout) || timeout < 1)
|
|
184
|
+
) {
|
|
185
|
+
return cbk([400, 'ExpectedPositiveTimeoutSecondsForSellOrder']);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return cbk();
|
|
189
|
+
},
|
|
190
|
+
|
|
191
|
+
// Add the sell order and wait for the peer quote
|
|
192
|
+
addOrder: [
|
|
193
|
+
'validate',
|
|
194
|
+
({}, cbk) => {
|
|
195
|
+
const request = {
|
|
196
|
+
asset_rate_limit: !!args.max_rate
|
|
197
|
+
? decimalAsFixedPoint(args.max_rate)
|
|
198
|
+
: undefined,
|
|
199
|
+
asset_specifier: !!args.asset_id
|
|
200
|
+
? {asset_id: from(args.asset_id, 'hex')}
|
|
201
|
+
: {group_key: from(args.group_key || '', 'hex')},
|
|
202
|
+
execution_policy: !!args.is_fill_or_kill
|
|
203
|
+
? fillOrKill
|
|
204
|
+
: immediateOrCancel,
|
|
205
|
+
expiry: String(unixSeconds(args.expires_at)),
|
|
206
|
+
payment_max_amt: args.max_mtokens,
|
|
207
|
+
payment_min_amt: args.min_mtokens,
|
|
208
|
+
peer_pub_key: from(args.peer_public_key, 'hex'),
|
|
209
|
+
price_oracle_metadata: args.price_oracle_metadata || '',
|
|
210
|
+
skip_asset_channel_check: !!args.is_asset_channel_check_skipped,
|
|
211
|
+
timeout_seconds: args.timeout_seconds || defaultTimeoutSeconds,
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
215
|
+
if (isConnectionFailure({err})) {
|
|
216
|
+
return cbk([503, 'FailedToConnectToTapdToAddAssetSellOrder']);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (isPermissionDenied({err})) {
|
|
220
|
+
return cbk([403, 'PermissionDeniedToAddAssetSellOrder']);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (!!err && String(err.details).includes(groupKeyError)) {
|
|
224
|
+
return cbk([400, 'ExpectedValidGroupKeyToAddAssetSellOrder']);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
const details = String(err?.details);
|
|
228
|
+
|
|
229
|
+
if (!!err && details.includes(noChannelError)) {
|
|
230
|
+
return cbk([503, 'NoAssetChannelWithPeerForAssetSellOrder']);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
if (!!err && details.includes(rejectedError)) {
|
|
234
|
+
return cbk([503, 'PeerRejectedAssetSellOrderQuote', {err}]);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (!!err && details.includes(timeoutError)) {
|
|
238
|
+
return cbk([503, 'TimedOutWaitingForAssetSellOrderQuote']);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (!!err) {
|
|
242
|
+
return cbk([503, 'UnexpectedErrorAddingAssetSellOrder', {err}]);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (!res) {
|
|
246
|
+
return cbk([503, 'ExpectedResponseToAddAssetSellOrder']);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (!!res.invalid_quote) {
|
|
250
|
+
return cbk([
|
|
251
|
+
503,
|
|
252
|
+
'PeerSentInvalidQuoteForAssetSellOrder',
|
|
253
|
+
{err: res.invalid_quote},
|
|
254
|
+
]);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
if (!!res.rejected_quote) {
|
|
258
|
+
return cbk([
|
|
259
|
+
503,
|
|
260
|
+
'PeerRejectedAssetSellOrderQuote',
|
|
261
|
+
{err: res.rejected_quote},
|
|
262
|
+
]);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
try {
|
|
266
|
+
return cbk(null, rpcSellQuoteAsQuote(res.accepted_quote));
|
|
267
|
+
} catch (err: any) {
|
|
268
|
+
return cbk([503, err.message]);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
},
|
|
274
|
+
returnResult({reject, resolve, of: 'addOrder'}, cbk),
|
|
275
|
+
);
|
|
276
|
+
});
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
export default addAssetSellOrder;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import {auto as asyncAuto} from 'async';
|
|
2
|
+
import {returnResult} from 'asyncjs-util';
|
|
3
|
+
|
|
4
|
+
import {isConnectionFailure} from '../../tapd_requests/index.js';
|
|
5
|
+
import {isPermissionDenied} from '../../tapd_requests/index.js';
|
|
6
|
+
import {isTapd} from '../../tapd_requests/index.js';
|
|
7
|
+
import {rpcBuyQuoteAsQuote} from '../../tapd_responses/index.js';
|
|
8
|
+
import {rpcSellQuoteAsQuote} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {BuyQuote} from '../../tapd_responses/index.js';
|
|
10
|
+
import type {SellQuote} from '../../tapd_responses/index.js';
|
|
11
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
12
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
13
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
14
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
15
|
+
|
|
16
|
+
const {isArray} = Array;
|
|
17
|
+
const method = 'queryPeerAcceptedQuotes';
|
|
18
|
+
const type = 'rfq';
|
|
19
|
+
|
|
20
|
+
export type GetAcceptedQuotesArgs = AuthenticatedTapdArgs;
|
|
21
|
+
|
|
22
|
+
export type GetAcceptedQuotesResult = {
|
|
23
|
+
buy_quotes: BuyQuote[];
|
|
24
|
+
sell_quotes: SellQuote[];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
type Tasks = {
|
|
28
|
+
getQuotes: GetAcceptedQuotesResult;
|
|
29
|
+
validate: undefined;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/** Get the quotes that peers accepted for the orders of this node
|
|
33
|
+
|
|
34
|
+
Requires `rfq:read` permission
|
|
35
|
+
|
|
36
|
+
A rate is a number of asset units per BTC, as an exact decimal string
|
|
37
|
+
|
|
38
|
+
{
|
|
39
|
+
tapd: <Authenticated tapd API Object>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@returns via cbk or Promise
|
|
43
|
+
{
|
|
44
|
+
buy_quotes: [{
|
|
45
|
+
[accepted_max_amount]: <Accepted Maximum Asset Units Numeric String>
|
|
46
|
+
[asset_id]: <Asset Id Hex String>
|
|
47
|
+
channel: <Channel To Pay Over Standard Format Channel Id String>
|
|
48
|
+
expires_at: <Quote Expires At ISO 8601 Date String>
|
|
49
|
+
[group_key]: <Asset Group BIP340 Public Key Hex String>
|
|
50
|
+
id: <Quote Request Id Hex String>
|
|
51
|
+
max_amount: <Maximum Asset Units Numeric String>
|
|
52
|
+
min_transportable_amount: <Minimum Asset Units In One HTLC String>
|
|
53
|
+
peer_public_key: <Peer Public Key Hex String>
|
|
54
|
+
[price_oracle_metadata]: <Price Oracle Metadata String>
|
|
55
|
+
rate: <Ask Rate Asset Units Per BTC Exact Decimal String>
|
|
56
|
+
}]
|
|
57
|
+
sell_quotes: [{
|
|
58
|
+
[accepted_max_mtokens]: <Accepted Maximum Payment Millitokens String>
|
|
59
|
+
amount: <Asset Units Numeric String>
|
|
60
|
+
[asset_id]: <Asset Id Hex String>
|
|
61
|
+
channel: <Channel To Pay Over Standard Format Channel Id String>
|
|
62
|
+
expires_at: <Quote Expires At ISO 8601 Date String>
|
|
63
|
+
[group_key]: <Asset Group BIP340 Public Key Hex String>
|
|
64
|
+
id: <Quote Request Id Hex String>
|
|
65
|
+
min_transportable_mtokens: <Minimum Millitokens To Send One Unit String>
|
|
66
|
+
peer_public_key: <Peer Public Key Hex String>
|
|
67
|
+
[price_oracle_metadata]: <Price Oracle Metadata String>
|
|
68
|
+
rate: <Bid Rate Asset Units Per BTC Exact Decimal String>
|
|
69
|
+
}]
|
|
70
|
+
}
|
|
71
|
+
*/
|
|
72
|
+
const getAcceptedQuotes: TapdMethod<
|
|
73
|
+
GetAcceptedQuotesArgs,
|
|
74
|
+
GetAcceptedQuotesResult
|
|
75
|
+
> = (
|
|
76
|
+
args: GetAcceptedQuotesArgs,
|
|
77
|
+
cbk?: TapdCallback<GetAcceptedQuotesResult>,
|
|
78
|
+
) => {
|
|
79
|
+
return new Promise((resolve, reject) => {
|
|
80
|
+
return asyncAuto<Tasks, TapdError>(
|
|
81
|
+
{
|
|
82
|
+
// Check arguments
|
|
83
|
+
validate: cbk => {
|
|
84
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
85
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToGetAcceptedQuotes']);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return cbk();
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
// Get the accepted quotes
|
|
92
|
+
getQuotes: [
|
|
93
|
+
'validate',
|
|
94
|
+
({}, cbk) => {
|
|
95
|
+
return args.tapd[type][method]({}, (err: any, res: any) => {
|
|
96
|
+
if (isConnectionFailure({err})) {
|
|
97
|
+
return cbk([503, 'FailedToConnectToTapdToGetAcceptedQuotes']);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (isPermissionDenied({err})) {
|
|
101
|
+
return cbk([403, 'PermissionDeniedToGetAcceptedQuotes']);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (!!err) {
|
|
105
|
+
return cbk([
|
|
106
|
+
503,
|
|
107
|
+
'UnexpectedErrorGettingAcceptedQuotes',
|
|
108
|
+
{err},
|
|
109
|
+
]);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (
|
|
113
|
+
!res ||
|
|
114
|
+
!isArray(res.buy_quotes) ||
|
|
115
|
+
!isArray(res.sell_quotes)
|
|
116
|
+
) {
|
|
117
|
+
return cbk([503, 'ExpectedQuotesInAcceptedQuotesResponse']);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
try {
|
|
121
|
+
return cbk(null, {
|
|
122
|
+
buy_quotes: res.buy_quotes.map(rpcBuyQuoteAsQuote),
|
|
123
|
+
sell_quotes: res.sell_quotes.map(rpcSellQuoteAsQuote),
|
|
124
|
+
});
|
|
125
|
+
} catch (err: any) {
|
|
126
|
+
return cbk([503, err.message]);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
returnResult({reject, resolve, of: 'getQuotes'}, cbk),
|
|
133
|
+
);
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export default getAcceptedQuotes;
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import {auto as asyncAuto} from 'async';
|
|
2
|
+
import {returnResult} from 'asyncjs-util';
|
|
3
|
+
|
|
4
|
+
import {isConnectionFailure} from '../../tapd_requests/index.js';
|
|
5
|
+
import {isMethodUnsupported} from '../../tapd_requests/index.js';
|
|
6
|
+
import {isPermissionDenied} from '../../tapd_requests/index.js';
|
|
7
|
+
import {isTapd} from '../../tapd_requests/index.js';
|
|
8
|
+
import {rpcForwardAsAssetForward} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {AssetForward} from '../../tapd_responses/index.js';
|
|
10
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
11
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
12
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
13
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
14
|
+
|
|
15
|
+
const asSeconds = (n?: string) => (!n ? 0 : Math.floor(Date.parse(n) / 1e3));
|
|
16
|
+
const defaultLimit = 100;
|
|
17
|
+
const {from} = Buffer;
|
|
18
|
+
const groupKeyError = 'error parsing group key';
|
|
19
|
+
const {isArray} = Array;
|
|
20
|
+
const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
|
|
21
|
+
const isDate = (n: string) => Date.parse(n) > 0;
|
|
22
|
+
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
23
|
+
const isPublicKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
|
|
24
|
+
const {isSafeInteger} = Number;
|
|
25
|
+
const maxLimit = 2147483647;
|
|
26
|
+
const method = 'forwardingHistory';
|
|
27
|
+
const {parse} = JSON;
|
|
28
|
+
const {stringify} = JSON;
|
|
29
|
+
const type = 'rfq';
|
|
30
|
+
|
|
31
|
+
export type GetAssetForwardsArgs = AuthenticatedTapdArgs<{
|
|
32
|
+
/** Settled At Or After ISO 8601 Date String */
|
|
33
|
+
after?: string;
|
|
34
|
+
/** Asset Id Hex String */
|
|
35
|
+
asset_id?: string;
|
|
36
|
+
/** Settled At Or Before ISO 8601 Date String */
|
|
37
|
+
before?: string;
|
|
38
|
+
/** Asset Group Key Hex String */
|
|
39
|
+
group_key?: string;
|
|
40
|
+
/** Page Result Limit Number */
|
|
41
|
+
limit?: number;
|
|
42
|
+
/** Peer Public Key Hex String */
|
|
43
|
+
peer_public_key?: string;
|
|
44
|
+
/** Opaque Paging Token String */
|
|
45
|
+
token?: string;
|
|
46
|
+
}>;
|
|
47
|
+
|
|
48
|
+
export type GetAssetForwardsResult = {
|
|
49
|
+
forwards: AssetForward[];
|
|
50
|
+
/** Next Opaque Paging Token */
|
|
51
|
+
next?: string;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
type Tasks = {
|
|
55
|
+
getForwards: GetAssetForwardsResult;
|
|
56
|
+
validate: undefined;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/** Get the asset swaps that this edge node forwarded
|
|
60
|
+
|
|
61
|
+
Requires `rfq:read` permission
|
|
62
|
+
|
|
63
|
+
This method needs tapd v0.8.0 or later
|
|
64
|
+
|
|
65
|
+
Use the `next` token with the same filters to get the next page
|
|
66
|
+
|
|
67
|
+
A rate is a number of asset units per BTC, as an exact decimal string
|
|
68
|
+
|
|
69
|
+
{
|
|
70
|
+
[after]: <Settled At Or After ISO 8601 Date String>
|
|
71
|
+
[asset_id]: <Asset Id Hex String>
|
|
72
|
+
[before]: <Settled At Or Before ISO 8601 Date String>
|
|
73
|
+
[group_key]: <Asset Group Key Hex String>
|
|
74
|
+
[limit]: <Page Result Limit Number>
|
|
75
|
+
[peer_public_key]: <Peer Public Key Hex String>
|
|
76
|
+
tapd: <Authenticated tapd API Object>
|
|
77
|
+
[token]: <Opaque Paging Token String>
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@returns via cbk or Promise
|
|
81
|
+
{
|
|
82
|
+
forwards: [{
|
|
83
|
+
amount: <Swapped Asset Units Numeric String>
|
|
84
|
+
[asset_id]: <Asset Id Hex String>
|
|
85
|
+
[failed_at]: <Forward Failed At ISO 8601 Date String>
|
|
86
|
+
[group_key]: <Asset Group BIP340 Public Key Hex String>
|
|
87
|
+
htlc_index: <Incoming HTLC Index Numeric String>
|
|
88
|
+
incoming_channel: <Incoming Standard Format Channel Id String>
|
|
89
|
+
incoming_mtokens: <Received Millitokens String>
|
|
90
|
+
opened_at: <Forward Started At ISO 8601 Date String>
|
|
91
|
+
outgoing_channel: <Outgoing Standard Format Channel Id String>
|
|
92
|
+
outgoing_mtokens: <Sent Millitokens String>
|
|
93
|
+
[peer_public_key]: <Peer Public Key Hex String>
|
|
94
|
+
[rate]: <Rate Asset Units Per BTC Exact Decimal String>
|
|
95
|
+
rfq_id: <RFQ Session Id Hex String>
|
|
96
|
+
[settled_at]: <Forward Settled At ISO 8601 Date String>
|
|
97
|
+
type: <Edge Node Policy Type String> // purchase, sale
|
|
98
|
+
}]
|
|
99
|
+
[next]: <Next Opaque Paging Token String>
|
|
100
|
+
}
|
|
101
|
+
*/
|
|
102
|
+
const getAssetForwards: TapdMethod<
|
|
103
|
+
GetAssetForwardsArgs,
|
|
104
|
+
GetAssetForwardsResult
|
|
105
|
+
> = (
|
|
106
|
+
args: GetAssetForwardsArgs,
|
|
107
|
+
cbk?: TapdCallback<GetAssetForwardsResult>,
|
|
108
|
+
) => {
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
return asyncAuto<Tasks, TapdError>(
|
|
111
|
+
{
|
|
112
|
+
// Check arguments
|
|
113
|
+
validate: cbk => {
|
|
114
|
+
if (args.after !== undefined && !isDate(args.after)) {
|
|
115
|
+
return cbk([400, 'ExpectedValidAfterDateToGetAssetForwards']);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (!!args.asset_id && !!args.group_key) {
|
|
119
|
+
return cbk([400, 'UnexpectedAssetIdAndGroupKeyForAssetForwards']);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (!!args.asset_id && !isAssetId(args.asset_id)) {
|
|
123
|
+
return cbk([400, 'ExpectedAssetIdHexToGetAssetForwards']);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (args.before !== undefined && !isDate(args.before)) {
|
|
127
|
+
return cbk([400, 'ExpectedValidBeforeDateToGetAssetForwards']);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (!!args.group_key && !isPublicKey(args.group_key)) {
|
|
131
|
+
return cbk([400, 'ExpectedGroupKeyHexToGetAssetForwards']);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const {limit} = args;
|
|
135
|
+
|
|
136
|
+
if (limit !== undefined && !isSafeInteger(limit)) {
|
|
137
|
+
return cbk([400, 'ExpectedIntegerLimitToGetAssetForwards']);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (limit !== undefined && (limit < 1 || limit > maxLimit)) {
|
|
141
|
+
return cbk([400, 'ExpectedPositiveLimitToGetAssetForwards']);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (!!limit && !!args.token) {
|
|
145
|
+
return cbk([400, 'UnexpectedLimitWhenPagingAssetForwards']);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const peer = args.peer_public_key;
|
|
149
|
+
|
|
150
|
+
if (peer !== undefined && !isPublicKey(peer)) {
|
|
151
|
+
return cbk([400, 'ExpectedPeerPublicKeyToGetAssetForwards']);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
155
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToGetAssetForwards']);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return cbk();
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
// Get the forwards
|
|
162
|
+
getForwards: [
|
|
163
|
+
'validate',
|
|
164
|
+
({}, cbk) => {
|
|
165
|
+
let limit = args.limit || defaultLimit;
|
|
166
|
+
let offset = 0;
|
|
167
|
+
|
|
168
|
+
if (!!args.token) {
|
|
169
|
+
try {
|
|
170
|
+
const pagingToken = parse(args.token);
|
|
171
|
+
|
|
172
|
+
limit = pagingToken.limit;
|
|
173
|
+
offset = pagingToken.offset;
|
|
174
|
+
} catch (err) {
|
|
175
|
+
return cbk([400, 'ExpectedValidPagingTokenForForwards', {err}]);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (!isSafeInteger(limit) || limit < 1 || limit > maxLimit) {
|
|
179
|
+
return cbk([400, 'ExpectedValidPagingTokenForForwards']);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if (!isSafeInteger(offset) || offset < 0 || offset > maxLimit) {
|
|
183
|
+
return cbk([400, 'ExpectedValidPagingTokenForForwards']);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const hasAsset = !!args.asset_id || !!args.group_key;
|
|
188
|
+
|
|
189
|
+
const request = {
|
|
190
|
+
asset_specifier: !hasAsset
|
|
191
|
+
? undefined
|
|
192
|
+
: !!args.asset_id
|
|
193
|
+
? {asset_id: from(args.asset_id, 'hex')}
|
|
194
|
+
: {group_key: from(args.group_key || '', 'hex')},
|
|
195
|
+
limit,
|
|
196
|
+
max_timestamp: String(asSeconds(args.before)),
|
|
197
|
+
min_timestamp: String(asSeconds(args.after)),
|
|
198
|
+
offset,
|
|
199
|
+
peer: !!args.peer_public_key
|
|
200
|
+
? from(args.peer_public_key, 'hex')
|
|
201
|
+
: undefined,
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
205
|
+
if (isConnectionFailure({err})) {
|
|
206
|
+
return cbk([503, 'FailedToConnectToTapdToGetAssetForwards']);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (isPermissionDenied({err})) {
|
|
210
|
+
return cbk([403, 'PermissionDeniedToGetAssetForwards']);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (!!err && String(err.details).includes(groupKeyError)) {
|
|
214
|
+
return cbk([400, 'ExpectedValidGroupKeyToGetAssetForwards']);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (isMethodUnsupported({err})) {
|
|
218
|
+
return cbk([501, 'GetAssetForwardsMethodNotSupported']);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (!!err) {
|
|
222
|
+
return cbk([503, 'UnexpectedErrorGettingAssetForwards', {err}]);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
if (!res || !isArray(res.forwards)) {
|
|
226
|
+
return cbk([503, 'ExpectedForwardsInAssetForwardsResponse']);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
if (!isNumeric(res.total_count)) {
|
|
230
|
+
return cbk([503, 'ExpectedTotalCountInAssetForwardsResponse']);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
const forwards = res.forwards.map(rpcForwardAsAssetForward);
|
|
235
|
+
|
|
236
|
+
const end = offset + forwards.length;
|
|
237
|
+
|
|
238
|
+
const isLastPage =
|
|
239
|
+
!forwards.length || end >= Number(res.total_count);
|
|
240
|
+
|
|
241
|
+
return cbk(null, {
|
|
242
|
+
forwards,
|
|
243
|
+
next: isLastPage
|
|
244
|
+
? undefined
|
|
245
|
+
: stringify({limit, offset: end}),
|
|
246
|
+
});
|
|
247
|
+
} catch (err: any) {
|
|
248
|
+
return cbk([503, err.message]);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
},
|
|
254
|
+
returnResult({reject, resolve, of: 'getForwards'}, cbk),
|
|
255
|
+
);
|
|
256
|
+
});
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
export default getAssetForwards;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export {default as addAssetBuyOffer} from './add_asset_buy_offer.js';
|
|
2
|
+
export type {AddAssetBuyOfferArgs} from './add_asset_buy_offer.js';
|
|
3
|
+
export {default as addAssetBuyOrder} from './add_asset_buy_order.js';
|
|
4
|
+
export type {AddAssetBuyOrderArgs} from './add_asset_buy_order.js';
|
|
5
|
+
export type {AddAssetBuyOrderResult} from './add_asset_buy_order.js';
|
|
6
|
+
export {default as addAssetSellOffer} from './add_asset_sell_offer.js';
|
|
7
|
+
export type {AddAssetSellOfferArgs} from './add_asset_sell_offer.js';
|
|
8
|
+
export {default as addAssetSellOrder} from './add_asset_sell_order.js';
|
|
9
|
+
export type {AddAssetSellOrderArgs} from './add_asset_sell_order.js';
|
|
10
|
+
export type {AddAssetSellOrderResult} from './add_asset_sell_order.js';
|
|
11
|
+
export {default as getAcceptedQuotes} from './get_accepted_quotes.js';
|
|
12
|
+
export type {GetAcceptedQuotesArgs} from './get_accepted_quotes.js';
|
|
13
|
+
export type {GetAcceptedQuotesResult} from './get_accepted_quotes.js';
|
|
14
|
+
export {default as getAssetForwards} from './get_asset_forwards.js';
|
|
15
|
+
export type {GetAssetForwardsArgs} from './get_asset_forwards.js';
|
|
16
|
+
export type {GetAssetForwardsResult} from './get_asset_forwards.js';
|
|
17
|
+
export {default as subscribeToRfqEvents} from './subscribe_to_rfq_events.js';
|
|
18
|
+
export type {SubscribeToRfqEventsArgs} from './subscribe_to_rfq_events.js';
|