tapass 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2792 -3
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/tapd_methods/address/create_asset_address.d.ts +2 -26
- package/dist/tapd_methods/address/create_asset_address.d.ts.map +1 -1
- package/dist/tapd_methods/address/create_asset_address.js +5 -37
- package/dist/tapd_methods/address/create_asset_address.js.map +1 -1
- package/dist/tapd_methods/address/decode_asset_address.d.ts +38 -0
- package/dist/tapd_methods/address/decode_asset_address.d.ts.map +1 -0
- package/dist/tapd_methods/address/decode_asset_address.js +81 -0
- package/dist/tapd_methods/address/decode_asset_address.js.map +1 -0
- package/dist/tapd_methods/address/get_asset_addresses.d.ts +54 -0
- package/dist/tapd_methods/address/get_asset_addresses.d.ts.map +1 -0
- package/dist/tapd_methods/address/get_asset_addresses.js +153 -0
- package/dist/tapd_methods/address/get_asset_addresses.js.map +1 -0
- package/dist/tapd_methods/address/get_asset_receives.d.ts +72 -0
- package/dist/tapd_methods/address/get_asset_receives.d.ts.map +1 -0
- package/dist/tapd_methods/address/get_asset_receives.js +191 -0
- package/dist/tapd_methods/address/get_asset_receives.js.map +1 -0
- package/dist/tapd_methods/address/index.d.ts +11 -0
- package/dist/tapd_methods/address/index.d.ts.map +1 -1
- package/dist/tapd_methods/address/index.js +4 -0
- package/dist/tapd_methods/address/index.js.map +1 -1
- package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts +53 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts.map +1 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.js +93 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_balances.d.ts +64 -0
- package/dist/tapd_methods/assets/get_asset_balances.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_balances.js +177 -0
- package/dist/tapd_methods/assets/get_asset_balances.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_burns.d.ts +40 -0
- package/dist/tapd_methods/assets/get_asset_burns.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_burns.js +92 -0
- package/dist/tapd_methods/assets/get_asset_burns.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_groups.d.ts +35 -0
- package/dist/tapd_methods/assets/get_asset_groups.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_groups.js +78 -0
- package/dist/tapd_methods/assets/get_asset_groups.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_metadata.d.ts +40 -0
- package/dist/tapd_methods/assets/get_asset_metadata.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_metadata.js +99 -0
- package/dist/tapd_methods/assets/get_asset_metadata.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_utxos.d.ts +83 -0
- package/dist/tapd_methods/assets/get_asset_utxos.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_utxos.js +135 -0
- package/dist/tapd_methods/assets/get_asset_utxos.js.map +1 -0
- package/dist/tapd_methods/assets/get_assets.d.ts +113 -0
- package/dist/tapd_methods/assets/get_assets.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_assets.js +243 -0
- package/dist/tapd_methods/assets/get_assets.js.map +1 -0
- package/dist/tapd_methods/assets/index.d.ts +19 -0
- package/dist/tapd_methods/assets/index.d.ts.map +1 -0
- package/dist/tapd_methods/assets/index.js +7 -0
- package/dist/tapd_methods/assets/index.js.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.d.ts +18 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.d.ts.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.js +59 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.js.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_request.d.ts +68 -0
- package/dist/tapd_methods/channels/asset_payment_request.d.ts.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_request.js +54 -0
- package/dist/tapd_methods/channels/asset_payment_request.js.map +1 -0
- package/dist/tapd_methods/channels/create_asset_invoice.d.ts +134 -0
- package/dist/tapd_methods/channels/create_asset_invoice.d.ts.map +1 -0
- package/dist/tapd_methods/channels/create_asset_invoice.js +264 -0
- package/dist/tapd_methods/channels/create_asset_invoice.js.map +1 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts +72 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts.map +1 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.js +143 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.js.map +1 -0
- package/dist/tapd_methods/channels/emit_asset_payment.d.ts +30 -0
- package/dist/tapd_methods/channels/emit_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/emit_asset_payment.js +59 -0
- package/dist/tapd_methods/channels/emit_asset_payment.js.map +1 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts +51 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts.map +1 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.js +127 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.js.map +1 -0
- package/dist/tapd_methods/channels/get_asset_invoices.d.ts +84 -0
- package/dist/tapd_methods/channels/get_asset_invoices.d.ts.map +1 -0
- package/dist/tapd_methods/channels/get_asset_invoices.js +193 -0
- package/dist/tapd_methods/channels/get_asset_invoices.js.map +1 -0
- package/dist/tapd_methods/channels/get_asset_payments.d.ts +69 -0
- package/dist/tapd_methods/channels/get_asset_payments.d.ts.map +1 -0
- package/dist/tapd_methods/channels/get_asset_payments.js +180 -0
- package/dist/tapd_methods/channels/get_asset_payments.js.map +1 -0
- package/dist/tapd_methods/channels/index.d.ts +31 -0
- package/dist/tapd_methods/channels/index.d.ts.map +1 -0
- package/dist/tapd_methods/channels/index.js +12 -0
- package/dist/tapd_methods/channels/index.js.map +1 -0
- package/dist/tapd_methods/channels/open_asset_channel.d.ts +53 -0
- package/dist/tapd_methods/channels/open_asset_channel.d.ts.map +1 -0
- package/dist/tapd_methods/channels/open_asset_channel.js +128 -0
- package/dist/tapd_methods/channels/open_asset_channel.js.map +1 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.d.ts +95 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.d.ts.map +1 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.js +132 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.js.map +1 -0
- package/dist/tapd_methods/channels/send_asset_keysend.d.ts +84 -0
- package/dist/tapd_methods/channels/send_asset_keysend.d.ts.map +1 -0
- package/dist/tapd_methods/channels/send_asset_keysend.js +144 -0
- package/dist/tapd_methods/channels/send_asset_keysend.js.map +1 -0
- package/dist/tapd_methods/channels/send_asset_payment.d.ts +33 -0
- package/dist/tapd_methods/channels/send_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/send_asset_payment.js +114 -0
- package/dist/tapd_methods/channels/send_asset_payment.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts +51 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js +104 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts +59 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.js +104 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts +62 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js +106 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js.map +1 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts +45 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.js +99 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.js.map +1 -0
- package/dist/tapd_methods/daemon/index.d.ts +8 -0
- package/dist/tapd_methods/daemon/index.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/index.js +4 -0
- package/dist/tapd_methods/daemon/index.js.map +1 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts +23 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.js +60 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.js.map +1 -0
- package/dist/tapd_methods/daemon/stop_tapd.d.ts +16 -0
- package/dist/tapd_methods/daemon/stop_tapd.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/stop_tapd.js +50 -0
- package/dist/tapd_methods/daemon/stop_tapd.js.map +1 -0
- package/dist/tapd_methods/index.d.ts +8 -0
- package/dist/tapd_methods/index.d.ts.map +1 -1
- package/dist/tapd_methods/index.js +8 -0
- package/dist/tapd_methods/index.js.map +1 -1
- package/dist/tapd_methods/info/get_tapd_info.d.ts +44 -0
- package/dist/tapd_methods/info/get_tapd_info.d.ts.map +1 -0
- package/dist/tapd_methods/info/get_tapd_info.js +80 -0
- package/dist/tapd_methods/info/get_tapd_info.js.map +1 -0
- package/dist/tapd_methods/info/index.d.ts +4 -0
- package/dist/tapd_methods/info/index.d.ts.map +1 -0
- package/dist/tapd_methods/info/index.js +2 -0
- package/dist/tapd_methods/info/index.js.map +1 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts +124 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.js +283 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.d.ts +23 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.js +62 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.d.ts +64 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.js +130 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/fund_mint_batch.d.ts +82 -0
- package/dist/tapd_methods/mint/fund_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/fund_mint_batch.js +145 -0
- package/dist/tapd_methods/mint/fund_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/get_mint_batches.d.ts +72 -0
- package/dist/tapd_methods/mint/get_mint_batches.d.ts.map +1 -0
- package/dist/tapd_methods/mint/get_mint_batches.js +123 -0
- package/dist/tapd_methods/mint/get_mint_batches.js.map +1 -0
- package/dist/tapd_methods/mint/index.d.ts +21 -0
- package/dist/tapd_methods/mint/index.d.ts.map +1 -0
- package/dist/tapd_methods/mint/index.js +8 -0
- package/dist/tapd_methods/mint/index.js.map +1 -0
- package/dist/tapd_methods/mint/seal_mint_batch.d.ts +64 -0
- package/dist/tapd_methods/mint/seal_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/seal_mint_batch.js +135 -0
- package/dist/tapd_methods/mint/seal_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts +52 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts.map +1 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.js +91 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.js.map +1 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.d.ts +61 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.js +129 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.js.map +1 -0
- package/dist/tapd_methods/proofs/export_asset_proof.d.ts +39 -0
- package/dist/tapd_methods/proofs/export_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/export_asset_proof.js +113 -0
- package/dist/tapd_methods/proofs/export_asset_proof.js.map +1 -0
- package/dist/tapd_methods/proofs/index.d.ts +13 -0
- package/dist/tapd_methods/proofs/index.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/index.js +5 -0
- package/dist/tapd_methods/proofs/index.js.map +1 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts +29 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.js +85 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.js.map +1 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.d.ts +58 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.js +110 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts +31 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.js +88 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts +79 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.js +200 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts +30 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.js +87 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts +79 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.js +200 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.js.map +1 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts +52 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.js +100 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.js.map +1 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.d.ts +70 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.js +185 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.js.map +1 -0
- package/dist/tapd_methods/rfq/index.d.ts +19 -0
- package/dist/tapd_methods/rfq/index.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/index.js +8 -0
- package/dist/tapd_methods/rfq/index.js.map +1 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts +68 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js +107 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js.map +1 -0
- package/dist/tapd_methods/send/burn_asset.d.ts +135 -0
- package/dist/tapd_methods/send/burn_asset.d.ts.map +1 -0
- package/dist/tapd_methods/send/burn_asset.js +220 -0
- package/dist/tapd_methods/send/burn_asset.js.map +1 -0
- package/dist/tapd_methods/send/get_asset_transfers.d.ts +73 -0
- package/dist/tapd_methods/send/get_asset_transfers.d.ts.map +1 -0
- package/dist/tapd_methods/send/get_asset_transfers.js +122 -0
- package/dist/tapd_methods/send/get_asset_transfers.js.map +1 -0
- package/dist/tapd_methods/send/index.d.ts +15 -0
- package/dist/tapd_methods/send/index.d.ts.map +1 -0
- package/dist/tapd_methods/send/index.js +6 -0
- package/dist/tapd_methods/send/index.js.map +1 -0
- package/dist/tapd_methods/send/register_asset_transfer.d.ts +77 -0
- package/dist/tapd_methods/send/register_asset_transfer.d.ts.map +1 -0
- package/dist/tapd_methods/send/register_asset_transfer.js +165 -0
- package/dist/tapd_methods/send/register_asset_transfer.js.map +1 -0
- package/dist/tapd_methods/send/send_asset.d.ts +94 -0
- package/dist/tapd_methods/send/send_asset.d.ts.map +1 -0
- package/dist/tapd_methods/send/send_asset.js +169 -0
- package/dist/tapd_methods/send/send_asset.js.map +1 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts +117 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts.map +1 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.js +159 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.js.map +1 -0
- package/dist/tapd_requests/decimal_as_fixed_point.d.ts +23 -0
- package/dist/tapd_requests/decimal_as_fixed_point.d.ts.map +1 -0
- package/dist/tapd_requests/decimal_as_fixed_point.js +31 -0
- package/dist/tapd_requests/decimal_as_fixed_point.js.map +1 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts +13 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts.map +1 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js +21 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js.map +1 -0
- package/dist/tapd_requests/index.d.ts +5 -0
- package/dist/tapd_requests/index.d.ts.map +1 -1
- package/dist/tapd_requests/index.js +5 -0
- package/dist/tapd_requests/index.js.map +1 -1
- package/dist/tapd_requests/is_method_unsupported.d.ts +24 -0
- package/dist/tapd_requests/is_method_unsupported.d.ts.map +1 -0
- package/dist/tapd_requests/is_method_unsupported.js +27 -0
- package/dist/tapd_requests/is_method_unsupported.js.map +1 -0
- package/dist/tapd_requests/mint_funding_request.d.ts +53 -0
- package/dist/tapd_requests/mint_funding_request.d.ts.map +1 -0
- package/dist/tapd_requests/mint_funding_request.js +48 -0
- package/dist/tapd_requests/mint_funding_request.js.map +1 -0
- package/dist/tapd_requests/script_key_type_query.d.ts +26 -0
- package/dist/tapd_requests/script_key_type_query.d.ts.map +1 -0
- package/dist/tapd_requests/script_key_type_query.js +41 -0
- package/dist/tapd_requests/script_key_type_query.js.map +1 -0
- package/dist/tapd_responses/asset_channel_rpc_error.d.ts +19 -0
- package/dist/tapd_responses/asset_channel_rpc_error.d.ts.map +1 -0
- package/dist/tapd_responses/asset_channel_rpc_error.js +69 -0
- package/dist/tapd_responses/asset_channel_rpc_error.js.map +1 -0
- package/dist/tapd_responses/batch_states.d.ts +4 -0
- package/dist/tapd_responses/batch_states.d.ts.map +1 -0
- package/dist/tapd_responses/batch_states.js +13 -0
- package/dist/tapd_responses/batch_states.js.map +1 -0
- package/dist/tapd_responses/fixed_point_as_decimal.d.ts +25 -0
- package/dist/tapd_responses/fixed_point_as_decimal.d.ts.map +1 -0
- package/dist/tapd_responses/fixed_point_as_decimal.js +39 -0
- package/dist/tapd_responses/fixed_point_as_decimal.js.map +1 -0
- package/dist/tapd_responses/index.d.ts +76 -0
- package/dist/tapd_responses/index.d.ts.map +1 -0
- package/dist/tapd_responses/index.js +30 -0
- package/dist/tapd_responses/index.js.map +1 -0
- package/dist/tapd_responses/long_key_as_number.d.ts +16 -0
- package/dist/tapd_responses/long_key_as_number.d.ts.map +1 -0
- package/dist/tapd_responses/long_key_as_number.js +28 -0
- package/dist/tapd_responses/long_key_as_number.js.map +1 -0
- package/dist/tapd_responses/mint_rpc_error.d.ts +19 -0
- package/dist/tapd_responses/mint_rpc_error.d.ts.map +1 -0
- package/dist/tapd_responses/mint_rpc_error.js +35 -0
- package/dist/tapd_responses/mint_rpc_error.js.map +1 -0
- package/dist/tapd_responses/outpoint_as_transaction.d.ts +19 -0
- package/dist/tapd_responses/outpoint_as_transaction.d.ts.map +1 -0
- package/dist/tapd_responses/outpoint_as_transaction.js +23 -0
- package/dist/tapd_responses/outpoint_as_transaction.js.map +1 -0
- package/dist/tapd_responses/receive_statuses.d.ts +4 -0
- package/dist/tapd_responses/receive_statuses.d.ts.map +1 -0
- package/dist/tapd_responses/receive_statuses.js +9 -0
- package/dist/tapd_responses/receive_statuses.js.map +1 -0
- package/dist/tapd_responses/rpc_addr_as_address.d.ts +79 -0
- package/dist/tapd_responses/rpc_addr_as_address.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_addr_as_address.js +87 -0
- package/dist/tapd_responses/rpc_addr_as_address.js.map +1 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts +63 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.js +64 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts +34 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.js +38 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_as_asset.d.ts +204 -0
- package/dist/tapd_responses/rpc_asset_as_asset.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_as_asset.js +174 -0
- package/dist/tapd_responses/rpc_asset_as_asset.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts +53 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.js +53 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts +51 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.js +54 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts +39 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js +45 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts +68 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.js +70 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts +76 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.js +73 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts +39 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.js +45 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.js.map +1 -0
- package/dist/tapd_responses/rpc_batch_as_batch.d.ts +158 -0
- package/dist/tapd_responses/rpc_batch_as_batch.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_batch_as_batch.js +181 -0
- package/dist/tapd_responses/rpc_batch_as_batch.js.map +1 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts +83 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.js +85 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.js.map +1 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts +161 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.js +138 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.js.map +1 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts +100 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.js +101 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.js.map +1 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts +76 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.js +71 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.js.map +1 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts +63 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js +65 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js.map +1 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts +53 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.js +52 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.js.map +1 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts +70 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.js +89 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.js.map +1 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts +80 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.js +85 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.js.map +1 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts +124 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.js +161 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.js.map +1 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts +241 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.js +212 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.js.map +1 -0
- package/dist/tapd_responses/short_channel_id_as_channel.d.ts +13 -0
- package/dist/tapd_responses/short_channel_id_as_channel.d.ts.map +1 -0
- package/dist/tapd_responses/short_channel_id_as_channel.js +26 -0
- package/dist/tapd_responses/short_channel_id_as_channel.js.map +1 -0
- package/package.json +7 -2
- package/src/index.ts +21 -0
- package/src/tapd_methods/address/create_asset_address.ts +7 -72
- package/src/tapd_methods/address/decode_asset_address.ts +117 -0
- package/src/tapd_methods/address/get_asset_addresses.ts +212 -0
- package/src/tapd_methods/address/get_asset_receives.ts +265 -0
- package/src/tapd_methods/address/index.ts +11 -0
- package/src/tapd_methods/address/subscribe_to_asset_receives.ts +114 -0
- package/src/tapd_methods/assets/get_asset_balances.ts +249 -0
- package/src/tapd_methods/assets/get_asset_burns.ts +133 -0
- package/src/tapd_methods/assets/get_asset_groups.ts +109 -0
- package/src/tapd_methods/assets/get_asset_metadata.ts +141 -0
- package/src/tapd_methods/assets/get_asset_utxos.ts +175 -0
- package/src/tapd_methods/assets/get_assets.ts +327 -0
- package/src/tapd_methods/assets/index.ts +18 -0
- package/src/tapd_methods/channels/asset_payment_args_error.ts +83 -0
- package/src/tapd_methods/channels/asset_payment_request.ts +76 -0
- package/src/tapd_methods/channels/create_asset_invoice.ts +387 -0
- package/src/tapd_methods/channels/decode_asset_payment_request.ts +192 -0
- package/src/tapd_methods/channels/emit_asset_payment.ts +78 -0
- package/src/tapd_methods/channels/encode_asset_custom_records.ts +187 -0
- package/src/tapd_methods/channels/get_asset_invoices.ts +258 -0
- package/src/tapd_methods/channels/get_asset_payments.ts +243 -0
- package/src/tapd_methods/channels/index.ts +30 -0
- package/src/tapd_methods/channels/open_asset_channel.ts +193 -0
- package/src/tapd_methods/channels/pay_asset_invoice.ts +171 -0
- package/src/tapd_methods/channels/send_asset_keysend.ts +196 -0
- package/src/tapd_methods/channels/send_asset_payment.ts +158 -0
- package/src/tapd_methods/channels/subscribe_to_asset_invoices.ts +134 -0
- package/src/tapd_methods/channels/subscribe_to_asset_payments.ts +126 -0
- package/src/tapd_methods/channels/subscribe_to_past_asset_payment.ts +132 -0
- package/src/tapd_methods/daemon/create_tapd_macaroon.ts +153 -0
- package/src/tapd_methods/daemon/index.ts +7 -0
- package/src/tapd_methods/daemon/set_tapd_debug_level.ts +90 -0
- package/src/tapd_methods/daemon/stop_tapd.ts +75 -0
- package/src/tapd_methods/index.ts +8 -0
- package/src/tapd_methods/info/get_tapd_info.ts +129 -0
- package/src/tapd_methods/info/index.ts +3 -0
- package/src/tapd_methods/mint/add_asset_to_mint_batch.ts +396 -0
- package/src/tapd_methods/mint/cancel_mint_batch.ts +95 -0
- package/src/tapd_methods/mint/finalize_mint_batch.ts +181 -0
- package/src/tapd_methods/mint/fund_mint_batch.ts +193 -0
- package/src/tapd_methods/mint/get_mint_batches.ts +162 -0
- package/src/tapd_methods/mint/index.ts +20 -0
- package/src/tapd_methods/mint/seal_mint_batch.ts +184 -0
- package/src/tapd_methods/mint/subscribe_to_mint_events.ts +104 -0
- package/src/tapd_methods/proofs/decode_asset_proof.ts +175 -0
- package/src/tapd_methods/proofs/export_asset_proof.ts +169 -0
- package/src/tapd_methods/proofs/index.ts +12 -0
- package/src/tapd_methods/proofs/unpack_asset_proof_file.ts +126 -0
- package/src/tapd_methods/proofs/verify_asset_proof.ts +156 -0
- package/src/tapd_methods/rfq/add_asset_buy_offer.ts +127 -0
- package/src/tapd_methods/rfq/add_asset_buy_order.ts +279 -0
- package/src/tapd_methods/rfq/add_asset_sell_offer.ts +126 -0
- package/src/tapd_methods/rfq/add_asset_sell_order.ts +279 -0
- package/src/tapd_methods/rfq/get_accepted_quotes.ts +137 -0
- package/src/tapd_methods/rfq/get_asset_forwards.ts +259 -0
- package/src/tapd_methods/rfq/index.ts +18 -0
- package/src/tapd_methods/rfq/subscribe_to_rfq_events.ts +130 -0
- package/src/tapd_methods/send/burn_asset.ts +280 -0
- package/src/tapd_methods/send/get_asset_transfers.ts +161 -0
- package/src/tapd_methods/send/index.ts +14 -0
- package/src/tapd_methods/send/register_asset_transfer.ts +219 -0
- package/src/tapd_methods/send/send_asset.ts +223 -0
- package/src/tapd_methods/send/subscribe_to_asset_sends.ts +181 -0
- package/src/tapd_requests/decimal_as_fixed_point.ts +36 -0
- package/src/tapd_requests/fee_rate_as_tokens_per_kw.ts +23 -0
- package/src/tapd_requests/index.ts +5 -0
- package/src/tapd_requests/is_method_unsupported.ts +33 -0
- package/src/tapd_requests/mint_funding_request.ts +57 -0
- package/src/tapd_requests/script_key_type_query.ts +44 -0
- package/src/tapd_responses/asset_channel_rpc_error.ts +73 -0
- package/src/tapd_responses/batch_states.ts +12 -0
- package/src/tapd_responses/fixed_point_as_decimal.ts +51 -0
- package/src/tapd_responses/index.ts +75 -0
- package/src/tapd_responses/long_key_as_number.ts +31 -0
- package/src/tapd_responses/mint_rpc_error.ts +39 -0
- package/src/tapd_responses/outpoint_as_transaction.ts +25 -0
- package/src/tapd_responses/receive_statuses.ts +8 -0
- package/src/tapd_responses/rpc_addr_as_address.ts +138 -0
- package/src/tapd_responses/rpc_addr_event_as_receive.ts +103 -0
- package/src/tapd_responses/rpc_asset_amount_as_amount.ts +57 -0
- package/src/tapd_responses/rpc_asset_as_asset.ts +299 -0
- package/src/tapd_responses/rpc_asset_balance_as_balance.ts +85 -0
- package/src/tapd_responses/rpc_asset_burn_as_burn.ts +85 -0
- package/src/tapd_responses/rpc_asset_invoice_as_invoice.ts +62 -0
- package/src/tapd_responses/rpc_asset_meta_as_metadata.ts +113 -0
- package/src/tapd_responses/rpc_asset_pay_req_as_request.ts +114 -0
- package/src/tapd_responses/rpc_asset_payment_as_payment.ts +62 -0
- package/src/tapd_responses/rpc_batch_as_batch.ts +281 -0
- package/src/tapd_responses/rpc_buy_quote_as_quote.ts +139 -0
- package/src/tapd_responses/rpc_decoded_proof_as_proof.ts +229 -0
- package/src/tapd_responses/rpc_forward_as_asset_forward.ts +164 -0
- package/src/tapd_responses/rpc_grouped_assets_as_group.ts +117 -0
- package/src/tapd_responses/rpc_managed_utxo_as_utxo.ts +105 -0
- package/src/tapd_responses/rpc_receive_event_as_receive_update.ts +84 -0
- package/src/tapd_responses/rpc_rfq_event_as_event.ts +123 -0
- package/src/tapd_responses/rpc_sell_quote_as_quote.ts +136 -0
- package/src/tapd_responses/rpc_send_event_as_send_event.ts +245 -0
- package/src/tapd_responses/rpc_transfer_as_transfer.ts +366 -0
- package/src/tapd_responses/short_channel_id_as_channel.ts +30 -0
- package/src/typescript/invoices.d.ts +30 -0
- package/src/typescript/lightning_lnd_responses.d.ts +44 -0
|
@@ -0,0 +1,175 @@
|
|
|
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 {rpcDecodedProofAsProof} from '../../tapd_responses/index.js';
|
|
8
|
+
import type {Proof} 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 invalidDepthError = 'invalid depth';
|
|
15
|
+
const invalidProofErrors = [
|
|
16
|
+
'could not identify decoding format',
|
|
17
|
+
'invalid proof file',
|
|
18
|
+
'unable to decode proof',
|
|
19
|
+
];
|
|
20
|
+
const isHex = (n: string) => !!n && !(n.length % 2) && /^[0-9A-F]*$/i.test(n);
|
|
21
|
+
const {isSafeInteger} = Number;
|
|
22
|
+
const maxDepth = 4294967295;
|
|
23
|
+
const method = 'decodeProof';
|
|
24
|
+
const type = 'default';
|
|
25
|
+
|
|
26
|
+
export type DecodeAssetProofArgs = AuthenticatedTapdArgs<{
|
|
27
|
+
/** Proof Depth From the Last Proof In the File Number */
|
|
28
|
+
depth?: number;
|
|
29
|
+
/** Include the Asset Metadata */
|
|
30
|
+
is_including_meta?: boolean;
|
|
31
|
+
/** Asset Proof or Proof File Hex String */
|
|
32
|
+
proof: string;
|
|
33
|
+
}>;
|
|
34
|
+
|
|
35
|
+
export type DecodeAssetProofResult = Proof;
|
|
36
|
+
|
|
37
|
+
type Tasks = {
|
|
38
|
+
decode: DecodeAssetProofResult;
|
|
39
|
+
validate: undefined;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/** Decode an asset proof or one proof in an asset proof file
|
|
43
|
+
|
|
44
|
+
Requires `proofs:read` permission
|
|
45
|
+
|
|
46
|
+
For a proof file, `depth` selects the proof: 0 is the last proof
|
|
47
|
+
|
|
48
|
+
{
|
|
49
|
+
[depth]: <Proof Depth From the Last Proof In the File Number>
|
|
50
|
+
[is_including_meta]: <Include the Asset Metadata Bool>
|
|
51
|
+
proof: <Asset Proof or Proof File Hex String>
|
|
52
|
+
tapd: <Authenticated tapd API Object>
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@returns via cbk or Promise
|
|
56
|
+
{
|
|
57
|
+
additional_inputs_count: <Additional Inputs Count Number>
|
|
58
|
+
[alt_leaves]: <Alternative Leaves Hex String>
|
|
59
|
+
asset: <Asset Object>
|
|
60
|
+
challenge_witness: [<Challenge Witness Element Hex String>]
|
|
61
|
+
depth: <Proof Depth From the Last Proof In the File Number>
|
|
62
|
+
exclusion_proofs: [<Exclusion Proof Hex String>]
|
|
63
|
+
[genesis]: {
|
|
64
|
+
asset_id: <Asset Id Hex String>
|
|
65
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
66
|
+
meta_hash: <Asset Metadata Hash Hex String>
|
|
67
|
+
name: <Asset Name String>
|
|
68
|
+
output_index: <Genesis Commitment Output Index Number>
|
|
69
|
+
transaction_id: <Genesis Point Transaction Id Hex String>
|
|
70
|
+
transaction_vout: <Genesis Point Transaction Output Index Number>
|
|
71
|
+
}
|
|
72
|
+
[group_key]: {
|
|
73
|
+
raw_key: <Raw Group Key Hex String>
|
|
74
|
+
[tapscript_root]: <Group Tapscript Root Hex String>
|
|
75
|
+
}
|
|
76
|
+
inclusion_proof: <Inclusion Proof Hex String>
|
|
77
|
+
is_burn: <Proof Is For a Burn Bool>
|
|
78
|
+
[meta]: {
|
|
79
|
+
data: <Metadata Hex String>
|
|
80
|
+
hash: <Metadata Hash Hex String>
|
|
81
|
+
type: <Metadata Type String>
|
|
82
|
+
}
|
|
83
|
+
proofs_count: <Proofs In the File Count Number>
|
|
84
|
+
[split_root_proof]: <Split Root Proof Hex String>
|
|
85
|
+
transaction_merkle_proof: <Transaction Merkle Proof Hex String>
|
|
86
|
+
}
|
|
87
|
+
*/
|
|
88
|
+
const decodeAssetProof: TapdMethod<
|
|
89
|
+
DecodeAssetProofArgs,
|
|
90
|
+
DecodeAssetProofResult
|
|
91
|
+
> = (
|
|
92
|
+
args: DecodeAssetProofArgs,
|
|
93
|
+
cbk?: TapdCallback<DecodeAssetProofResult>,
|
|
94
|
+
) => {
|
|
95
|
+
return new Promise((resolve, reject) => {
|
|
96
|
+
return asyncAuto<Tasks, TapdError>(
|
|
97
|
+
{
|
|
98
|
+
// Check arguments
|
|
99
|
+
validate: cbk => {
|
|
100
|
+
if (args.depth !== undefined && !isSafeInteger(args.depth)) {
|
|
101
|
+
return cbk([400, 'ExpectedIntegerDepthToDecodeAssetProof']);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (args.depth !== undefined && args.depth < 0) {
|
|
105
|
+
return cbk([400, 'ExpectedNonNegativeDepthToDecodeAssetProof']);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (args.depth !== undefined && args.depth > maxDepth) {
|
|
109
|
+
return cbk([400, 'ExpectedSmallerDepthToDecodeAssetProof']);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!args.proof || !isHex(args.proof)) {
|
|
113
|
+
return cbk([400, 'ExpectedHexAssetProofToDecode']);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
117
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToDecodeAssetProof']);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return cbk();
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
// Decode the proof
|
|
124
|
+
decode: [
|
|
125
|
+
'validate',
|
|
126
|
+
({}, cbk) => {
|
|
127
|
+
const request = {
|
|
128
|
+
proof_at_depth: args.depth || 0,
|
|
129
|
+
raw_proof: Buffer.from(args.proof, 'hex'),
|
|
130
|
+
with_meta_reveal: !!args.is_including_meta,
|
|
131
|
+
with_prev_witnesses: false,
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
135
|
+
if (isConnectionFailure({err})) {
|
|
136
|
+
return cbk([503, 'FailedToConnectToTapdToDecodeAssetProof']);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (isPermissionDenied({err})) {
|
|
140
|
+
return cbk([403, 'PermissionDeniedToDecodeAssetProof']);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const details = String(err?.details);
|
|
144
|
+
|
|
145
|
+
if (!!err && details.includes(invalidDepthError)) {
|
|
146
|
+
return cbk([400, 'ExpectedDepthInProofFileToDecodeAssetProof']);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (!!err && invalidProofErrors.some(n => details.includes(n))) {
|
|
150
|
+
return cbk([400, 'ExpectedValidAssetProofToDecode']);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (!!err) {
|
|
154
|
+
return cbk([503, 'UnexpectedErrorDecodingAssetProof', {err}]);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (!res) {
|
|
158
|
+
return cbk([503, 'ExpectedResponseToDecodeAssetProofRequest']);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
return cbk(null, rpcDecodedProofAsProof(res.decoded_proof));
|
|
163
|
+
} catch (err: any) {
|
|
164
|
+
return cbk([503, err.message]);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
returnResult({reject, resolve, of: 'decode'}, cbk),
|
|
171
|
+
);
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export default decodeAssetProof;
|
|
@@ -0,0 +1,169 @@
|
|
|
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 type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
8
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
9
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
10
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
11
|
+
|
|
12
|
+
const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
|
|
13
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
14
|
+
const isScriptKey = (n: string) => /^([0-9A-F]{2})?[0-9A-F]{64}$/i.test(n);
|
|
15
|
+
const {isSafeInteger} = Number;
|
|
16
|
+
const isTransactionId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
|
|
17
|
+
const maxVout = 4294967295;
|
|
18
|
+
const method = 'exportProof';
|
|
19
|
+
const multipleProofsError = 'multiple proofs found';
|
|
20
|
+
const notFoundError = 'unable to find proof';
|
|
21
|
+
const type = 'default';
|
|
22
|
+
|
|
23
|
+
export type ExportAssetProofArgs = AuthenticatedTapdArgs<{
|
|
24
|
+
/** Asset Id Hex String */
|
|
25
|
+
asset_id: string;
|
|
26
|
+
/** Script Key Hex String */
|
|
27
|
+
script_key: string;
|
|
28
|
+
/** Anchor Transaction Id Hex String */
|
|
29
|
+
transaction_id?: string;
|
|
30
|
+
/** Anchor Transaction Output Index Number */
|
|
31
|
+
transaction_vout?: number;
|
|
32
|
+
}>;
|
|
33
|
+
|
|
34
|
+
export type ExportAssetProofResult = {
|
|
35
|
+
/** Asset Proof File Hex */
|
|
36
|
+
proof: string;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
type Tasks = {
|
|
40
|
+
export: ExportAssetProofResult;
|
|
41
|
+
validate: undefined;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/** Export the proof file of an asset
|
|
45
|
+
|
|
46
|
+
Requires `proofs:read` permission
|
|
47
|
+
|
|
48
|
+
If there is more than one proof for the asset id and the script key, an
|
|
49
|
+
anchor outpoint is necessary: `transaction_id` and `transaction_vout`
|
|
50
|
+
|
|
51
|
+
{
|
|
52
|
+
asset_id: <Asset Id Hex String>
|
|
53
|
+
script_key: <Script Key Hex String>
|
|
54
|
+
tapd: <Authenticated tapd API Object>
|
|
55
|
+
[transaction_id]: <Anchor Transaction Id Hex String>
|
|
56
|
+
[transaction_vout]: <Anchor Transaction Output Index Number>
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@returns via cbk or Promise
|
|
60
|
+
{
|
|
61
|
+
proof: <Asset Proof File Hex String>
|
|
62
|
+
}
|
|
63
|
+
*/
|
|
64
|
+
const exportAssetProof: TapdMethod<
|
|
65
|
+
ExportAssetProofArgs,
|
|
66
|
+
ExportAssetProofResult
|
|
67
|
+
> = (
|
|
68
|
+
args: ExportAssetProofArgs,
|
|
69
|
+
cbk?: TapdCallback<ExportAssetProofResult>,
|
|
70
|
+
) => {
|
|
71
|
+
return new Promise((resolve, reject) => {
|
|
72
|
+
return asyncAuto<Tasks, TapdError>(
|
|
73
|
+
{
|
|
74
|
+
// Check arguments
|
|
75
|
+
validate: cbk => {
|
|
76
|
+
const id = args.transaction_id;
|
|
77
|
+
const vout = args.transaction_vout;
|
|
78
|
+
|
|
79
|
+
if (!args.asset_id || !isAssetId(args.asset_id)) {
|
|
80
|
+
return cbk([400, 'ExpectedAssetIdHexToExportAssetProof']);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!args.script_key || !isScriptKey(args.script_key)) {
|
|
84
|
+
return cbk([400, 'ExpectedScriptKeyHexToExportAssetProof']);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
88
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToExportAssetProof']);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if ((id === undefined) !== (vout === undefined)) {
|
|
92
|
+
return cbk([400, 'ExpectedTransactionIdAndVoutToExportAssetProof']);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (id !== undefined && !isTransactionId(id)) {
|
|
96
|
+
return cbk([400, 'ExpectedTransactionIdHexToExportAssetProof']);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (vout !== undefined && !isSafeInteger(vout)) {
|
|
100
|
+
return cbk([400, 'ExpectedIntegerOutputIndexToExportAssetProof']);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (vout !== undefined && (vout < 0 || vout > maxVout)) {
|
|
104
|
+
return cbk([400, 'ExpectedValidOutputIndexToExportAssetProof']);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return cbk();
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
// Export the proof file
|
|
111
|
+
export: [
|
|
112
|
+
'validate',
|
|
113
|
+
({}, cbk) => {
|
|
114
|
+
const id = args.transaction_id;
|
|
115
|
+
|
|
116
|
+
// tapd reads the transaction id in the internal byte order
|
|
117
|
+
const outpoint = !id
|
|
118
|
+
? undefined
|
|
119
|
+
: {
|
|
120
|
+
output_index: args.transaction_vout,
|
|
121
|
+
txid: Buffer.from(id, 'hex').reverse(),
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const request = {
|
|
125
|
+
asset_id: Buffer.from(args.asset_id, 'hex'),
|
|
126
|
+
outpoint,
|
|
127
|
+
script_key: Buffer.from(args.script_key, 'hex'),
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
131
|
+
if (isConnectionFailure({err})) {
|
|
132
|
+
return cbk([503, 'FailedToConnectToTapdToExportAssetProof']);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (isPermissionDenied({err})) {
|
|
136
|
+
return cbk([403, 'PermissionDeniedToExportAssetProof']);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (!!err && String(err.details).includes(notFoundError)) {
|
|
140
|
+
return cbk([404, 'AssetProofNotFound']);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (!!err && String(err.details).includes(multipleProofsError)) {
|
|
144
|
+
return cbk([400, 'ExpectedAnchorOutpointToSelectAssetProof']);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (!!err) {
|
|
148
|
+
return cbk([503, 'UnexpectedErrorExportingAssetProof', {err}]);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (!res || !isBuffer(res.raw_proof_file)) {
|
|
152
|
+
return cbk([503, 'ExpectedProofFileInExportProofResponse']);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (!res.raw_proof_file.length) {
|
|
156
|
+
return cbk([503, 'ExpectedProofFileInExportProofResponse']);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return cbk(null, {proof: res.raw_proof_file.toString('hex')});
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
returnResult({reject, resolve, of: 'export'}, cbk),
|
|
165
|
+
);
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
export default exportAssetProof;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export {default as decodeAssetProof} from './decode_asset_proof.js';
|
|
2
|
+
export type {DecodeAssetProofArgs} from './decode_asset_proof.js';
|
|
3
|
+
export type {DecodeAssetProofResult} from './decode_asset_proof.js';
|
|
4
|
+
export {default as exportAssetProof} from './export_asset_proof.js';
|
|
5
|
+
export type {ExportAssetProofArgs} from './export_asset_proof.js';
|
|
6
|
+
export type {ExportAssetProofResult} from './export_asset_proof.js';
|
|
7
|
+
export {default as unpackAssetProofFile} from './unpack_asset_proof_file.js';
|
|
8
|
+
export type {UnpackAssetProofFileArgs} from './unpack_asset_proof_file.js';
|
|
9
|
+
export type {UnpackAssetProofFileResult} from './unpack_asset_proof_file.js';
|
|
10
|
+
export {default as verifyAssetProof} from './verify_asset_proof.js';
|
|
11
|
+
export type {VerifyAssetProofArgs} from './verify_asset_proof.js';
|
|
12
|
+
export type {VerifyAssetProofResult} from './verify_asset_proof.js';
|
|
@@ -0,0 +1,126 @@
|
|
|
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 type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
8
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
9
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
10
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
11
|
+
|
|
12
|
+
const invalidFileError = 'unable to decode proof file';
|
|
13
|
+
const {isArray} = Array;
|
|
14
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
15
|
+
const isHex = (n: string) => !!n && !(n.length % 2) && /^[0-9A-F]*$/i.test(n);
|
|
16
|
+
const method = 'unpackProofFile';
|
|
17
|
+
const type = 'default';
|
|
18
|
+
|
|
19
|
+
export type UnpackAssetProofFileArgs = AuthenticatedTapdArgs<{
|
|
20
|
+
/** Asset Proof File Hex String */
|
|
21
|
+
proof: string;
|
|
22
|
+
}>;
|
|
23
|
+
|
|
24
|
+
export type UnpackAssetProofFileResult = {
|
|
25
|
+
/** Asset Proofs Hex, First Proof First */
|
|
26
|
+
proofs: string[];
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
type Tasks = {
|
|
30
|
+
unpack: UnpackAssetProofFileResult;
|
|
31
|
+
validate: undefined;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/** Get the individual proofs in an asset proof file
|
|
35
|
+
|
|
36
|
+
Requires `proofs:read` permission
|
|
37
|
+
|
|
38
|
+
The first proof in the list is the first proof in the proof chain
|
|
39
|
+
|
|
40
|
+
{
|
|
41
|
+
proof: <Asset Proof File Hex String>
|
|
42
|
+
tapd: <Authenticated tapd API Object>
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@returns via cbk or Promise
|
|
46
|
+
{
|
|
47
|
+
proofs: [<Asset Proof Hex String>]
|
|
48
|
+
}
|
|
49
|
+
*/
|
|
50
|
+
const unpackAssetProofFile: TapdMethod<
|
|
51
|
+
UnpackAssetProofFileArgs,
|
|
52
|
+
UnpackAssetProofFileResult
|
|
53
|
+
> = (
|
|
54
|
+
args: UnpackAssetProofFileArgs,
|
|
55
|
+
cbk?: TapdCallback<UnpackAssetProofFileResult>,
|
|
56
|
+
) => {
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
return asyncAuto<Tasks, TapdError>(
|
|
59
|
+
{
|
|
60
|
+
// Check arguments
|
|
61
|
+
validate: cbk => {
|
|
62
|
+
if (!args.proof || !isHex(args.proof)) {
|
|
63
|
+
return cbk([400, 'ExpectedHexAssetProofFileToUnpack']);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
67
|
+
return cbk([
|
|
68
|
+
400,
|
|
69
|
+
'ExpectedAuthenticatedTapdToUnpackAssetProofFile',
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return cbk();
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
// Unpack the proof file
|
|
77
|
+
unpack: [
|
|
78
|
+
'validate',
|
|
79
|
+
({}, cbk) => {
|
|
80
|
+
const request = {raw_proof_file: Buffer.from(args.proof, 'hex')};
|
|
81
|
+
|
|
82
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
83
|
+
if (isConnectionFailure({err})) {
|
|
84
|
+
return cbk([
|
|
85
|
+
503,
|
|
86
|
+
'FailedToConnectToTapdToUnpackAssetProofFile',
|
|
87
|
+
]);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (isPermissionDenied({err})) {
|
|
91
|
+
return cbk([403, 'PermissionDeniedToUnpackAssetProofFile']);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (!!err && String(err.details).includes(invalidFileError)) {
|
|
95
|
+
return cbk([400, 'ExpectedValidAssetProofFileToUnpack']);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!!err) {
|
|
99
|
+
return cbk([
|
|
100
|
+
503,
|
|
101
|
+
'UnexpectedErrorUnpackingAssetProofFile',
|
|
102
|
+
{err},
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (!res || !isArray(res.raw_proofs)) {
|
|
107
|
+
return cbk([503, 'ExpectedRawProofsInUnpackProofFileResponse']);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (!res.raw_proofs.every(isBuffer)) {
|
|
111
|
+
return cbk([503, 'ExpectedRawProofsInUnpackProofFileResponse']);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return cbk(null, {
|
|
115
|
+
proofs: res.raw_proofs.map((n: Buffer) => n.toString('hex')),
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
},
|
|
121
|
+
returnResult({reject, resolve, of: 'unpack'}, cbk),
|
|
122
|
+
);
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export default unpackAssetProofFile;
|
|
@@ -0,0 +1,156 @@
|
|
|
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 {rpcDecodedProofAsProof} from '../../tapd_responses/index.js';
|
|
8
|
+
import type {Proof} 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 invalidFileErrors = ['invalid proof file', 'unable to decode proof file'];
|
|
15
|
+
const isHex = (n: string) => !!n && !(n.length % 2) && /^[0-9A-F]*$/i.test(n);
|
|
16
|
+
const method = 'verifyProof';
|
|
17
|
+
const notFileError = 'invalid raw proof, expect file';
|
|
18
|
+
const type = 'default';
|
|
19
|
+
|
|
20
|
+
export type VerifyAssetProofArgs = AuthenticatedTapdArgs<{
|
|
21
|
+
/** Asset Proof File Hex String */
|
|
22
|
+
proof: string;
|
|
23
|
+
}>;
|
|
24
|
+
|
|
25
|
+
export type VerifyAssetProofResult = {
|
|
26
|
+
/** Proof File Is Valid */
|
|
27
|
+
is_valid: boolean;
|
|
28
|
+
/** Last Proof In the File */
|
|
29
|
+
proof?: Proof;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
type Tasks = {
|
|
33
|
+
verify: VerifyAssetProofResult;
|
|
34
|
+
validate: undefined;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/** Verify an asset proof file
|
|
38
|
+
|
|
39
|
+
Requires `proofs:read` permission
|
|
40
|
+
|
|
41
|
+
A valid proof file also returns its last proof, decoded
|
|
42
|
+
|
|
43
|
+
{
|
|
44
|
+
proof: <Asset Proof File Hex String>
|
|
45
|
+
tapd: <Authenticated tapd API Object>
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@returns via cbk or Promise
|
|
49
|
+
{
|
|
50
|
+
is_valid: <Proof File Is Valid Bool>
|
|
51
|
+
[proof]: {
|
|
52
|
+
additional_inputs_count: <Additional Inputs Count Number>
|
|
53
|
+
[alt_leaves]: <Alternative Leaves Hex String>
|
|
54
|
+
asset: <Asset Object>
|
|
55
|
+
challenge_witness: [<Challenge Witness Element Hex String>]
|
|
56
|
+
depth: <Proof Depth From the Last Proof In the File Number>
|
|
57
|
+
exclusion_proofs: [<Exclusion Proof Hex String>]
|
|
58
|
+
[genesis]: {
|
|
59
|
+
asset_id: <Asset Id Hex String>
|
|
60
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
61
|
+
meta_hash: <Asset Metadata Hash Hex String>
|
|
62
|
+
name: <Asset Name String>
|
|
63
|
+
output_index: <Genesis Commitment Output Index Number>
|
|
64
|
+
transaction_id: <Genesis Point Transaction Id Hex String>
|
|
65
|
+
transaction_vout: <Genesis Point Transaction Output Index Number>
|
|
66
|
+
}
|
|
67
|
+
[group_key]: {
|
|
68
|
+
raw_key: <Raw Group Key Hex String>
|
|
69
|
+
[tapscript_root]: <Group Tapscript Root Hex String>
|
|
70
|
+
}
|
|
71
|
+
inclusion_proof: <Inclusion Proof Hex String>
|
|
72
|
+
is_burn: <Proof Is For a Burn Bool>
|
|
73
|
+
proofs_count: <Proofs In the File Count Number>
|
|
74
|
+
[split_root_proof]: <Split Root Proof Hex String>
|
|
75
|
+
transaction_merkle_proof: <Transaction Merkle Proof Hex String>
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
*/
|
|
79
|
+
const verifyAssetProof: TapdMethod<
|
|
80
|
+
VerifyAssetProofArgs,
|
|
81
|
+
VerifyAssetProofResult
|
|
82
|
+
> = (
|
|
83
|
+
args: VerifyAssetProofArgs,
|
|
84
|
+
cbk?: TapdCallback<VerifyAssetProofResult>,
|
|
85
|
+
) => {
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
return asyncAuto<Tasks, TapdError>(
|
|
88
|
+
{
|
|
89
|
+
// Check arguments
|
|
90
|
+
validate: cbk => {
|
|
91
|
+
if (!args.proof || !isHex(args.proof)) {
|
|
92
|
+
return cbk([400, 'ExpectedHexAssetProofFileToVerify']);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
96
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToVerifyAssetProof']);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return cbk();
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
// Verify the proof file
|
|
103
|
+
verify: [
|
|
104
|
+
'validate',
|
|
105
|
+
({}, cbk) => {
|
|
106
|
+
const request = {raw_proof_file: Buffer.from(args.proof, 'hex')};
|
|
107
|
+
|
|
108
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
109
|
+
if (isConnectionFailure({err})) {
|
|
110
|
+
return cbk([503, 'FailedToConnectToTapdToVerifyAssetProof']);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (isPermissionDenied({err})) {
|
|
114
|
+
return cbk([403, 'PermissionDeniedToVerifyAssetProof']);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const details = String(err?.details);
|
|
118
|
+
|
|
119
|
+
if (!!err && details.includes(notFileError)) {
|
|
120
|
+
return cbk([400, 'ExpectedProofFileNotSingleProofToVerify']);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (!!err && invalidFileErrors.some(n => details.includes(n))) {
|
|
124
|
+
return cbk([400, 'ExpectedValidAssetProofFileToVerify']);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (!!err) {
|
|
128
|
+
return cbk([503, 'UnexpectedErrorVerifyingAssetProof', {err}]);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (!res) {
|
|
132
|
+
return cbk([503, 'ExpectedResponseToVerifyAssetProofRequest']);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Exit early when the proof file is not valid
|
|
136
|
+
if (!res.valid) {
|
|
137
|
+
return cbk(null, {is_valid: false});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
try {
|
|
141
|
+
const proof = rpcDecodedProofAsProof(res.decoded_proof);
|
|
142
|
+
|
|
143
|
+
return cbk(null, {proof, is_valid: true});
|
|
144
|
+
} catch (err: any) {
|
|
145
|
+
return cbk([503, err.message]);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
},
|
|
151
|
+
returnResult({reject, resolve, of: 'verify'}, cbk),
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
export default verifyAssetProof;
|