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
|
@@ -4,6 +4,8 @@ import {returnResult} from 'asyncjs-util';
|
|
|
4
4
|
import {isConnectionFailure} from '../../tapd_requests/index.js';
|
|
5
5
|
import {isPermissionDenied} from '../../tapd_requests/index.js';
|
|
6
6
|
import {isTapd} from '../../tapd_requests/index.js';
|
|
7
|
+
import {rpcAddrAsAddress} from '../../tapd_responses/index.js';
|
|
8
|
+
import type {Address} from '../../tapd_responses/index.js';
|
|
7
9
|
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
8
10
|
import type {TapdCallback} from '../../typescript/index.js';
|
|
9
11
|
import type {TapdError} from '../../typescript/index.js';
|
|
@@ -14,11 +16,8 @@ const addressVersions = [
|
|
|
14
16
|
'ADDR_VERSION_V1',
|
|
15
17
|
'ADDR_VERSION_V2',
|
|
16
18
|
];
|
|
17
|
-
const assetVersions = ['ASSET_VERSION_V0', 'ASSET_VERSION_V1'];
|
|
18
|
-
const bufferAsHex = (n: Buffer) => (!n.length ? undefined : n.toString('hex'));
|
|
19
19
|
const {from} = Buffer;
|
|
20
20
|
const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
|
|
21
|
-
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
22
21
|
const isHex = (n: string) => !!n && !(n.length % 2) && /^[0-9A-F]*$/i.test(n);
|
|
23
22
|
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
24
23
|
const method = 'newAddr';
|
|
@@ -39,32 +38,7 @@ export type CreateAssetAddressArgs = AuthenticatedTapdArgs<{
|
|
|
39
38
|
version?: number;
|
|
40
39
|
}>;
|
|
41
40
|
|
|
42
|
-
export type CreateAssetAddressResult =
|
|
43
|
-
/** Encoded Taproot Assets Address String */
|
|
44
|
-
address: string;
|
|
45
|
-
/** Asset Units To Receive Numeric String */
|
|
46
|
-
amount: string;
|
|
47
|
-
/** Asset Id Hex String */
|
|
48
|
-
asset_id?: string;
|
|
49
|
-
/** Asset Version Number */
|
|
50
|
-
asset_version: number;
|
|
51
|
-
/** Asset Group Key Hex String */
|
|
52
|
-
group_key?: string;
|
|
53
|
-
/** Internal Key Hex String */
|
|
54
|
-
internal_key: string;
|
|
55
|
-
/** Asset Is Collectible Bool */
|
|
56
|
-
is_collectible: boolean;
|
|
57
|
-
/** Proof Courier Address String */
|
|
58
|
-
proof_courier: string;
|
|
59
|
-
/** Script Key Hex String */
|
|
60
|
-
script_key: string;
|
|
61
|
-
/** Tapscript Sibling Preimage Hex String */
|
|
62
|
-
tapscript_sibling?: string;
|
|
63
|
-
/** Taproot Output Key Hex String */
|
|
64
|
-
taproot_output_key: string;
|
|
65
|
-
/** Address Version Number */
|
|
66
|
-
version: number;
|
|
67
|
-
};
|
|
41
|
+
export type CreateAssetAddressResult = Address;
|
|
68
42
|
|
|
69
43
|
type Tasks = {
|
|
70
44
|
createAddress: CreateAssetAddressResult;
|
|
@@ -188,50 +162,11 @@ const createAssetAddress: TapdMethod<
|
|
|
188
162
|
return cbk([503, 'ExpectedResponseForAssetAddressCreation']);
|
|
189
163
|
}
|
|
190
164
|
|
|
191
|
-
|
|
192
|
-
return cbk(
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
if (!isNumeric(res.amount)) {
|
|
196
|
-
return cbk([503, 'ExpectedAmountInAssetAddressResponse']);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
if (!isBuffer(res.asset_id) || !isBuffer(res.group_key)) {
|
|
200
|
-
return cbk([503, 'ExpectedAssetIdentityInAddressResponse']);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
if (!isBuffer(res.internal_key) || !isBuffer(res.script_key)) {
|
|
204
|
-
return cbk([503, 'ExpectedKeysInAssetAddressResponse']);
|
|
165
|
+
try {
|
|
166
|
+
return cbk(null, rpcAddrAsAddress(res));
|
|
167
|
+
} catch (err: any) {
|
|
168
|
+
return cbk([503, err.message]);
|
|
205
169
|
}
|
|
206
|
-
|
|
207
|
-
if (!isBuffer(res.taproot_output_key)) {
|
|
208
|
-
return cbk([503, 'ExpectedOutputKeyInAssetAddressResponse']);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
if (!isBuffer(res.tapscript_sibling)) {
|
|
212
|
-
return cbk([503, 'ExpectedTapscriptSiblingInAddressResponse']);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
const version = addressVersions.indexOf(res.address_version);
|
|
216
|
-
|
|
217
|
-
if (version === -1) {
|
|
218
|
-
return cbk([503, 'ExpectedKnownVersionInAddressResponse']);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
return cbk(null, {
|
|
222
|
-
version,
|
|
223
|
-
address: res.encoded,
|
|
224
|
-
amount: res.amount,
|
|
225
|
-
asset_id: bufferAsHex(res.asset_id),
|
|
226
|
-
asset_version: assetVersions.indexOf(res.asset_version),
|
|
227
|
-
group_key: bufferAsHex(res.group_key),
|
|
228
|
-
internal_key: res.internal_key.toString('hex'),
|
|
229
|
-
is_collectible: res.asset_type === 'COLLECTIBLE',
|
|
230
|
-
proof_courier: res.proof_courier_addr,
|
|
231
|
-
script_key: res.script_key.toString('hex'),
|
|
232
|
-
tapscript_sibling: bufferAsHex(res.tapscript_sibling),
|
|
233
|
-
taproot_output_key: res.taproot_output_key.toString('hex'),
|
|
234
|
-
});
|
|
235
170
|
});
|
|
236
171
|
},
|
|
237
172
|
],
|
|
@@ -0,0 +1,117 @@
|
|
|
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 {rpcAddrAsAddress} from '../../tapd_responses/index.js';
|
|
8
|
+
import type {Address} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
10
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
11
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
12
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
13
|
+
|
|
14
|
+
const invalidAddressError = 'unable to decode addr';
|
|
15
|
+
const method = 'decodeAddr';
|
|
16
|
+
const type = 'default';
|
|
17
|
+
|
|
18
|
+
export type DecodeAssetAddressArgs = AuthenticatedTapdArgs<{
|
|
19
|
+
/** Encoded Taproot Assets Address String */
|
|
20
|
+
address: string;
|
|
21
|
+
}>;
|
|
22
|
+
|
|
23
|
+
export type DecodeAssetAddressResult = Address;
|
|
24
|
+
|
|
25
|
+
type Tasks = {
|
|
26
|
+
decode: DecodeAssetAddressResult;
|
|
27
|
+
validate: undefined;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/** Decode a Taproot Assets address
|
|
31
|
+
|
|
32
|
+
Requires `addresses:read` permission
|
|
33
|
+
|
|
34
|
+
The address must be for the network of tapd
|
|
35
|
+
|
|
36
|
+
{
|
|
37
|
+
address: <Encoded Taproot Assets Address String>
|
|
38
|
+
tapd: <Authenticated tapd API Object>
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@returns via cbk or Promise
|
|
42
|
+
{
|
|
43
|
+
address: <Encoded Taproot Assets Address String>
|
|
44
|
+
amount: <Asset Units To Receive Numeric String>
|
|
45
|
+
[asset_id]: <Asset Id Hex String>
|
|
46
|
+
asset_version: <Asset Version Number>
|
|
47
|
+
[group_key]: <Asset Group Key Hex String>
|
|
48
|
+
internal_key: <Internal Key Hex String>
|
|
49
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
50
|
+
proof_courier: <Proof Courier Address String>
|
|
51
|
+
script_key: <Script Key Hex String>
|
|
52
|
+
[tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
|
|
53
|
+
taproot_output_key: <Taproot Output Key Hex String>
|
|
54
|
+
version: <Address Version Number>
|
|
55
|
+
}
|
|
56
|
+
*/
|
|
57
|
+
const decodeAssetAddress: TapdMethod<
|
|
58
|
+
DecodeAssetAddressArgs,
|
|
59
|
+
DecodeAssetAddressResult
|
|
60
|
+
> = (
|
|
61
|
+
args: DecodeAssetAddressArgs,
|
|
62
|
+
cbk?: TapdCallback<DecodeAssetAddressResult>,
|
|
63
|
+
) => {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
return asyncAuto<Tasks, TapdError>(
|
|
66
|
+
{
|
|
67
|
+
// Check arguments
|
|
68
|
+
validate: cbk => {
|
|
69
|
+
if (!args.address || typeof args.address !== 'string') {
|
|
70
|
+
return cbk([400, 'ExpectedAssetAddressToDecode']);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
74
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToDecodeAssetAddress']);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return cbk();
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
// Decode the address
|
|
81
|
+
decode: [
|
|
82
|
+
'validate',
|
|
83
|
+
({}, cbk) => {
|
|
84
|
+
const request = {addr: args.address};
|
|
85
|
+
|
|
86
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
87
|
+
if (isConnectionFailure({err})) {
|
|
88
|
+
return cbk([503, 'FailedToConnectToTapdToDecodeAssetAddress']);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (isPermissionDenied({err})) {
|
|
92
|
+
return cbk([403, 'PermissionDeniedToDecodeAssetAddress']);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (!!err && String(err.details).includes(invalidAddressError)) {
|
|
96
|
+
return cbk([400, 'ExpectedValidAssetAddressToDecode']);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (!!err) {
|
|
100
|
+
return cbk([503, 'UnexpectedErrorDecodingAssetAddress', {err}]);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
return cbk(null, rpcAddrAsAddress(res));
|
|
105
|
+
} catch (err: any) {
|
|
106
|
+
return cbk([503, err.message]);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
returnResult({reject, resolve, of: 'decode'}, cbk),
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export default decodeAssetAddress;
|
|
@@ -0,0 +1,212 @@
|
|
|
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 {rpcAddrAsAddress} from '../../tapd_responses/index.js';
|
|
8
|
+
import type {Address} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
10
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
11
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
12
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
13
|
+
|
|
14
|
+
const asSeconds = (n?: string) => (!n ? 0 : Math.floor(Date.parse(n) / 1e3));
|
|
15
|
+
const defaultLimit = 100;
|
|
16
|
+
const {isArray} = Array;
|
|
17
|
+
const isDate = (n: string) => Date.parse(n) > 0;
|
|
18
|
+
const {isSafeInteger} = Number;
|
|
19
|
+
const maxLimit = 2147483647;
|
|
20
|
+
const method = 'queryAddrs';
|
|
21
|
+
const {parse} = JSON;
|
|
22
|
+
const {stringify} = JSON;
|
|
23
|
+
const type = 'default';
|
|
24
|
+
|
|
25
|
+
export type GetAssetAddressesArgs = AuthenticatedTapdArgs<{
|
|
26
|
+
/** Created After ISO 8601 Date String */
|
|
27
|
+
created_after?: string;
|
|
28
|
+
/** Created Before ISO 8601 Date String */
|
|
29
|
+
created_before?: string;
|
|
30
|
+
/** Page Result Limit Number */
|
|
31
|
+
limit?: number;
|
|
32
|
+
/** Opaque Paging Token String */
|
|
33
|
+
token?: string;
|
|
34
|
+
}>;
|
|
35
|
+
|
|
36
|
+
export type GetAssetAddressesResult = {
|
|
37
|
+
addresses: Address[];
|
|
38
|
+
/** Next Opaque Paging Token */
|
|
39
|
+
next?: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
type Tasks = {
|
|
43
|
+
getAddresses: GetAssetAddressesResult;
|
|
44
|
+
validate: undefined;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/** Get the Taproot Assets addresses that this node created, oldest first
|
|
48
|
+
|
|
49
|
+
Requires `addresses:read` permission
|
|
50
|
+
|
|
51
|
+
Use the `next` token with the same filters to get the next page
|
|
52
|
+
|
|
53
|
+
{
|
|
54
|
+
[created_after]: <Created After ISO 8601 Date String>
|
|
55
|
+
[created_before]: <Created Before ISO 8601 Date String>
|
|
56
|
+
[limit]: <Page Result Limit Number>
|
|
57
|
+
tapd: <Authenticated tapd API Object>
|
|
58
|
+
[token]: <Opaque Paging Token String>
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@returns via cbk or Promise
|
|
62
|
+
{
|
|
63
|
+
addresses: [{
|
|
64
|
+
address: <Encoded Taproot Assets Address String>
|
|
65
|
+
amount: <Asset Units To Receive Numeric String>
|
|
66
|
+
[asset_id]: <Asset Id Hex String>
|
|
67
|
+
asset_version: <Asset Version Number>
|
|
68
|
+
[group_key]: <Asset Group Key Hex String>
|
|
69
|
+
internal_key: <Internal Key Hex String>
|
|
70
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
71
|
+
proof_courier: <Proof Courier Address String>
|
|
72
|
+
script_key: <Script Key Hex String>
|
|
73
|
+
[tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
|
|
74
|
+
taproot_output_key: <Taproot Output Key Hex String>
|
|
75
|
+
version: <Address Version Number>
|
|
76
|
+
}]
|
|
77
|
+
[next]: <Next Opaque Paging Token String>
|
|
78
|
+
}
|
|
79
|
+
*/
|
|
80
|
+
const getAssetAddresses: TapdMethod<
|
|
81
|
+
GetAssetAddressesArgs,
|
|
82
|
+
GetAssetAddressesResult
|
|
83
|
+
> = (
|
|
84
|
+
args: GetAssetAddressesArgs,
|
|
85
|
+
cbk?: TapdCallback<GetAssetAddressesResult>,
|
|
86
|
+
) => {
|
|
87
|
+
return new Promise((resolve, reject) => {
|
|
88
|
+
return asyncAuto<Tasks, TapdError>(
|
|
89
|
+
{
|
|
90
|
+
// Check arguments
|
|
91
|
+
validate: cbk => {
|
|
92
|
+
const after = args.created_after;
|
|
93
|
+
const before = args.created_before;
|
|
94
|
+
|
|
95
|
+
if (after !== undefined && !isDate(after)) {
|
|
96
|
+
return cbk([400, 'ExpectedValidCreatedAfterDateToGetAddresses']);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (before !== undefined && !isDate(before)) {
|
|
100
|
+
return cbk([400, 'ExpectedValidCreatedBeforeDateToGetAddresses']);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (args.limit !== undefined && !isSafeInteger(args.limit)) {
|
|
104
|
+
return cbk([400, 'ExpectedIntegerLimitToGetAssetAddresses']);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (args.limit !== undefined && args.limit < 1) {
|
|
108
|
+
return cbk([400, 'ExpectedPositiveLimitToGetAssetAddresses']);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (args.limit !== undefined && args.limit > maxLimit) {
|
|
112
|
+
return cbk([400, 'ExpectedSmallerLimitToGetAssetAddresses']);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (!!args.limit && !!args.token) {
|
|
116
|
+
return cbk([400, 'UnexpectedLimitWhenPagingAddressesWithToken']);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
120
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToGetAssetAddresses']);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return cbk();
|
|
124
|
+
},
|
|
125
|
+
|
|
126
|
+
// Get the addresses
|
|
127
|
+
getAddresses: [
|
|
128
|
+
'validate',
|
|
129
|
+
({}, cbk) => {
|
|
130
|
+
let limit = args.limit || defaultLimit;
|
|
131
|
+
let offset = 0;
|
|
132
|
+
|
|
133
|
+
// tapd reads the offset as a row offset in the results
|
|
134
|
+
if (!!args.token) {
|
|
135
|
+
try {
|
|
136
|
+
const pagingToken = parse(args.token);
|
|
137
|
+
|
|
138
|
+
limit = pagingToken.limit;
|
|
139
|
+
offset = pagingToken.offset;
|
|
140
|
+
} catch (err) {
|
|
141
|
+
return cbk([
|
|
142
|
+
400,
|
|
143
|
+
'ExpectedValidPagingTokenToGetAddresses',
|
|
144
|
+
{err},
|
|
145
|
+
]);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (!isSafeInteger(limit) || limit < 1 || limit > maxLimit) {
|
|
149
|
+
return cbk([400, 'ExpectedValidPagingTokenToGetAddresses']);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (!isSafeInteger(offset) || offset < 0 || offset > maxLimit) {
|
|
153
|
+
return cbk([400, 'ExpectedValidPagingTokenToGetAddresses']);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const request = {
|
|
158
|
+
created_after: asSeconds(args.created_after),
|
|
159
|
+
created_before: asSeconds(args.created_before),
|
|
160
|
+
limit,
|
|
161
|
+
offset,
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
165
|
+
if (isConnectionFailure({err})) {
|
|
166
|
+
return cbk([503, 'FailedToConnectToTapdToGetAssetAddresses']);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (isPermissionDenied({err})) {
|
|
170
|
+
return cbk([403, 'PermissionDeniedToGetAssetAddresses']);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
if (!!err) {
|
|
174
|
+
return cbk([
|
|
175
|
+
503,
|
|
176
|
+
'UnexpectedErrorGettingAssetAddresses',
|
|
177
|
+
{err},
|
|
178
|
+
]);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (!res || !isArray(res.addrs)) {
|
|
182
|
+
return cbk([
|
|
183
|
+
503,
|
|
184
|
+
'ExpectedArrayOfAddressesInAddressesResponse',
|
|
185
|
+
]);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
try {
|
|
189
|
+
const addresses = res.addrs.map(rpcAddrAsAddress);
|
|
190
|
+
|
|
191
|
+
// A full page means that there can be more results
|
|
192
|
+
const isFullPage = addresses.length === limit;
|
|
193
|
+
|
|
194
|
+
const next = stringify({limit, offset: offset + limit});
|
|
195
|
+
|
|
196
|
+
return cbk(null, {
|
|
197
|
+
addresses,
|
|
198
|
+
next: isFullPage ? next : undefined,
|
|
199
|
+
});
|
|
200
|
+
} catch (err: any) {
|
|
201
|
+
return cbk([503, err.message]);
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
returnResult({reject, resolve, of: 'getAddresses'}, cbk),
|
|
208
|
+
);
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
export default getAssetAddresses;
|
|
@@ -0,0 +1,265 @@
|
|
|
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 {receiveStatuses} from '../../tapd_responses/index.js';
|
|
8
|
+
import {rpcAddrEventAsReceive} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {Receive} 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 {entries} = Object;
|
|
18
|
+
const invalidAddressError = 'unable to decode addr';
|
|
19
|
+
const {isArray} = Array;
|
|
20
|
+
const isDate = (n: string) => Date.parse(n) > 0;
|
|
21
|
+
const {isSafeInteger} = Number;
|
|
22
|
+
const maxLimit = 16384;
|
|
23
|
+
const maxOffset = 2147483647;
|
|
24
|
+
const method = 'addrReceives';
|
|
25
|
+
const newestFirst = 'SORT_DIRECTION_DESC';
|
|
26
|
+
const noStatusFilter = 'ADDR_EVENT_STATUS_UNKNOWN';
|
|
27
|
+
const {parse} = JSON;
|
|
28
|
+
const {stringify} = JSON;
|
|
29
|
+
const type = 'default';
|
|
30
|
+
const unknownAssetError = 'unknown asset=';
|
|
31
|
+
|
|
32
|
+
// Address event statuses by receive status type
|
|
33
|
+
const statuses = Object.fromEntries(
|
|
34
|
+
entries(receiveStatuses)
|
|
35
|
+
.filter(([status]) => status !== noStatusFilter)
|
|
36
|
+
.map(([status, statusType]) => [statusType, status]),
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export type GetAssetReceivesArgs = AuthenticatedTapdArgs<{
|
|
40
|
+
/** Encoded Taproot Assets Address String */
|
|
41
|
+
address?: string;
|
|
42
|
+
/** Created After ISO 8601 Date String */
|
|
43
|
+
created_after?: string;
|
|
44
|
+
/** Created Before ISO 8601 Date String */
|
|
45
|
+
created_before?: string;
|
|
46
|
+
/** Page Result Limit Number */
|
|
47
|
+
limit?: number;
|
|
48
|
+
/** Receive Status String */
|
|
49
|
+
status?:
|
|
50
|
+
| 'completed'
|
|
51
|
+
| 'proof_received'
|
|
52
|
+
| 'transaction_confirmed'
|
|
53
|
+
| 'transaction_detected';
|
|
54
|
+
/** Opaque Paging Token String */
|
|
55
|
+
token?: string;
|
|
56
|
+
}>;
|
|
57
|
+
|
|
58
|
+
export type GetAssetReceivesResult = {
|
|
59
|
+
/** Next Opaque Paging Token */
|
|
60
|
+
next?: string;
|
|
61
|
+
receives: Receive[];
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
type Tasks = {
|
|
65
|
+
getReceives: GetAssetReceivesResult;
|
|
66
|
+
validate: undefined;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/** Get the inbound asset transfers to Taproot Assets addresses, newest first
|
|
70
|
+
|
|
71
|
+
Requires `addresses:read` permission
|
|
72
|
+
|
|
73
|
+
Use the `next` token with the same filters to get the next page
|
|
74
|
+
|
|
75
|
+
The maximum `limit` is 16384
|
|
76
|
+
|
|
77
|
+
{
|
|
78
|
+
[address]: <Encoded Taproot Assets Address String>
|
|
79
|
+
[created_after]: <Created After ISO 8601 Date String>
|
|
80
|
+
[created_before]: <Created Before ISO 8601 Date String>
|
|
81
|
+
[limit]: <Page Result Limit Number>
|
|
82
|
+
[status]: <Receive Status String>
|
|
83
|
+
tapd: <Authenticated tapd API Object>
|
|
84
|
+
[token]: <Opaque Paging Token String>
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@returns via cbk or Promise
|
|
88
|
+
{
|
|
89
|
+
[next]: <Next Opaque Paging Token String>
|
|
90
|
+
receives: [{
|
|
91
|
+
address: {
|
|
92
|
+
address: <Encoded Taproot Assets Address String>
|
|
93
|
+
amount: <Asset Units To Receive Numeric String>
|
|
94
|
+
[asset_id]: <Asset Id Hex String>
|
|
95
|
+
asset_version: <Asset Version Number>
|
|
96
|
+
[group_key]: <Asset Group Key Hex String>
|
|
97
|
+
internal_key: <Internal Key Hex String>
|
|
98
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
99
|
+
proof_courier: <Proof Courier Address String>
|
|
100
|
+
script_key: <Script Key Hex String>
|
|
101
|
+
[tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
|
|
102
|
+
taproot_output_key: <Taproot Output Key Hex String>
|
|
103
|
+
version: <Address Version Number>
|
|
104
|
+
}
|
|
105
|
+
[confirmation_height]: <Confirmation Block Height Number>
|
|
106
|
+
created_at: <Receive Detected At ISO 8601 Date String>
|
|
107
|
+
is_proof_available: <Proof File Is Available Bool>
|
|
108
|
+
status: <Receive Status String>
|
|
109
|
+
[tapscript_sibling]: <Tapscript Sibling Hash Hex String>
|
|
110
|
+
tokens: <Satoshis In the Anchor Output Number>
|
|
111
|
+
transaction_id: <Anchor Transaction Id Hex String>
|
|
112
|
+
transaction_vout: <Anchor Transaction Output Index Number>
|
|
113
|
+
}]
|
|
114
|
+
}
|
|
115
|
+
*/
|
|
116
|
+
const getAssetReceives: TapdMethod<
|
|
117
|
+
GetAssetReceivesArgs,
|
|
118
|
+
GetAssetReceivesResult
|
|
119
|
+
> = (
|
|
120
|
+
args: GetAssetReceivesArgs,
|
|
121
|
+
cbk?: TapdCallback<GetAssetReceivesResult>,
|
|
122
|
+
) => {
|
|
123
|
+
return new Promise((resolve, reject) => {
|
|
124
|
+
return asyncAuto<Tasks, TapdError>(
|
|
125
|
+
{
|
|
126
|
+
// Check arguments
|
|
127
|
+
validate: cbk => {
|
|
128
|
+
const after = args.created_after;
|
|
129
|
+
const before = args.created_before;
|
|
130
|
+
|
|
131
|
+
if (args.address !== undefined && typeof args.address !== 'string') {
|
|
132
|
+
return cbk([400, 'ExpectedAssetAddressStringToGetAssetReceives']);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (after !== undefined && !isDate(after)) {
|
|
136
|
+
return cbk([400, 'ExpectedValidCreatedAfterDateToGetReceives']);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (before !== undefined && !isDate(before)) {
|
|
140
|
+
return cbk([400, 'ExpectedValidCreatedBeforeDateToGetReceives']);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (args.limit !== undefined && !isSafeInteger(args.limit)) {
|
|
144
|
+
return cbk([400, 'ExpectedIntegerLimitToGetAssetReceives']);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (args.limit !== undefined && args.limit < 1) {
|
|
148
|
+
return cbk([400, 'ExpectedPositiveLimitToGetAssetReceives']);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (args.limit !== undefined && args.limit > maxLimit) {
|
|
152
|
+
return cbk([400, 'ExpectedSmallerLimitToGetAssetReceives']);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (!!args.limit && !!args.token) {
|
|
156
|
+
return cbk([400, 'UnexpectedLimitWhenPagingReceivesWithToken']);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (args.status !== undefined && !statuses[args.status]) {
|
|
160
|
+
return cbk([400, 'ExpectedKnownStatusToGetAssetReceives']);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
164
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToGetAssetReceives']);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return cbk();
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
// Get the receives
|
|
171
|
+
getReceives: [
|
|
172
|
+
'validate',
|
|
173
|
+
({}, cbk) => {
|
|
174
|
+
let limit = args.limit || defaultLimit;
|
|
175
|
+
let offset = 0;
|
|
176
|
+
|
|
177
|
+
// tapd reads the offset as a row offset in the results
|
|
178
|
+
if (!!args.token) {
|
|
179
|
+
try {
|
|
180
|
+
const pagingToken = parse(args.token);
|
|
181
|
+
|
|
182
|
+
limit = pagingToken.limit;
|
|
183
|
+
offset = pagingToken.offset;
|
|
184
|
+
} catch (err) {
|
|
185
|
+
return cbk([
|
|
186
|
+
400,
|
|
187
|
+
'ExpectedValidPagingTokenToGetReceives',
|
|
188
|
+
{err},
|
|
189
|
+
]);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (!isSafeInteger(limit) || limit < 1 || limit > maxLimit) {
|
|
193
|
+
return cbk([400, 'ExpectedValidPagingTokenToGetReceives']);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (!isSafeInteger(offset) || offset < 0 || offset > maxOffset) {
|
|
197
|
+
return cbk([400, 'ExpectedValidPagingTokenToGetReceives']);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
const request = {
|
|
202
|
+
direction: newestFirst,
|
|
203
|
+
end_timestamp: asSeconds(args.created_before),
|
|
204
|
+
filter_addr: args.address || '',
|
|
205
|
+
filter_status: !!args.status
|
|
206
|
+
? statuses[args.status]
|
|
207
|
+
: noStatusFilter,
|
|
208
|
+
limit,
|
|
209
|
+
offset,
|
|
210
|
+
start_timestamp: asSeconds(args.created_after),
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
214
|
+
if (isConnectionFailure({err})) {
|
|
215
|
+
return cbk([503, 'FailedToConnectToTapdToGetAssetReceives']);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (isPermissionDenied({err})) {
|
|
219
|
+
return cbk([403, 'PermissionDeniedToGetAssetReceives']);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (!!err && String(err.details).includes(invalidAddressError)) {
|
|
223
|
+
return cbk([400, 'ExpectedValidAssetAddressToGetReceives']);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (!!err && String(err.details).includes(unknownAssetError)) {
|
|
227
|
+
return cbk([404, 'AssetNotFound']);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (!!err) {
|
|
231
|
+
return cbk([503, 'UnexpectedErrorGettingAssetReceives', {err}]);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if (!res || !isArray(res.events)) {
|
|
235
|
+
return cbk([
|
|
236
|
+
503,
|
|
237
|
+
'ExpectedArrayOfEventsInAddrReceivesResponse',
|
|
238
|
+
]);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
try {
|
|
242
|
+
const receives = res.events.map(rpcAddrEventAsReceive);
|
|
243
|
+
|
|
244
|
+
// A full page means that there can be more results
|
|
245
|
+
const isFullPage = receives.length === limit;
|
|
246
|
+
|
|
247
|
+
const next = stringify({limit, offset: offset + limit});
|
|
248
|
+
|
|
249
|
+
return cbk(null, {
|
|
250
|
+
next: isFullPage ? next : undefined,
|
|
251
|
+
receives,
|
|
252
|
+
});
|
|
253
|
+
} catch (err: any) {
|
|
254
|
+
return cbk([503, err.message]);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
returnResult({reject, resolve, of: 'getReceives'}, cbk),
|
|
261
|
+
);
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
export default getAssetReceives;
|