tapass 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +2886 -2
- package/dist/grpc/emit_subscription_error.d.ts +21 -0
- package/dist/grpc/emit_subscription_error.d.ts.map +1 -0
- package/dist/grpc/emit_subscription_error.js +26 -0
- package/dist/grpc/emit_subscription_error.js.map +1 -0
- package/dist/grpc/grpc_services.d.ts +46 -0
- package/dist/grpc/grpc_services.d.ts.map +1 -0
- package/dist/grpc/grpc_services.js +45 -0
- package/dist/grpc/grpc_services.js.map +1 -0
- package/dist/grpc/handle_remove_listener.d.ts +18 -0
- package/dist/grpc/handle_remove_listener.d.ts.map +1 -0
- package/dist/grpc/handle_remove_listener.js +22 -0
- package/dist/grpc/handle_remove_listener.js.map +1 -0
- package/dist/grpc/index.d.ts +32 -0
- package/dist/grpc/index.d.ts.map +1 -0
- package/dist/grpc/index.js +6 -0
- package/dist/grpc/index.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/tapd_grpc/api_for_proto.d.ts +28 -0
- package/dist/tapd_grpc/api_for_proto.d.ts.map +1 -0
- package/dist/tapd_grpc/api_for_proto.js +24 -0
- package/dist/tapd_grpc/api_for_proto.js.map +1 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.d.ts +35 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.d.ts.map +1 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.js +76 -0
- package/dist/tapd_grpc/authenticated_tapd_grpc.js.map +1 -0
- package/dist/tapd_grpc/decode_serialized.d.ts +18 -0
- package/dist/tapd_grpc/decode_serialized.d.ts.map +1 -0
- package/dist/tapd_grpc/decode_serialized.js +23 -0
- package/dist/tapd_grpc/decode_serialized.js.map +1 -0
- package/dist/tapd_grpc/grpc_credentials.d.ts +24 -0
- package/dist/tapd_grpc/grpc_credentials.d.ts.map +1 -0
- package/dist/tapd_grpc/grpc_credentials.js +39 -0
- package/dist/tapd_grpc/grpc_credentials.js.map +1 -0
- package/dist/tapd_grpc/grpc_options.d.ts +10 -0
- package/dist/tapd_grpc/grpc_options.d.ts.map +1 -0
- package/dist/tapd_grpc/grpc_options.js +9 -0
- package/dist/tapd_grpc/grpc_options.js.map +1 -0
- package/dist/tapd_grpc/grpc_ssl.d.ts +19 -0
- package/dist/tapd_grpc/grpc_ssl.d.ts.map +1 -0
- package/dist/tapd_grpc/grpc_ssl.js +18 -0
- package/dist/tapd_grpc/grpc_ssl.js.map +1 -0
- package/dist/tapd_grpc/index.d.ts +6 -0
- package/dist/tapd_grpc/index.d.ts.map +1 -0
- package/dist/tapd_grpc/index.js +2 -0
- package/dist/tapd_grpc/index.js.map +1 -0
- package/dist/tapd_grpc/types.d.ts +35 -0
- package/dist/tapd_grpc/types.d.ts.map +1 -0
- package/dist/tapd_grpc/types.js +2 -0
- package/dist/tapd_grpc/types.js.map +1 -0
- package/dist/tapd_methods/address/create_asset_address.d.ts +52 -0
- package/dist/tapd_methods/address/create_asset_address.d.ts.map +1 -0
- package/dist/tapd_methods/address/create_asset_address.js +127 -0
- package/dist/tapd_methods/address/create_asset_address.js.map +1 -0
- package/dist/tapd_methods/address/decode_asset_address.d.ts +38 -0
- package/dist/tapd_methods/address/decode_asset_address.d.ts.map +1 -0
- package/dist/tapd_methods/address/decode_asset_address.js +81 -0
- package/dist/tapd_methods/address/decode_asset_address.js.map +1 -0
- package/dist/tapd_methods/address/get_asset_addresses.d.ts +54 -0
- package/dist/tapd_methods/address/get_asset_addresses.d.ts.map +1 -0
- package/dist/tapd_methods/address/get_asset_addresses.js +153 -0
- package/dist/tapd_methods/address/get_asset_addresses.js.map +1 -0
- package/dist/tapd_methods/address/get_asset_receives.d.ts +72 -0
- package/dist/tapd_methods/address/get_asset_receives.d.ts.map +1 -0
- package/dist/tapd_methods/address/get_asset_receives.js +191 -0
- package/dist/tapd_methods/address/get_asset_receives.js.map +1 -0
- package/dist/tapd_methods/address/index.d.ts +15 -0
- package/dist/tapd_methods/address/index.d.ts.map +1 -0
- package/dist/tapd_methods/address/index.js +6 -0
- package/dist/tapd_methods/address/index.js.map +1 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts +53 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts.map +1 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.js +93 -0
- package/dist/tapd_methods/address/subscribe_to_asset_receives.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_balances.d.ts +64 -0
- package/dist/tapd_methods/assets/get_asset_balances.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_balances.js +177 -0
- package/dist/tapd_methods/assets/get_asset_balances.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_burns.d.ts +40 -0
- package/dist/tapd_methods/assets/get_asset_burns.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_burns.js +92 -0
- package/dist/tapd_methods/assets/get_asset_burns.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_groups.d.ts +35 -0
- package/dist/tapd_methods/assets/get_asset_groups.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_groups.js +78 -0
- package/dist/tapd_methods/assets/get_asset_groups.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_metadata.d.ts +40 -0
- package/dist/tapd_methods/assets/get_asset_metadata.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_metadata.js +99 -0
- package/dist/tapd_methods/assets/get_asset_metadata.js.map +1 -0
- package/dist/tapd_methods/assets/get_asset_utxos.d.ts +83 -0
- package/dist/tapd_methods/assets/get_asset_utxos.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_asset_utxos.js +135 -0
- package/dist/tapd_methods/assets/get_asset_utxos.js.map +1 -0
- package/dist/tapd_methods/assets/get_assets.d.ts +113 -0
- package/dist/tapd_methods/assets/get_assets.d.ts.map +1 -0
- package/dist/tapd_methods/assets/get_assets.js +243 -0
- package/dist/tapd_methods/assets/get_assets.js.map +1 -0
- package/dist/tapd_methods/assets/index.d.ts +19 -0
- package/dist/tapd_methods/assets/index.d.ts.map +1 -0
- package/dist/tapd_methods/assets/index.js +7 -0
- package/dist/tapd_methods/assets/index.js.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.d.ts +18 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.d.ts.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.js +59 -0
- package/dist/tapd_methods/channels/asset_payment_args_error.js.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_request.d.ts +68 -0
- package/dist/tapd_methods/channels/asset_payment_request.d.ts.map +1 -0
- package/dist/tapd_methods/channels/asset_payment_request.js +54 -0
- package/dist/tapd_methods/channels/asset_payment_request.js.map +1 -0
- package/dist/tapd_methods/channels/create_asset_invoice.d.ts +134 -0
- package/dist/tapd_methods/channels/create_asset_invoice.d.ts.map +1 -0
- package/dist/tapd_methods/channels/create_asset_invoice.js +264 -0
- package/dist/tapd_methods/channels/create_asset_invoice.js.map +1 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts +72 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts.map +1 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.js +143 -0
- package/dist/tapd_methods/channels/decode_asset_payment_request.js.map +1 -0
- package/dist/tapd_methods/channels/emit_asset_payment.d.ts +30 -0
- package/dist/tapd_methods/channels/emit_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/emit_asset_payment.js +59 -0
- package/dist/tapd_methods/channels/emit_asset_payment.js.map +1 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts +51 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts.map +1 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.js +127 -0
- package/dist/tapd_methods/channels/encode_asset_custom_records.js.map +1 -0
- package/dist/tapd_methods/channels/get_asset_invoices.d.ts +84 -0
- package/dist/tapd_methods/channels/get_asset_invoices.d.ts.map +1 -0
- package/dist/tapd_methods/channels/get_asset_invoices.js +193 -0
- package/dist/tapd_methods/channels/get_asset_invoices.js.map +1 -0
- package/dist/tapd_methods/channels/get_asset_payments.d.ts +69 -0
- package/dist/tapd_methods/channels/get_asset_payments.d.ts.map +1 -0
- package/dist/tapd_methods/channels/get_asset_payments.js +180 -0
- package/dist/tapd_methods/channels/get_asset_payments.js.map +1 -0
- package/dist/tapd_methods/channels/index.d.ts +31 -0
- package/dist/tapd_methods/channels/index.d.ts.map +1 -0
- package/dist/tapd_methods/channels/index.js +12 -0
- package/dist/tapd_methods/channels/index.js.map +1 -0
- package/dist/tapd_methods/channels/open_asset_channel.d.ts +53 -0
- package/dist/tapd_methods/channels/open_asset_channel.d.ts.map +1 -0
- package/dist/tapd_methods/channels/open_asset_channel.js +128 -0
- package/dist/tapd_methods/channels/open_asset_channel.js.map +1 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.d.ts +95 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.d.ts.map +1 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.js +132 -0
- package/dist/tapd_methods/channels/pay_asset_invoice.js.map +1 -0
- package/dist/tapd_methods/channels/send_asset_keysend.d.ts +84 -0
- package/dist/tapd_methods/channels/send_asset_keysend.d.ts.map +1 -0
- package/dist/tapd_methods/channels/send_asset_keysend.js +144 -0
- package/dist/tapd_methods/channels/send_asset_keysend.js.map +1 -0
- package/dist/tapd_methods/channels/send_asset_payment.d.ts +33 -0
- package/dist/tapd_methods/channels/send_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/send_asset_payment.js +114 -0
- package/dist/tapd_methods/channels/send_asset_payment.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts +51 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js +104 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts +59 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.js +104 -0
- package/dist/tapd_methods/channels/subscribe_to_asset_payments.js.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts +62 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts.map +1 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js +106 -0
- package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js.map +1 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts +45 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.js +99 -0
- package/dist/tapd_methods/daemon/create_tapd_macaroon.js.map +1 -0
- package/dist/tapd_methods/daemon/index.d.ts +8 -0
- package/dist/tapd_methods/daemon/index.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/index.js +4 -0
- package/dist/tapd_methods/daemon/index.js.map +1 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts +23 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.js +60 -0
- package/dist/tapd_methods/daemon/set_tapd_debug_level.js.map +1 -0
- package/dist/tapd_methods/daemon/stop_tapd.d.ts +16 -0
- package/dist/tapd_methods/daemon/stop_tapd.d.ts.map +1 -0
- package/dist/tapd_methods/daemon/stop_tapd.js +50 -0
- package/dist/tapd_methods/daemon/stop_tapd.js.map +1 -0
- package/dist/tapd_methods/index.d.ts +10 -0
- package/dist/tapd_methods/index.d.ts.map +1 -0
- package/dist/tapd_methods/index.js +10 -0
- package/dist/tapd_methods/index.js.map +1 -0
- package/dist/tapd_methods/info/get_tapd_info.d.ts +44 -0
- package/dist/tapd_methods/info/get_tapd_info.d.ts.map +1 -0
- package/dist/tapd_methods/info/get_tapd_info.js +80 -0
- package/dist/tapd_methods/info/get_tapd_info.js.map +1 -0
- package/dist/tapd_methods/info/index.d.ts +4 -0
- package/dist/tapd_methods/info/index.d.ts.map +1 -0
- package/dist/tapd_methods/info/index.js +2 -0
- package/dist/tapd_methods/info/index.js.map +1 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts +124 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.js +283 -0
- package/dist/tapd_methods/mint/add_asset_to_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.d.ts +23 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.js +62 -0
- package/dist/tapd_methods/mint/cancel_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.d.ts +64 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.js +130 -0
- package/dist/tapd_methods/mint/finalize_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/fund_mint_batch.d.ts +82 -0
- package/dist/tapd_methods/mint/fund_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/fund_mint_batch.js +145 -0
- package/dist/tapd_methods/mint/fund_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/get_mint_batches.d.ts +72 -0
- package/dist/tapd_methods/mint/get_mint_batches.d.ts.map +1 -0
- package/dist/tapd_methods/mint/get_mint_batches.js +123 -0
- package/dist/tapd_methods/mint/get_mint_batches.js.map +1 -0
- package/dist/tapd_methods/mint/index.d.ts +21 -0
- package/dist/tapd_methods/mint/index.d.ts.map +1 -0
- package/dist/tapd_methods/mint/index.js +8 -0
- package/dist/tapd_methods/mint/index.js.map +1 -0
- package/dist/tapd_methods/mint/seal_mint_batch.d.ts +64 -0
- package/dist/tapd_methods/mint/seal_mint_batch.d.ts.map +1 -0
- package/dist/tapd_methods/mint/seal_mint_batch.js +135 -0
- package/dist/tapd_methods/mint/seal_mint_batch.js.map +1 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts +52 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts.map +1 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.js +91 -0
- package/dist/tapd_methods/mint/subscribe_to_mint_events.js.map +1 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.d.ts +61 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.js +129 -0
- package/dist/tapd_methods/proofs/decode_asset_proof.js.map +1 -0
- package/dist/tapd_methods/proofs/export_asset_proof.d.ts +39 -0
- package/dist/tapd_methods/proofs/export_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/export_asset_proof.js +113 -0
- package/dist/tapd_methods/proofs/export_asset_proof.js.map +1 -0
- package/dist/tapd_methods/proofs/index.d.ts +13 -0
- package/dist/tapd_methods/proofs/index.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/index.js +5 -0
- package/dist/tapd_methods/proofs/index.js.map +1 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts +29 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.js +85 -0
- package/dist/tapd_methods/proofs/unpack_asset_proof_file.js.map +1 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.d.ts +58 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.d.ts.map +1 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.js +110 -0
- package/dist/tapd_methods/proofs/verify_asset_proof.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts +31 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.js +88 -0
- package/dist/tapd_methods/rfq/add_asset_buy_offer.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts +79 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.js +200 -0
- package/dist/tapd_methods/rfq/add_asset_buy_order.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts +30 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.js +87 -0
- package/dist/tapd_methods/rfq/add_asset_sell_offer.js.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts +79 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.js +200 -0
- package/dist/tapd_methods/rfq/add_asset_sell_order.js.map +1 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts +52 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.js +100 -0
- package/dist/tapd_methods/rfq/get_accepted_quotes.js.map +1 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.d.ts +70 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.js +185 -0
- package/dist/tapd_methods/rfq/get_asset_forwards.js.map +1 -0
- package/dist/tapd_methods/rfq/index.d.ts +19 -0
- package/dist/tapd_methods/rfq/index.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/index.js +8 -0
- package/dist/tapd_methods/rfq/index.js.map +1 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts +68 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts.map +1 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js +107 -0
- package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js.map +1 -0
- package/dist/tapd_methods/send/burn_asset.d.ts +135 -0
- package/dist/tapd_methods/send/burn_asset.d.ts.map +1 -0
- package/dist/tapd_methods/send/burn_asset.js +220 -0
- package/dist/tapd_methods/send/burn_asset.js.map +1 -0
- package/dist/tapd_methods/send/get_asset_transfers.d.ts +73 -0
- package/dist/tapd_methods/send/get_asset_transfers.d.ts.map +1 -0
- package/dist/tapd_methods/send/get_asset_transfers.js +122 -0
- package/dist/tapd_methods/send/get_asset_transfers.js.map +1 -0
- package/dist/tapd_methods/send/index.d.ts +15 -0
- package/dist/tapd_methods/send/index.d.ts.map +1 -0
- package/dist/tapd_methods/send/index.js +6 -0
- package/dist/tapd_methods/send/index.js.map +1 -0
- package/dist/tapd_methods/send/register_asset_transfer.d.ts +77 -0
- package/dist/tapd_methods/send/register_asset_transfer.d.ts.map +1 -0
- package/dist/tapd_methods/send/register_asset_transfer.js +165 -0
- package/dist/tapd_methods/send/register_asset_transfer.js.map +1 -0
- package/dist/tapd_methods/send/send_asset.d.ts +94 -0
- package/dist/tapd_methods/send/send_asset.d.ts.map +1 -0
- package/dist/tapd_methods/send/send_asset.js +169 -0
- package/dist/tapd_methods/send/send_asset.js.map +1 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts +117 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts.map +1 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.js +159 -0
- package/dist/tapd_methods/send/subscribe_to_asset_sends.js.map +1 -0
- package/dist/tapd_requests/decimal_as_fixed_point.d.ts +23 -0
- package/dist/tapd_requests/decimal_as_fixed_point.d.ts.map +1 -0
- package/dist/tapd_requests/decimal_as_fixed_point.js +31 -0
- package/dist/tapd_requests/decimal_as_fixed_point.js.map +1 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts +13 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts.map +1 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js +21 -0
- package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js.map +1 -0
- package/dist/tapd_requests/index.d.ts +9 -0
- package/dist/tapd_requests/index.d.ts.map +1 -0
- package/dist/tapd_requests/index.js +9 -0
- package/dist/tapd_requests/index.js.map +1 -0
- package/dist/tapd_requests/is_connection_failure.d.ts +23 -0
- package/dist/tapd_requests/is_connection_failure.d.ts.map +1 -0
- package/dist/tapd_requests/is_connection_failure.js +40 -0
- package/dist/tapd_requests/is_connection_failure.js.map +1 -0
- package/dist/tapd_requests/is_method_unsupported.d.ts +24 -0
- package/dist/tapd_requests/is_method_unsupported.d.ts.map +1 -0
- package/dist/tapd_requests/is_method_unsupported.js +27 -0
- package/dist/tapd_requests/is_method_unsupported.js.map +1 -0
- package/dist/tapd_requests/is_permission_denied.d.ts +19 -0
- package/dist/tapd_requests/is_permission_denied.d.ts.map +1 -0
- package/dist/tapd_requests/is_permission_denied.js +16 -0
- package/dist/tapd_requests/is_permission_denied.js.map +1 -0
- package/dist/tapd_requests/is_tapd.d.ts +19 -0
- package/dist/tapd_requests/is_tapd.d.ts.map +1 -0
- package/dist/tapd_requests/is_tapd.js +16 -0
- package/dist/tapd_requests/is_tapd.js.map +1 -0
- package/dist/tapd_requests/mint_funding_request.d.ts +53 -0
- package/dist/tapd_requests/mint_funding_request.d.ts.map +1 -0
- package/dist/tapd_requests/mint_funding_request.js +48 -0
- package/dist/tapd_requests/mint_funding_request.js.map +1 -0
- package/dist/tapd_requests/script_key_type_query.d.ts +26 -0
- package/dist/tapd_requests/script_key_type_query.d.ts.map +1 -0
- package/dist/tapd_requests/script_key_type_query.js +41 -0
- package/dist/tapd_requests/script_key_type_query.js.map +1 -0
- package/dist/tapd_responses/asset_channel_rpc_error.d.ts +19 -0
- package/dist/tapd_responses/asset_channel_rpc_error.d.ts.map +1 -0
- package/dist/tapd_responses/asset_channel_rpc_error.js +69 -0
- package/dist/tapd_responses/asset_channel_rpc_error.js.map +1 -0
- package/dist/tapd_responses/batch_states.d.ts +4 -0
- package/dist/tapd_responses/batch_states.d.ts.map +1 -0
- package/dist/tapd_responses/batch_states.js +13 -0
- package/dist/tapd_responses/batch_states.js.map +1 -0
- package/dist/tapd_responses/fixed_point_as_decimal.d.ts +25 -0
- package/dist/tapd_responses/fixed_point_as_decimal.d.ts.map +1 -0
- package/dist/tapd_responses/fixed_point_as_decimal.js +39 -0
- package/dist/tapd_responses/fixed_point_as_decimal.js.map +1 -0
- package/dist/tapd_responses/index.d.ts +76 -0
- package/dist/tapd_responses/index.d.ts.map +1 -0
- package/dist/tapd_responses/index.js +30 -0
- package/dist/tapd_responses/index.js.map +1 -0
- package/dist/tapd_responses/long_key_as_number.d.ts +16 -0
- package/dist/tapd_responses/long_key_as_number.d.ts.map +1 -0
- package/dist/tapd_responses/long_key_as_number.js +28 -0
- package/dist/tapd_responses/long_key_as_number.js.map +1 -0
- package/dist/tapd_responses/mint_rpc_error.d.ts +19 -0
- package/dist/tapd_responses/mint_rpc_error.d.ts.map +1 -0
- package/dist/tapd_responses/mint_rpc_error.js +35 -0
- package/dist/tapd_responses/mint_rpc_error.js.map +1 -0
- package/dist/tapd_responses/outpoint_as_transaction.d.ts +19 -0
- package/dist/tapd_responses/outpoint_as_transaction.d.ts.map +1 -0
- package/dist/tapd_responses/outpoint_as_transaction.js +23 -0
- package/dist/tapd_responses/outpoint_as_transaction.js.map +1 -0
- package/dist/tapd_responses/receive_statuses.d.ts +4 -0
- package/dist/tapd_responses/receive_statuses.d.ts.map +1 -0
- package/dist/tapd_responses/receive_statuses.js +9 -0
- package/dist/tapd_responses/receive_statuses.js.map +1 -0
- package/dist/tapd_responses/rpc_addr_as_address.d.ts +79 -0
- package/dist/tapd_responses/rpc_addr_as_address.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_addr_as_address.js +87 -0
- package/dist/tapd_responses/rpc_addr_as_address.js.map +1 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts +63 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.js +64 -0
- package/dist/tapd_responses/rpc_addr_event_as_receive.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts +34 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.js +38 -0
- package/dist/tapd_responses/rpc_asset_amount_as_amount.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_as_asset.d.ts +204 -0
- package/dist/tapd_responses/rpc_asset_as_asset.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_as_asset.js +174 -0
- package/dist/tapd_responses/rpc_asset_as_asset.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts +53 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.js +53 -0
- package/dist/tapd_responses/rpc_asset_balance_as_balance.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts +51 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.js +54 -0
- package/dist/tapd_responses/rpc_asset_burn_as_burn.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts +39 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js +45 -0
- package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts +68 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.js +70 -0
- package/dist/tapd_responses/rpc_asset_meta_as_metadata.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts +76 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.js +73 -0
- package/dist/tapd_responses/rpc_asset_pay_req_as_request.js.map +1 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts +39 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.js +45 -0
- package/dist/tapd_responses/rpc_asset_payment_as_payment.js.map +1 -0
- package/dist/tapd_responses/rpc_batch_as_batch.d.ts +158 -0
- package/dist/tapd_responses/rpc_batch_as_batch.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_batch_as_batch.js +181 -0
- package/dist/tapd_responses/rpc_batch_as_batch.js.map +1 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts +83 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.js +85 -0
- package/dist/tapd_responses/rpc_buy_quote_as_quote.js.map +1 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts +161 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.js +138 -0
- package/dist/tapd_responses/rpc_decoded_proof_as_proof.js.map +1 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts +100 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.js +101 -0
- package/dist/tapd_responses/rpc_forward_as_asset_forward.js.map +1 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts +76 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.js +71 -0
- package/dist/tapd_responses/rpc_grouped_assets_as_group.js.map +1 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts +63 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js +65 -0
- package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js.map +1 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts +53 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.js +52 -0
- package/dist/tapd_responses/rpc_receive_event_as_receive_update.js.map +1 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts +70 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.js +89 -0
- package/dist/tapd_responses/rpc_rfq_event_as_event.js.map +1 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts +80 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.js +85 -0
- package/dist/tapd_responses/rpc_sell_quote_as_quote.js.map +1 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts +124 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.js +161 -0
- package/dist/tapd_responses/rpc_send_event_as_send_event.js.map +1 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts +241 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts.map +1 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.js +212 -0
- package/dist/tapd_responses/rpc_transfer_as_transfer.js.map +1 -0
- package/dist/tapd_responses/short_channel_id_as_channel.d.ts +13 -0
- package/dist/tapd_responses/short_channel_id_as_channel.d.ts.map +1 -0
- package/dist/tapd_responses/short_channel_id_as_channel.js +26 -0
- package/dist/tapd_responses/short_channel_id_as_channel.js.map +1 -0
- package/dist/typescript/index.d.ts +16 -0
- package/dist/typescript/index.d.ts.map +1 -0
- package/dist/typescript/index.js +2 -0
- package/dist/typescript/index.js.map +1 -0
- package/package.json +76 -3
- package/protos/VERSIONS +2 -0
- package/protos/lnrpc/lightning.proto +5380 -0
- package/protos/lnrpc/routerrpc/router.proto +1115 -0
- package/protos/taprpc/assetwalletrpc/assetwallet.proto +631 -0
- package/protos/taprpc/authmailboxrpc/mailbox.proto +281 -0
- package/protos/taprpc/mintrpc/mint.proto +452 -0
- package/protos/taprpc/portfoliopilotrpc/portfolio_pilot.proto +410 -0
- package/protos/taprpc/priceoraclerpc/price_oracle.proto +262 -0
- package/protos/taprpc/rfqrpc/rfq.proto +614 -0
- package/protos/taprpc/tapchannelrpc/tapchannel.proto +490 -0
- package/protos/taprpc/tapcommon.proto +47 -0
- package/protos/taprpc/tapdevrpc/tapdev.proto +120 -0
- package/protos/taprpc/taprootassets.proto +2117 -0
- package/protos/taprpc/universerpc/universe.proto +1101 -0
- package/src/grpc/emit_subscription_error.ts +39 -0
- package/src/grpc/grpc_services.ts +45 -0
- package/src/grpc/handle_remove_listener.ts +35 -0
- package/src/grpc/index.ts +18 -0
- package/src/index.ts +24 -0
- package/src/tapd_grpc/api_for_proto.ts +42 -0
- package/src/tapd_grpc/authenticated_tapd_grpc.ts +88 -0
- package/src/tapd_grpc/decode_serialized.ts +25 -0
- package/src/tapd_grpc/grpc_credentials.ts +48 -0
- package/src/tapd_grpc/grpc_options.ts +10 -0
- package/src/tapd_grpc/grpc_ssl.ts +20 -0
- package/src/tapd_grpc/index.ts +5 -0
- package/src/tapd_grpc/types.ts +35 -0
- package/src/tapd_methods/address/create_asset_address.ts +179 -0
- package/src/tapd_methods/address/decode_asset_address.ts +117 -0
- package/src/tapd_methods/address/get_asset_addresses.ts +212 -0
- package/src/tapd_methods/address/get_asset_receives.ts +265 -0
- package/src/tapd_methods/address/index.ts +14 -0
- package/src/tapd_methods/address/subscribe_to_asset_receives.ts +114 -0
- package/src/tapd_methods/assets/get_asset_balances.ts +249 -0
- package/src/tapd_methods/assets/get_asset_burns.ts +133 -0
- package/src/tapd_methods/assets/get_asset_groups.ts +109 -0
- package/src/tapd_methods/assets/get_asset_metadata.ts +141 -0
- package/src/tapd_methods/assets/get_asset_utxos.ts +175 -0
- package/src/tapd_methods/assets/get_assets.ts +327 -0
- package/src/tapd_methods/assets/index.ts +18 -0
- package/src/tapd_methods/channels/asset_payment_args_error.ts +83 -0
- package/src/tapd_methods/channels/asset_payment_request.ts +76 -0
- package/src/tapd_methods/channels/create_asset_invoice.ts +387 -0
- package/src/tapd_methods/channels/decode_asset_payment_request.ts +192 -0
- package/src/tapd_methods/channels/emit_asset_payment.ts +78 -0
- package/src/tapd_methods/channels/encode_asset_custom_records.ts +187 -0
- package/src/tapd_methods/channels/get_asset_invoices.ts +258 -0
- package/src/tapd_methods/channels/get_asset_payments.ts +243 -0
- package/src/tapd_methods/channels/index.ts +30 -0
- package/src/tapd_methods/channels/open_asset_channel.ts +193 -0
- package/src/tapd_methods/channels/pay_asset_invoice.ts +171 -0
- package/src/tapd_methods/channels/send_asset_keysend.ts +196 -0
- package/src/tapd_methods/channels/send_asset_payment.ts +158 -0
- package/src/tapd_methods/channels/subscribe_to_asset_invoices.ts +134 -0
- package/src/tapd_methods/channels/subscribe_to_asset_payments.ts +126 -0
- package/src/tapd_methods/channels/subscribe_to_past_asset_payment.ts +132 -0
- package/src/tapd_methods/daemon/create_tapd_macaroon.ts +153 -0
- package/src/tapd_methods/daemon/index.ts +7 -0
- package/src/tapd_methods/daemon/set_tapd_debug_level.ts +90 -0
- package/src/tapd_methods/daemon/stop_tapd.ts +75 -0
- package/src/tapd_methods/index.ts +9 -0
- package/src/tapd_methods/info/get_tapd_info.ts +129 -0
- package/src/tapd_methods/info/index.ts +3 -0
- package/src/tapd_methods/mint/add_asset_to_mint_batch.ts +396 -0
- package/src/tapd_methods/mint/cancel_mint_batch.ts +95 -0
- package/src/tapd_methods/mint/finalize_mint_batch.ts +181 -0
- package/src/tapd_methods/mint/fund_mint_batch.ts +193 -0
- package/src/tapd_methods/mint/get_mint_batches.ts +162 -0
- package/src/tapd_methods/mint/index.ts +20 -0
- package/src/tapd_methods/mint/seal_mint_batch.ts +184 -0
- package/src/tapd_methods/mint/subscribe_to_mint_events.ts +104 -0
- package/src/tapd_methods/proofs/decode_asset_proof.ts +175 -0
- package/src/tapd_methods/proofs/export_asset_proof.ts +169 -0
- package/src/tapd_methods/proofs/index.ts +12 -0
- package/src/tapd_methods/proofs/unpack_asset_proof_file.ts +126 -0
- package/src/tapd_methods/proofs/verify_asset_proof.ts +156 -0
- package/src/tapd_methods/rfq/add_asset_buy_offer.ts +127 -0
- package/src/tapd_methods/rfq/add_asset_buy_order.ts +279 -0
- package/src/tapd_methods/rfq/add_asset_sell_offer.ts +126 -0
- package/src/tapd_methods/rfq/add_asset_sell_order.ts +279 -0
- package/src/tapd_methods/rfq/get_accepted_quotes.ts +137 -0
- package/src/tapd_methods/rfq/get_asset_forwards.ts +259 -0
- package/src/tapd_methods/rfq/index.ts +18 -0
- package/src/tapd_methods/rfq/subscribe_to_rfq_events.ts +130 -0
- package/src/tapd_methods/send/burn_asset.ts +280 -0
- package/src/tapd_methods/send/get_asset_transfers.ts +161 -0
- package/src/tapd_methods/send/index.ts +14 -0
- package/src/tapd_methods/send/register_asset_transfer.ts +219 -0
- package/src/tapd_methods/send/send_asset.ts +223 -0
- package/src/tapd_methods/send/subscribe_to_asset_sends.ts +181 -0
- package/src/tapd_requests/decimal_as_fixed_point.ts +36 -0
- package/src/tapd_requests/fee_rate_as_tokens_per_kw.ts +23 -0
- package/src/tapd_requests/index.ts +8 -0
- package/src/tapd_requests/is_connection_failure.ts +48 -0
- package/src/tapd_requests/is_method_unsupported.ts +33 -0
- package/src/tapd_requests/is_permission_denied.ts +18 -0
- package/src/tapd_requests/is_tapd.ts +22 -0
- package/src/tapd_requests/mint_funding_request.ts +57 -0
- package/src/tapd_requests/script_key_type_query.ts +44 -0
- package/src/tapd_responses/asset_channel_rpc_error.ts +73 -0
- package/src/tapd_responses/batch_states.ts +12 -0
- package/src/tapd_responses/fixed_point_as_decimal.ts +51 -0
- package/src/tapd_responses/index.ts +75 -0
- package/src/tapd_responses/long_key_as_number.ts +31 -0
- package/src/tapd_responses/mint_rpc_error.ts +39 -0
- package/src/tapd_responses/outpoint_as_transaction.ts +25 -0
- package/src/tapd_responses/receive_statuses.ts +8 -0
- package/src/tapd_responses/rpc_addr_as_address.ts +138 -0
- package/src/tapd_responses/rpc_addr_event_as_receive.ts +103 -0
- package/src/tapd_responses/rpc_asset_amount_as_amount.ts +57 -0
- package/src/tapd_responses/rpc_asset_as_asset.ts +299 -0
- package/src/tapd_responses/rpc_asset_balance_as_balance.ts +85 -0
- package/src/tapd_responses/rpc_asset_burn_as_burn.ts +85 -0
- package/src/tapd_responses/rpc_asset_invoice_as_invoice.ts +62 -0
- package/src/tapd_responses/rpc_asset_meta_as_metadata.ts +113 -0
- package/src/tapd_responses/rpc_asset_pay_req_as_request.ts +114 -0
- package/src/tapd_responses/rpc_asset_payment_as_payment.ts +62 -0
- package/src/tapd_responses/rpc_batch_as_batch.ts +281 -0
- package/src/tapd_responses/rpc_buy_quote_as_quote.ts +139 -0
- package/src/tapd_responses/rpc_decoded_proof_as_proof.ts +229 -0
- package/src/tapd_responses/rpc_forward_as_asset_forward.ts +164 -0
- package/src/tapd_responses/rpc_grouped_assets_as_group.ts +117 -0
- package/src/tapd_responses/rpc_managed_utxo_as_utxo.ts +105 -0
- package/src/tapd_responses/rpc_receive_event_as_receive_update.ts +84 -0
- package/src/tapd_responses/rpc_rfq_event_as_event.ts +123 -0
- package/src/tapd_responses/rpc_sell_quote_as_quote.ts +136 -0
- package/src/tapd_responses/rpc_send_event_as_send_event.ts +245 -0
- package/src/tapd_responses/rpc_transfer_as_transfer.ts +366 -0
- package/src/tapd_responses/short_channel_id_as_channel.ts +30 -0
- package/src/typescript/asyncjs_util.d.ts +14 -0
- package/src/typescript/index.ts +22 -0
- package/src/typescript/invoices.d.ts +30 -0
- package/src/typescript/lightning_lnd_responses.d.ts +44 -0
|
@@ -0,0 +1,193 @@
|
|
|
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 {mintFundingRequest} from '../../tapd_requests/index.js';
|
|
8
|
+
import {mintRpcError} from '../../tapd_responses/index.js';
|
|
9
|
+
import {rpcBatchAsBatch} from '../../tapd_responses/index.js';
|
|
10
|
+
import type {Batch} from '../../tapd_responses/index.js';
|
|
11
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
12
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
13
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
14
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
15
|
+
|
|
16
|
+
const {isArray} = Array;
|
|
17
|
+
const isFeeRate = (n: unknown) => typeof n === 'number' && n > 0 && n < 1e7;
|
|
18
|
+
const isHash = (n: unknown) => /^[0-9A-F]{64}$/i.test(String(n));
|
|
19
|
+
const isScript = (n: unknown) => /^([0-9A-F]{2})+$/i.test(String(n));
|
|
20
|
+
const method = 'fundBatch';
|
|
21
|
+
const type = 'mint';
|
|
22
|
+
|
|
23
|
+
export type FundMintBatchArgs = AuthenticatedTapdArgs<{
|
|
24
|
+
/** Fee Tokens Per Virtual Byte Number */
|
|
25
|
+
fee_tokens_per_vbyte?: number;
|
|
26
|
+
tapscript_branch?: {
|
|
27
|
+
/** Left Tap Branch Hash Hex String */
|
|
28
|
+
left: string;
|
|
29
|
+
/** Right Tap Branch Hash Hex String */
|
|
30
|
+
right: string;
|
|
31
|
+
};
|
|
32
|
+
/** Tapscript Leaf Script Hex Strings */
|
|
33
|
+
tapscript_leaves?: string[];
|
|
34
|
+
}>;
|
|
35
|
+
|
|
36
|
+
export type FundMintBatchResult = Batch;
|
|
37
|
+
|
|
38
|
+
type Tasks = {
|
|
39
|
+
fund: FundMintBatchResult;
|
|
40
|
+
validate: undefined;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/** Fund the pending mint batch with a genesis input
|
|
44
|
+
|
|
45
|
+
Requires `mint:write` permission
|
|
46
|
+
|
|
47
|
+
This is only necessary when the batch needs a custom witness before
|
|
48
|
+
`finalizeMintBatch`. tapd makes a new funded batch when there is no pending
|
|
49
|
+
batch.
|
|
50
|
+
|
|
51
|
+
A tapscript sibling is optional: give `tapscript_leaves` or a
|
|
52
|
+
`tapscript_branch`, not both.
|
|
53
|
+
|
|
54
|
+
{
|
|
55
|
+
[fee_tokens_per_vbyte]: <Fee Tokens Per Virtual Byte Number>
|
|
56
|
+
[tapscript_branch]: {
|
|
57
|
+
left: <Left Tap Branch Hash Hex String>
|
|
58
|
+
right: <Right Tap Branch Hash Hex String>
|
|
59
|
+
}
|
|
60
|
+
[tapscript_leaves]: [<Tapscript Leaf Script Hex String>]
|
|
61
|
+
tapd: <Authenticated tapd API Object>
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@returns via cbk or Promise
|
|
65
|
+
{
|
|
66
|
+
assets: [{
|
|
67
|
+
amount: <Asset Units Numeric String>
|
|
68
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
69
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
70
|
+
[group_key]: <Group Key Hex String>
|
|
71
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
72
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
73
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
74
|
+
[metadata]: <Metadata Hex String>
|
|
75
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
76
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
77
|
+
name: <Asset Name String>
|
|
78
|
+
[script_key]: <Script Key Hex String>
|
|
79
|
+
version: <Asset Version Number>
|
|
80
|
+
}]
|
|
81
|
+
created_at: <Created At ISO 8601 Date String>
|
|
82
|
+
created_height: <Block Height When Created Number>
|
|
83
|
+
id: <Batch Key Hex String>
|
|
84
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
85
|
+
state: <Batch State String>
|
|
86
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
87
|
+
unsealed_assets: [{
|
|
88
|
+
amount: <Asset Units Numeric String>
|
|
89
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
90
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
91
|
+
[group_key]: <Group Key Hex String>
|
|
92
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
93
|
+
[group_virtual_psbt]: <Group Virtual Transaction PSBT Hex String>
|
|
94
|
+
[group_virtual_transaction]: <Group Virtual Transaction Hex String>
|
|
95
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
96
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
97
|
+
[metadata]: <Metadata Hex String>
|
|
98
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
99
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
100
|
+
name: <Asset Name String>
|
|
101
|
+
[script_key]: <Script Key Hex String>
|
|
102
|
+
version: <Asset Version Number>
|
|
103
|
+
}]
|
|
104
|
+
}
|
|
105
|
+
*/
|
|
106
|
+
const fundMintBatch: TapdMethod<FundMintBatchArgs, FundMintBatchResult> = (
|
|
107
|
+
args: FundMintBatchArgs,
|
|
108
|
+
cbk?: TapdCallback<FundMintBatchResult>,
|
|
109
|
+
) => {
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
return asyncAuto<Tasks, TapdError>(
|
|
112
|
+
{
|
|
113
|
+
// Check arguments
|
|
114
|
+
validate: cbk => {
|
|
115
|
+
const branch = args.tapscript_branch;
|
|
116
|
+
const leaves = args.tapscript_leaves;
|
|
117
|
+
|
|
118
|
+
if (args.fee_tokens_per_vbyte !== undefined) {
|
|
119
|
+
if (!isFeeRate(args.fee_tokens_per_vbyte)) {
|
|
120
|
+
return cbk([400, 'ExpectedFeeRateToFundMintBatch']);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (!!branch && !!leaves) {
|
|
125
|
+
return cbk([400, 'ExpectedTapscriptLeavesOrBranchNotBoth']);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (!!branch && (!isHash(branch.left) || !isHash(branch.right))) {
|
|
129
|
+
return cbk([400, 'ExpectedTapscriptBranchHashesToFundMintBatch']);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (!!leaves && (!isArray(leaves) || !leaves.length)) {
|
|
133
|
+
return cbk([400, 'ExpectedTapscriptLeavesToFundMintBatch']);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (!!leaves && !leaves.every(isScript)) {
|
|
137
|
+
return cbk([400, 'ExpectedHexTapscriptLeavesToFundMintBatch']);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
141
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToFundMintBatch']);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return cbk();
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
// Fund the batch
|
|
148
|
+
fund: [
|
|
149
|
+
'validate',
|
|
150
|
+
({}, cbk) => {
|
|
151
|
+
const request = {
|
|
152
|
+
...mintFundingRequest(args),
|
|
153
|
+
short_response: false,
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
157
|
+
if (isConnectionFailure({err})) {
|
|
158
|
+
return cbk([503, 'FailedToConnectToTapdToFundMintBatch']);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (isPermissionDenied({err})) {
|
|
162
|
+
return cbk([403, 'PermissionDeniedToFundMintBatch']);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const knownError = mintRpcError({err});
|
|
166
|
+
|
|
167
|
+
if (!!knownError) {
|
|
168
|
+
return cbk(knownError);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (!!err) {
|
|
172
|
+
return cbk([503, 'UnexpectedErrorFundingMintBatch', {err}]);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (!res || !res.batch) {
|
|
176
|
+
return cbk([503, 'ExpectedMintBatchInFundBatchResponse']);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
return cbk(null, rpcBatchAsBatch(res.batch));
|
|
181
|
+
} catch (err: any) {
|
|
182
|
+
return cbk([503, err.message]);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
returnResult({reject, resolve, of: 'fund'}, cbk),
|
|
189
|
+
);
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
export default fundMintBatch;
|
|
@@ -0,0 +1,162 @@
|
|
|
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 {mintRpcError} from '../../tapd_responses/index.js';
|
|
8
|
+
import {rpcBatchAsBatch} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {Batch} 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 {isArray} = Array;
|
|
16
|
+
const isBatchKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
|
|
17
|
+
const method = 'listBatches';
|
|
18
|
+
const type = 'mint';
|
|
19
|
+
|
|
20
|
+
export type GetMintBatchesArgs = AuthenticatedTapdArgs<{
|
|
21
|
+
/** Batch Key Hex String */
|
|
22
|
+
id?: string;
|
|
23
|
+
/** Include Group Details of Unsealed Assets */
|
|
24
|
+
is_verbose?: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
|
|
27
|
+
export type GetMintBatchesResult = {
|
|
28
|
+
batches: Batch[];
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
type Tasks = {
|
|
32
|
+
getBatches: GetMintBatchesResult;
|
|
33
|
+
validate: undefined;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** Get mint batches, including pending and cancelled batches
|
|
37
|
+
|
|
38
|
+
Requires `mint:read` permission
|
|
39
|
+
|
|
40
|
+
With `is_verbose`, a funded pending batch has the group details of its
|
|
41
|
+
unsealed assets, and tapd does not return unfunded or empty batches.
|
|
42
|
+
|
|
43
|
+
{
|
|
44
|
+
[id]: <Batch Key Hex String>
|
|
45
|
+
[is_verbose]: <Include Group Details of Unsealed Assets Bool>
|
|
46
|
+
tapd: <Authenticated tapd API Object>
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@returns via cbk or Promise
|
|
50
|
+
{
|
|
51
|
+
batches: [{
|
|
52
|
+
assets: [{
|
|
53
|
+
amount: <Asset Units Numeric String>
|
|
54
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
55
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
56
|
+
[group_key]: <Group Key Hex String>
|
|
57
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
58
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
59
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
60
|
+
[metadata]: <Metadata Hex String>
|
|
61
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
62
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
63
|
+
name: <Asset Name String>
|
|
64
|
+
[script_key]: <Script Key Hex String>
|
|
65
|
+
version: <Asset Version Number>
|
|
66
|
+
}]
|
|
67
|
+
created_at: <Created At ISO 8601 Date String>
|
|
68
|
+
created_height: <Block Height When Created Number>
|
|
69
|
+
id: <Batch Key Hex String>
|
|
70
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
71
|
+
state: <Batch State String>
|
|
72
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
73
|
+
unsealed_assets: [{
|
|
74
|
+
amount: <Asset Units Numeric String>
|
|
75
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
76
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
77
|
+
[group_key]: <Group Key Hex String>
|
|
78
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
79
|
+
[group_virtual_psbt]: <Group Virtual Transaction PSBT Hex String>
|
|
80
|
+
[group_virtual_transaction]: <Group Virtual Transaction Hex String>
|
|
81
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
82
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
83
|
+
[metadata]: <Metadata Hex String>
|
|
84
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
85
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
86
|
+
name: <Asset Name String>
|
|
87
|
+
[script_key]: <Script Key Hex String>
|
|
88
|
+
version: <Asset Version Number>
|
|
89
|
+
}]
|
|
90
|
+
}]
|
|
91
|
+
}
|
|
92
|
+
*/
|
|
93
|
+
const getMintBatches: TapdMethod<GetMintBatchesArgs, GetMintBatchesResult> = (
|
|
94
|
+
args: GetMintBatchesArgs,
|
|
95
|
+
cbk?: TapdCallback<GetMintBatchesResult>,
|
|
96
|
+
) => {
|
|
97
|
+
return new Promise((resolve, reject) => {
|
|
98
|
+
return asyncAuto<Tasks, TapdError>(
|
|
99
|
+
{
|
|
100
|
+
// Check arguments
|
|
101
|
+
validate: cbk => {
|
|
102
|
+
if (args.id !== undefined && !isBatchKey(args.id)) {
|
|
103
|
+
return cbk([400, 'ExpectedBatchKeyToGetMintBatches']);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
107
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToGetMintBatches']);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return cbk();
|
|
111
|
+
},
|
|
112
|
+
|
|
113
|
+
// Get the batches
|
|
114
|
+
getBatches: [
|
|
115
|
+
'validate',
|
|
116
|
+
({}, cbk) => {
|
|
117
|
+
const request = {
|
|
118
|
+
batch_key: !args.id ? undefined : Buffer.from(args.id, 'hex'),
|
|
119
|
+
verbose: !!args.is_verbose,
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
123
|
+
if (isConnectionFailure({err})) {
|
|
124
|
+
return cbk([503, 'FailedToConnectToTapdToGetMintBatches']);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (isPermissionDenied({err})) {
|
|
128
|
+
return cbk([403, 'PermissionDeniedToGetMintBatches']);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const knownError = mintRpcError({err});
|
|
132
|
+
|
|
133
|
+
if (!!knownError) {
|
|
134
|
+
return cbk(knownError);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (!!err) {
|
|
138
|
+
return cbk([503, 'UnexpectedErrorGettingMintBatches', {err}]);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (!res || !isArray(res.batches)) {
|
|
142
|
+
return cbk([
|
|
143
|
+
503,
|
|
144
|
+
'ExpectedArrayOfBatchesInListBatchesResponse',
|
|
145
|
+
]);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
try {
|
|
149
|
+
return cbk(null, {batches: res.batches.map(rpcBatchAsBatch)});
|
|
150
|
+
} catch (err: any) {
|
|
151
|
+
return cbk([503, err.message]);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
returnResult({reject, resolve, of: 'getBatches'}, cbk),
|
|
158
|
+
);
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
export default getMintBatches;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export {default as addAssetToMintBatch} from './add_asset_to_mint_batch.js';
|
|
2
|
+
export type {AddAssetToMintBatchArgs} from './add_asset_to_mint_batch.js';
|
|
3
|
+
export type {AddAssetToMintBatchResult} from './add_asset_to_mint_batch.js';
|
|
4
|
+
export {default as cancelMintBatch} from './cancel_mint_batch.js';
|
|
5
|
+
export type {CancelMintBatchArgs} from './cancel_mint_batch.js';
|
|
6
|
+
export type {CancelMintBatchResult} from './cancel_mint_batch.js';
|
|
7
|
+
export {default as finalizeMintBatch} from './finalize_mint_batch.js';
|
|
8
|
+
export type {FinalizeMintBatchArgs} from './finalize_mint_batch.js';
|
|
9
|
+
export type {FinalizeMintBatchResult} from './finalize_mint_batch.js';
|
|
10
|
+
export {default as fundMintBatch} from './fund_mint_batch.js';
|
|
11
|
+
export type {FundMintBatchArgs} from './fund_mint_batch.js';
|
|
12
|
+
export type {FundMintBatchResult} from './fund_mint_batch.js';
|
|
13
|
+
export {default as getMintBatches} from './get_mint_batches.js';
|
|
14
|
+
export type {GetMintBatchesArgs} from './get_mint_batches.js';
|
|
15
|
+
export type {GetMintBatchesResult} from './get_mint_batches.js';
|
|
16
|
+
export {default as sealMintBatch} from './seal_mint_batch.js';
|
|
17
|
+
export type {SealMintBatchArgs} from './seal_mint_batch.js';
|
|
18
|
+
export type {SealMintBatchResult} from './seal_mint_batch.js';
|
|
19
|
+
export {default as subscribeToMintEvents} from './subscribe_to_mint_events.js';
|
|
20
|
+
export type {SubscribeToMintEventsArgs} from './subscribe_to_mint_events.js';
|
|
@@ -0,0 +1,184 @@
|
|
|
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 {mintRpcError} from '../../tapd_responses/index.js';
|
|
8
|
+
import {rpcBatchAsBatch} from '../../tapd_responses/index.js';
|
|
9
|
+
import type {Batch} 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 hexAsBase64 = (n: string) => Buffer.from(n, 'hex').toString('base64');
|
|
16
|
+
const {isArray} = Array;
|
|
17
|
+
const isAssetId = (n: unknown) => /^[0-9A-F]{64}$/i.test(String(n));
|
|
18
|
+
const isHex = (n: unknown) => /^([0-9A-F]{2})+$/i.test(String(n));
|
|
19
|
+
const method = 'sealBatch';
|
|
20
|
+
const type = 'mint';
|
|
21
|
+
|
|
22
|
+
export type SealMintBatchArgs = AuthenticatedTapdArgs<{
|
|
23
|
+
group_witnesses?: {
|
|
24
|
+
/** Asset Id Hex String */
|
|
25
|
+
asset_id: string;
|
|
26
|
+
/** Witness Stack Element Hex Strings */
|
|
27
|
+
witness: string[];
|
|
28
|
+
}[];
|
|
29
|
+
/** Signed Group Virtual Transaction PSBT Hex Strings */
|
|
30
|
+
signed_group_psbts?: string[];
|
|
31
|
+
}>;
|
|
32
|
+
|
|
33
|
+
export type SealMintBatchResult = Batch;
|
|
34
|
+
|
|
35
|
+
type Tasks = {
|
|
36
|
+
seal: SealMintBatchResult;
|
|
37
|
+
validate: undefined;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/** Seal the pending mint batch with asset group witnesses
|
|
41
|
+
|
|
42
|
+
Requires `mint:write` permission
|
|
43
|
+
|
|
44
|
+
This is only necessary when an asset in the batch has a group key that needs
|
|
45
|
+
an external signer. Fund the batch first with `fundMintBatch`, and sign the
|
|
46
|
+
`group_virtual_psbt` of each unsealed asset.
|
|
47
|
+
|
|
48
|
+
tapd signs the group witnesses that are not given
|
|
49
|
+
|
|
50
|
+
Give `group_witnesses` or `signed_group_psbts`, not both
|
|
51
|
+
|
|
52
|
+
{
|
|
53
|
+
[group_witnesses]: [{
|
|
54
|
+
asset_id: <Asset Id Hex String>
|
|
55
|
+
witness: [<Witness Stack Element Hex String>]
|
|
56
|
+
}]
|
|
57
|
+
[signed_group_psbts]: [<Signed Group Virtual Transaction PSBT Hex String>]
|
|
58
|
+
tapd: <Authenticated tapd API Object>
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@returns via cbk or Promise
|
|
62
|
+
{
|
|
63
|
+
assets: [{
|
|
64
|
+
amount: <Asset Units Numeric String>
|
|
65
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
66
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
67
|
+
[group_key]: <Group Key Hex String>
|
|
68
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
69
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
70
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
71
|
+
[metadata]: <Metadata Hex String>
|
|
72
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
73
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
74
|
+
name: <Asset Name String>
|
|
75
|
+
[script_key]: <Script Key Hex String>
|
|
76
|
+
version: <Asset Version Number>
|
|
77
|
+
}]
|
|
78
|
+
created_at: <Created At ISO 8601 Date String>
|
|
79
|
+
created_height: <Block Height When Created Number>
|
|
80
|
+
id: <Batch Key Hex String>
|
|
81
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
82
|
+
state: <Batch State String>
|
|
83
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
84
|
+
unsealed_assets: []
|
|
85
|
+
}
|
|
86
|
+
*/
|
|
87
|
+
const sealMintBatch: TapdMethod<SealMintBatchArgs, SealMintBatchResult> = (
|
|
88
|
+
args: SealMintBatchArgs,
|
|
89
|
+
cbk?: TapdCallback<SealMintBatchResult>,
|
|
90
|
+
) => {
|
|
91
|
+
return new Promise((resolve, reject) => {
|
|
92
|
+
return asyncAuto<Tasks, TapdError>(
|
|
93
|
+
{
|
|
94
|
+
// Check arguments
|
|
95
|
+
validate: cbk => {
|
|
96
|
+
const psbts = args.signed_group_psbts;
|
|
97
|
+
const witnesses = args.group_witnesses;
|
|
98
|
+
|
|
99
|
+
if (!!witnesses && !!psbts) {
|
|
100
|
+
return cbk([400, 'ExpectedGroupWitnessesOrSignedPsbtsNotBoth']);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (!!witnesses && !isArray(witnesses)) {
|
|
104
|
+
return cbk([400, 'ExpectedArrayOfGroupWitnessesToSealMintBatch']);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (!!witnesses && witnesses.some(n => !isAssetId(n?.asset_id))) {
|
|
108
|
+
return cbk([400, 'ExpectedAssetIdForGroupWitnessToSealMintBatch']);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (!!witnesses) {
|
|
112
|
+
const isValid = (n: {witness: string[]}) => {
|
|
113
|
+
return isArray(n.witness) && n.witness.every(isHex);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
if (!witnesses.every(isValid)) {
|
|
117
|
+
return cbk([400, 'ExpectedHexWitnessStackToSealMintBatch']);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (!!psbts && (!isArray(psbts) || !psbts.every(isHex))) {
|
|
122
|
+
return cbk([400, 'ExpectedHexSignedGroupPsbtsToSealMintBatch']);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
126
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToSealMintBatch']);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return cbk();
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
// Seal the batch
|
|
133
|
+
seal: [
|
|
134
|
+
'validate',
|
|
135
|
+
({}, cbk) => {
|
|
136
|
+
const request = {
|
|
137
|
+
group_witnesses: (args.group_witnesses || []).map(n => ({
|
|
138
|
+
genesis_id: Buffer.from(n.asset_id, 'hex'),
|
|
139
|
+
witness: n.witness.map(element => Buffer.from(element, 'hex')),
|
|
140
|
+
})),
|
|
141
|
+
short_response: false,
|
|
142
|
+
signed_group_virtual_psbts: (args.signed_group_psbts || []).map(
|
|
143
|
+
hexAsBase64,
|
|
144
|
+
),
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
148
|
+
if (isConnectionFailure({err})) {
|
|
149
|
+
return cbk([503, 'FailedToConnectToTapdToSealMintBatch']);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (isPermissionDenied({err})) {
|
|
153
|
+
return cbk([403, 'PermissionDeniedToSealMintBatch']);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const knownError = mintRpcError({err});
|
|
157
|
+
|
|
158
|
+
if (!!knownError) {
|
|
159
|
+
return cbk(knownError);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (!!err) {
|
|
163
|
+
return cbk([503, 'UnexpectedErrorSealingMintBatch', {err}]);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (!res) {
|
|
167
|
+
return cbk([503, 'ExpectedResponseToSealMintBatch']);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
try {
|
|
171
|
+
return cbk(null, rpcBatchAsBatch({batch: res.batch}));
|
|
172
|
+
} catch (err: any) {
|
|
173
|
+
return cbk([503, err.message]);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
},
|
|
179
|
+
returnResult({reject, resolve, of: 'seal'}, cbk),
|
|
180
|
+
);
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
export default sealMintBatch;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import EventEmitter from 'node:events';
|
|
2
|
+
|
|
3
|
+
import {emitSubscriptionError} from '../../grpc/index.js';
|
|
4
|
+
import {handleRemoveListener} from '../../grpc/index.js';
|
|
5
|
+
import {isTapd} from '../../tapd_requests/index.js';
|
|
6
|
+
import {batchStates} from '../../tapd_responses/index.js';
|
|
7
|
+
import {rpcBatchAsBatch} from '../../tapd_responses/index.js';
|
|
8
|
+
import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
9
|
+
|
|
10
|
+
const events = ['batch'];
|
|
11
|
+
const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
|
|
12
|
+
const method = 'subscribeMintEvents';
|
|
13
|
+
const microsecondsPerMillisecond = 1e3;
|
|
14
|
+
const type = 'mint';
|
|
15
|
+
|
|
16
|
+
export type SubscribeToMintEventsArgs = AuthenticatedTapdArgs;
|
|
17
|
+
|
|
18
|
+
/** Subscribe to the state changes of mint batches
|
|
19
|
+
|
|
20
|
+
Requires `mint:read` permission
|
|
21
|
+
|
|
22
|
+
{
|
|
23
|
+
tapd: <Authenticated tapd API Object>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@throws
|
|
27
|
+
<Error>
|
|
28
|
+
|
|
29
|
+
@returns
|
|
30
|
+
<EventEmitter Object>
|
|
31
|
+
|
|
32
|
+
// A mint batch changed state, or it failed to change state
|
|
33
|
+
@event 'batch'
|
|
34
|
+
{
|
|
35
|
+
at: <Event At ISO 8601 Date String>
|
|
36
|
+
batch: {
|
|
37
|
+
assets: [{
|
|
38
|
+
amount: <Asset Units Numeric String>
|
|
39
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
40
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
41
|
+
[group_key]: <Group Key Hex String>
|
|
42
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
43
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
44
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
45
|
+
[metadata]: <Metadata Hex String>
|
|
46
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
47
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
48
|
+
name: <Asset Name String>
|
|
49
|
+
[script_key]: <Script Key Hex String>
|
|
50
|
+
version: <Asset Version Number>
|
|
51
|
+
}]
|
|
52
|
+
created_at: <Created At ISO 8601 Date String>
|
|
53
|
+
created_height: <Block Height When Created Number>
|
|
54
|
+
id: <Batch Key Hex String>
|
|
55
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
56
|
+
state: <Batch State String>
|
|
57
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
58
|
+
unsealed_assets: []
|
|
59
|
+
}
|
|
60
|
+
[error]: <State Change Error String>
|
|
61
|
+
state: <Last Done Batch State String>
|
|
62
|
+
}
|
|
63
|
+
*/
|
|
64
|
+
export default ({tapd}: SubscribeToMintEventsArgs): EventEmitter => {
|
|
65
|
+
if (!isTapd({method, type, tapd})) {
|
|
66
|
+
throw new Error('ExpectedAuthenticatedTapdToSubscribeToMintEvents');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const emitter = new EventEmitter();
|
|
70
|
+
const subscription = tapd[type][method]({short_response: false});
|
|
71
|
+
|
|
72
|
+
const errored = emitSubscriptionError({emitter, subscription});
|
|
73
|
+
|
|
74
|
+
// Terminate the subscription when all listeners are removed
|
|
75
|
+
handleRemoveListener({emitter, events, subscription});
|
|
76
|
+
|
|
77
|
+
subscription.on('end', () => emitter.emit('end'));
|
|
78
|
+
subscription.on('error', (err: any) => errored(err));
|
|
79
|
+
subscription.on('status', (n: unknown) => emitter.emit('status', n));
|
|
80
|
+
|
|
81
|
+
subscription.on('data', (event: any) => {
|
|
82
|
+
try {
|
|
83
|
+
if (!event || !isNumeric(event.timestamp)) {
|
|
84
|
+
throw new Error('ExpectedTimestampInMintEvent');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const batch = rpcBatchAsBatch({batch: event.batch});
|
|
88
|
+
|
|
89
|
+
const ms = Number(event.timestamp) / microsecondsPerMillisecond;
|
|
90
|
+
|
|
91
|
+
// Notify listeners of the batch event
|
|
92
|
+
return emitter.emit('batch', {
|
|
93
|
+
batch,
|
|
94
|
+
at: new Date(ms).toISOString(),
|
|
95
|
+
error: event.error || undefined,
|
|
96
|
+
state: batchStates[event.batch_state] || 'unknown',
|
|
97
|
+
});
|
|
98
|
+
} catch (err: any) {
|
|
99
|
+
return errored([503, err.message] as any);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
return emitter;
|
|
104
|
+
};
|