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,396 @@
|
|
|
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 assetVersions = ['ASSET_VERSION_V0', 'ASSET_VERSION_V1'];
|
|
16
|
+
const collectibleAmount = '1';
|
|
17
|
+
const {from} = Buffer;
|
|
18
|
+
const isFingerprint = (n: unknown) => /^[0-9A-F]{8}$/i.test(String(n));
|
|
19
|
+
const isHash = (n: string) => /^[0-9A-F]{64}$/i.test(n);
|
|
20
|
+
const isHex = (n: string) => !(n.length % 2) && /^[0-9A-F]*$/i.test(n);
|
|
21
|
+
const isJsonObject = (n: unknown) =>
|
|
22
|
+
!!n && typeof n === 'object' && !Array.isArray(n);
|
|
23
|
+
const isPositive = (n: unknown) =>
|
|
24
|
+
typeof n === 'string' && /^[1-9]\d*$/.test(n);
|
|
25
|
+
const isPublicKey = (n: unknown) => /^0[23][0-9A-F]{64}$/i.test(String(n));
|
|
26
|
+
const {isSafeInteger} = Number;
|
|
27
|
+
const maxDecimalDisplay = 12;
|
|
28
|
+
const maxNameBytes = 64;
|
|
29
|
+
const method = 'mintAsset';
|
|
30
|
+
const type = 'mint';
|
|
31
|
+
|
|
32
|
+
// Parse metadata text as JSON, or return undefined when it is not JSON
|
|
33
|
+
const parseJson = (n: string) => {
|
|
34
|
+
try {
|
|
35
|
+
return JSON.parse(n);
|
|
36
|
+
} catch {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export type AddAssetToMintBatchArgs = AuthenticatedTapdArgs<{
|
|
42
|
+
/** Asset Units To Mint Numeric String */
|
|
43
|
+
amount?: string;
|
|
44
|
+
/** Decimal Places To Show Number */
|
|
45
|
+
decimal_display?: number;
|
|
46
|
+
external_group_key?: {
|
|
47
|
+
/** Key Derivation Path String */
|
|
48
|
+
derivation_path: string;
|
|
49
|
+
/** Master Key Fingerprint 4 Byte Hex String */
|
|
50
|
+
master_fingerprint: string;
|
|
51
|
+
/** Extended Public Key String */
|
|
52
|
+
xpub: string;
|
|
53
|
+
};
|
|
54
|
+
/** Name of an Asset in the Batch That Anchors a New Group String */
|
|
55
|
+
group_anchor?: string;
|
|
56
|
+
group_internal_key?: {
|
|
57
|
+
/** Key Family Number */
|
|
58
|
+
key_family?: number;
|
|
59
|
+
/** Key Index Number */
|
|
60
|
+
key_index?: number;
|
|
61
|
+
/** Internal Public Key Hex String */
|
|
62
|
+
public_key: string;
|
|
63
|
+
};
|
|
64
|
+
/** Existing Group Key Hex String */
|
|
65
|
+
group_key?: string;
|
|
66
|
+
/** Group Tapscript Root Hex String */
|
|
67
|
+
group_tapscript_root?: string;
|
|
68
|
+
/** Asset Is Collectible */
|
|
69
|
+
is_collectible?: boolean;
|
|
70
|
+
/** Metadata Is JSON */
|
|
71
|
+
is_json_metadata?: boolean;
|
|
72
|
+
/** Asset Starts a New Group */
|
|
73
|
+
is_new_group?: boolean;
|
|
74
|
+
/** Enable Supply Commitments for the New Group */
|
|
75
|
+
is_supply_committed?: boolean;
|
|
76
|
+
/** Metadata Hex String */
|
|
77
|
+
metadata?: string;
|
|
78
|
+
/** Metadata UTF-8 Text String */
|
|
79
|
+
metadata_text?: string;
|
|
80
|
+
/** Asset Name String */
|
|
81
|
+
name: string;
|
|
82
|
+
/** Asset Version Number */
|
|
83
|
+
version?: number;
|
|
84
|
+
}>;
|
|
85
|
+
|
|
86
|
+
export type AddAssetToMintBatchResult = Batch;
|
|
87
|
+
|
|
88
|
+
type Tasks = {
|
|
89
|
+
add: AddAssetToMintBatchResult;
|
|
90
|
+
validate: undefined;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/** Add an asset to the pending mint batch
|
|
94
|
+
|
|
95
|
+
Requires `mint:write` permission
|
|
96
|
+
|
|
97
|
+
tapd makes a new pending batch when there is no pending batch
|
|
98
|
+
|
|
99
|
+
A normal asset needs an `amount`. A collectible asset has an amount of 1.
|
|
100
|
+
|
|
101
|
+
Give metadata as hex with `metadata`, or as UTF-8 text with `metadata_text`,
|
|
102
|
+
not both. Set `is_json_metadata` when the metadata is a JSON object.
|
|
103
|
+
|
|
104
|
+
A `decimal_display` is not for collectibles. tapd also writes it into JSON
|
|
105
|
+
metadata. If the JSON metadata has a different decimal display, tapd fails.
|
|
106
|
+
|
|
107
|
+
To mint into an existing group, give a `group_key`, or a `group_anchor` that
|
|
108
|
+
names an asset in this batch that starts a new group.
|
|
109
|
+
|
|
110
|
+
`group_internal_key`, `group_tapscript_root`, `external_group_key`, and
|
|
111
|
+
`is_supply_committed` are only for an asset that starts a new group.
|
|
112
|
+
|
|
113
|
+
{
|
|
114
|
+
[amount]: <Asset Units To Mint Numeric String>
|
|
115
|
+
[decimal_display]: <Decimal Places To Show Number> // 0 to 12
|
|
116
|
+
[external_group_key]: {
|
|
117
|
+
derivation_path: <Key Derivation Path String>
|
|
118
|
+
master_fingerprint: <Master Key Fingerprint 4 Byte Hex String>
|
|
119
|
+
xpub: <Extended Public Key String>
|
|
120
|
+
}
|
|
121
|
+
[group_anchor]: <Name of an Asset in the Batch That Anchors a Group String>
|
|
122
|
+
[group_internal_key]: {
|
|
123
|
+
[key_family]: <Key Family Number>
|
|
124
|
+
[key_index]: <Key Index Number>
|
|
125
|
+
public_key: <Internal Public Key Hex String>
|
|
126
|
+
}
|
|
127
|
+
[group_key]: <Existing Group Key Hex String>
|
|
128
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
129
|
+
[is_collectible]: <Asset Is Collectible Bool>
|
|
130
|
+
[is_json_metadata]: <Metadata Is JSON Bool>
|
|
131
|
+
[is_new_group]: <Asset Starts a New Group Bool>
|
|
132
|
+
[is_supply_committed]: <Enable Supply Commitments for the New Group Bool>
|
|
133
|
+
[metadata]: <Metadata Hex String>
|
|
134
|
+
[metadata_text]: <Metadata UTF-8 Text String>
|
|
135
|
+
name: <Asset Name String>
|
|
136
|
+
tapd: <Authenticated tapd API Object>
|
|
137
|
+
[version]: <Asset Version Number> // 0 or 1
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@returns via cbk or Promise
|
|
141
|
+
{
|
|
142
|
+
assets: [{
|
|
143
|
+
amount: <Asset Units Numeric String>
|
|
144
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
145
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
146
|
+
[group_key]: <Group Key Hex String>
|
|
147
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
148
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
149
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
150
|
+
[metadata]: <Metadata Hex String>
|
|
151
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
152
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
153
|
+
name: <Asset Name String>
|
|
154
|
+
[script_key]: <Script Key Hex String>
|
|
155
|
+
version: <Asset Version Number>
|
|
156
|
+
}]
|
|
157
|
+
created_at: <Created At ISO 8601 Date String>
|
|
158
|
+
created_height: <Block Height When Created Number>
|
|
159
|
+
id: <Batch Key Hex String>
|
|
160
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
161
|
+
state: <Batch State String>
|
|
162
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
163
|
+
unsealed_assets: []
|
|
164
|
+
}
|
|
165
|
+
*/
|
|
166
|
+
const addAssetToMintBatch: TapdMethod<
|
|
167
|
+
AddAssetToMintBatchArgs,
|
|
168
|
+
AddAssetToMintBatchResult
|
|
169
|
+
> = (
|
|
170
|
+
args: AddAssetToMintBatchArgs,
|
|
171
|
+
cbk?: TapdCallback<AddAssetToMintBatchResult>,
|
|
172
|
+
) => {
|
|
173
|
+
return new Promise((resolve, reject) => {
|
|
174
|
+
return asyncAuto<Tasks, TapdError>(
|
|
175
|
+
{
|
|
176
|
+
// Check arguments
|
|
177
|
+
validate: cbk => {
|
|
178
|
+
const decimals = args.decimal_display;
|
|
179
|
+
const external = args.external_group_key;
|
|
180
|
+
const internal = args.group_internal_key;
|
|
181
|
+
const isNewGroup = !!args.is_new_group;
|
|
182
|
+
const name = args.name;
|
|
183
|
+
|
|
184
|
+
if (!name || !name.trim()) {
|
|
185
|
+
return cbk([400, 'ExpectedAssetNameToAddAssetToMintBatch']);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (Buffer.byteLength(name) > maxNameBytes) {
|
|
189
|
+
return cbk([400, 'ExpectedShorterAssetNameToAddAssetToMintBatch']);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (!!args.is_collectible) {
|
|
193
|
+
if (
|
|
194
|
+
args.amount !== undefined &&
|
|
195
|
+
args.amount !== collectibleAmount
|
|
196
|
+
) {
|
|
197
|
+
return cbk([400, 'ExpectedAmountOfOneForCollectibleAsset']);
|
|
198
|
+
}
|
|
199
|
+
} else if (!isPositive(args.amount)) {
|
|
200
|
+
return cbk([400, 'ExpectedAmountToAddAssetToMintBatch']);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (decimals !== undefined) {
|
|
204
|
+
if (!isSafeInteger(decimals) || decimals < 0) {
|
|
205
|
+
return cbk([400, 'ExpectedDecimalDisplayToAddAssetToMintBatch']);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if (decimals > maxDecimalDisplay) {
|
|
209
|
+
return cbk([400, 'ExpectedDecimalDisplayOfTwelveOrLess']);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (!!decimals && !!args.is_collectible) {
|
|
213
|
+
return cbk([400, 'UnexpectedDecimalDisplayForCollectibleAsset']);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (!!args.metadata && !!args.metadata_text) {
|
|
218
|
+
return cbk([400, 'ExpectedMetadataHexOrMetadataTextNotBoth']);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (!!args.metadata && !isHex(args.metadata)) {
|
|
222
|
+
return cbk([400, 'ExpectedHexMetadataToAddAssetToMintBatch']);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
if (!!args.is_json_metadata) {
|
|
226
|
+
const text = !!args.metadata
|
|
227
|
+
? from(args.metadata, 'hex').toString('utf8')
|
|
228
|
+
: args.metadata_text;
|
|
229
|
+
|
|
230
|
+
if (!text || !isJsonObject(parseJson(text))) {
|
|
231
|
+
return cbk([
|
|
232
|
+
400,
|
|
233
|
+
'ExpectedJsonObjectMetadataToAddAssetToMintBatch',
|
|
234
|
+
]);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
if (!!args.group_key && !!args.group_anchor) {
|
|
239
|
+
return cbk([400, 'ExpectedGroupKeyOrGroupAnchorNotBoth']);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
if (!!args.group_key && !isPublicKey(args.group_key)) {
|
|
243
|
+
return cbk([400, 'ExpectedGroupPublicKeyToAddAssetToMintBatch']);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if (isNewGroup && (!!args.group_key || !!args.group_anchor)) {
|
|
247
|
+
return cbk([400, 'UnexpectedExistingGroupForNewGroupAsset']);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (!isNewGroup && !!args.group_tapscript_root) {
|
|
251
|
+
return cbk([400, 'UnexpectedGroupTapscriptRootWithoutNewGroup']);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (
|
|
255
|
+
!!args.group_tapscript_root &&
|
|
256
|
+
!isHash(args.group_tapscript_root)
|
|
257
|
+
) {
|
|
258
|
+
return cbk([400, 'ExpectedGroupTapscriptRootHashToMintAsset']);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if (!isNewGroup && (!!internal || !!external)) {
|
|
262
|
+
return cbk([400, 'UnexpectedGroupKeyDetailsWithoutNewGroup']);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (!!internal && !!external) {
|
|
266
|
+
return cbk([400, 'ExpectedGroupInternalKeyOrExternalKeyNotBoth']);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (!!internal && !isPublicKey(internal.public_key)) {
|
|
270
|
+
return cbk([400, 'ExpectedGroupInternalPublicKeyToMintAsset']);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (!!external && (!external.xpub || !external.derivation_path)) {
|
|
274
|
+
return cbk([400, 'ExpectedExternalGroupKeyDetailsToMintAsset']);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
if (!!external && !isFingerprint(external.master_fingerprint)) {
|
|
278
|
+
return cbk([400, 'ExpectedMasterFingerprintForExternalGroupKey']);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
if (!isNewGroup && !!args.is_supply_committed) {
|
|
282
|
+
return cbk([400, 'UnexpectedSupplyCommitmentsWithoutNewGroup']);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
286
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToAddAssetToMintBatch']);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (args.version !== undefined && !assetVersions[args.version]) {
|
|
290
|
+
return cbk([400, 'ExpectedKnownAssetVersionToAddAssetToMintBatch']);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return cbk();
|
|
294
|
+
},
|
|
295
|
+
|
|
296
|
+
// Add the asset to the batch
|
|
297
|
+
add: [
|
|
298
|
+
'validate',
|
|
299
|
+
({}, cbk) => {
|
|
300
|
+
const external = args.external_group_key;
|
|
301
|
+
const internal = args.group_internal_key;
|
|
302
|
+
const hasMeta = !!args.metadata || !!args.metadata_text;
|
|
303
|
+
|
|
304
|
+
const data = !!args.metadata
|
|
305
|
+
? from(args.metadata, 'hex')
|
|
306
|
+
: from(args.metadata_text || '', 'utf8');
|
|
307
|
+
|
|
308
|
+
const request = {
|
|
309
|
+
asset: {
|
|
310
|
+
amount: args.amount || collectibleAmount,
|
|
311
|
+
asset_meta: !hasMeta
|
|
312
|
+
? undefined
|
|
313
|
+
: {
|
|
314
|
+
data,
|
|
315
|
+
type: !!args.is_json_metadata
|
|
316
|
+
? 'META_TYPE_JSON'
|
|
317
|
+
: 'META_TYPE_OPAQUE',
|
|
318
|
+
},
|
|
319
|
+
asset_type: !!args.is_collectible ? 'COLLECTIBLE' : 'NORMAL',
|
|
320
|
+
asset_version: assetVersions[args.version || 0],
|
|
321
|
+
decimal_display: args.decimal_display || 0,
|
|
322
|
+
enable_supply_commitments: !!args.is_supply_committed,
|
|
323
|
+
external_group_key: !external
|
|
324
|
+
? undefined
|
|
325
|
+
: {
|
|
326
|
+
derivation_path: external.derivation_path,
|
|
327
|
+
master_fingerprint: from(
|
|
328
|
+
external.master_fingerprint,
|
|
329
|
+
'hex',
|
|
330
|
+
),
|
|
331
|
+
xpub: external.xpub,
|
|
332
|
+
},
|
|
333
|
+
group_anchor: args.group_anchor || '',
|
|
334
|
+
group_internal_key: !internal
|
|
335
|
+
? undefined
|
|
336
|
+
: {
|
|
337
|
+
key_loc: {
|
|
338
|
+
key_family: internal.key_family || 0,
|
|
339
|
+
key_index: internal.key_index || 0,
|
|
340
|
+
},
|
|
341
|
+
raw_key_bytes: from(internal.public_key, 'hex'),
|
|
342
|
+
},
|
|
343
|
+
group_key: from(args.group_key || '', 'hex'),
|
|
344
|
+
group_tapscript_root: from(
|
|
345
|
+
args.group_tapscript_root || '',
|
|
346
|
+
'hex',
|
|
347
|
+
),
|
|
348
|
+
grouped_asset: !!args.group_key || !!args.group_anchor,
|
|
349
|
+
name: args.name,
|
|
350
|
+
new_grouped_asset: !!args.is_new_group,
|
|
351
|
+
},
|
|
352
|
+
short_response: false,
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
356
|
+
if (isConnectionFailure({err})) {
|
|
357
|
+
return cbk([503, 'FailedToConnectToTapdToAddAssetToMintBatch']);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
if (isPermissionDenied({err})) {
|
|
361
|
+
return cbk([403, 'PermissionDeniedToAddAssetToMintBatch']);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
const knownError = mintRpcError({err});
|
|
365
|
+
|
|
366
|
+
if (!!knownError) {
|
|
367
|
+
return cbk(knownError);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (!!err) {
|
|
371
|
+
return cbk([
|
|
372
|
+
503,
|
|
373
|
+
'UnexpectedErrorAddingAssetToMintBatch',
|
|
374
|
+
{err},
|
|
375
|
+
]);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
if (!res) {
|
|
379
|
+
return cbk([503, 'ExpectedResponseToAddAssetToMintBatch']);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
try {
|
|
383
|
+
return cbk(null, rpcBatchAsBatch({batch: res.pending_batch}));
|
|
384
|
+
} catch (err: any) {
|
|
385
|
+
return cbk([503, err.message]);
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
},
|
|
389
|
+
],
|
|
390
|
+
},
|
|
391
|
+
returnResult({reject, resolve, of: 'add'}, cbk),
|
|
392
|
+
);
|
|
393
|
+
});
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
export default addAssetToMintBatch;
|
|
@@ -0,0 +1,95 @@
|
|
|
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 type {AuthenticatedTapdArgs} from '../../typescript/index.js';
|
|
9
|
+
import type {TapdCallback} from '../../typescript/index.js';
|
|
10
|
+
import type {TapdError} from '../../typescript/index.js';
|
|
11
|
+
import type {TapdMethod} from '../../typescript/index.js';
|
|
12
|
+
|
|
13
|
+
const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
|
|
14
|
+
const method = 'cancelBatch';
|
|
15
|
+
const type = 'mint';
|
|
16
|
+
|
|
17
|
+
export type CancelMintBatchArgs = AuthenticatedTapdArgs;
|
|
18
|
+
|
|
19
|
+
export type CancelMintBatchResult = {
|
|
20
|
+
/** Cancelled Batch Key Hex */
|
|
21
|
+
id: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
type Tasks = {
|
|
25
|
+
cancel: CancelMintBatchResult;
|
|
26
|
+
validate: undefined;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/** Cancel the pending mint batch
|
|
30
|
+
|
|
31
|
+
Requires `mint:write` permission
|
|
32
|
+
|
|
33
|
+
{
|
|
34
|
+
tapd: <Authenticated tapd API Object>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@returns via cbk or Promise
|
|
38
|
+
{
|
|
39
|
+
id: <Cancelled Batch Key Hex String>
|
|
40
|
+
}
|
|
41
|
+
*/
|
|
42
|
+
const cancelMintBatch: TapdMethod<
|
|
43
|
+
CancelMintBatchArgs,
|
|
44
|
+
CancelMintBatchResult
|
|
45
|
+
> = (args: CancelMintBatchArgs, cbk?: TapdCallback<CancelMintBatchResult>) => {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
return asyncAuto<Tasks, TapdError>(
|
|
48
|
+
{
|
|
49
|
+
// Check arguments
|
|
50
|
+
validate: cbk => {
|
|
51
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
52
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToCancelMintBatch']);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return cbk();
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
// Cancel the batch
|
|
59
|
+
cancel: [
|
|
60
|
+
'validate',
|
|
61
|
+
({}, cbk) => {
|
|
62
|
+
return args.tapd[type][method]({}, (err: any, res: any) => {
|
|
63
|
+
if (isConnectionFailure({err})) {
|
|
64
|
+
return cbk([503, 'FailedToConnectToTapdToCancelMintBatch']);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (isPermissionDenied({err})) {
|
|
68
|
+
return cbk([403, 'PermissionDeniedToCancelMintBatch']);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const knownError = mintRpcError({err});
|
|
72
|
+
|
|
73
|
+
if (!!knownError) {
|
|
74
|
+
return cbk(knownError);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (!!err) {
|
|
78
|
+
return cbk([503, 'UnexpectedErrorCancelingMintBatch', {err}]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (!res || !isBuffer(res.batch_key) || !res.batch_key.length) {
|
|
82
|
+
return cbk([503, 'ExpectedBatchKeyInCancelBatchResponse']);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return cbk(null, {id: res.batch_key.toString('hex')});
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
returnResult({reject, resolve, of: 'cancel'}, cbk),
|
|
91
|
+
);
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export default cancelMintBatch;
|
|
@@ -0,0 +1,181 @@
|
|
|
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 = 'finalizeBatch';
|
|
21
|
+
const type = 'mint';
|
|
22
|
+
|
|
23
|
+
export type FinalizeMintBatchArgs = 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 FinalizeMintBatchResult = Batch;
|
|
37
|
+
|
|
38
|
+
type Tasks = {
|
|
39
|
+
finalize: FinalizeMintBatchResult;
|
|
40
|
+
validate: undefined;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/** Finalize the pending mint batch, and broadcast the genesis transaction
|
|
44
|
+
|
|
45
|
+
Requires `mint:write` permission
|
|
46
|
+
|
|
47
|
+
tapd funds the batch first when it is not funded yet
|
|
48
|
+
|
|
49
|
+
A tapscript sibling is optional: give `tapscript_leaves` or a
|
|
50
|
+
`tapscript_branch`, not both.
|
|
51
|
+
|
|
52
|
+
{
|
|
53
|
+
[fee_tokens_per_vbyte]: <Fee Tokens Per Virtual Byte Number>
|
|
54
|
+
[tapscript_branch]: {
|
|
55
|
+
left: <Left Tap Branch Hash Hex String>
|
|
56
|
+
right: <Right Tap Branch Hash Hex String>
|
|
57
|
+
}
|
|
58
|
+
[tapscript_leaves]: [<Tapscript Leaf Script Hex String>]
|
|
59
|
+
tapd: <Authenticated tapd API Object>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@returns via cbk or Promise
|
|
63
|
+
{
|
|
64
|
+
assets: [{
|
|
65
|
+
amount: <Asset Units Numeric String>
|
|
66
|
+
[group_anchor]: <Name of the Asset That Anchors a New Group String>
|
|
67
|
+
[group_internal_key]: <Group Internal Public Key Hex String>
|
|
68
|
+
[group_key]: <Group Key Hex String>
|
|
69
|
+
[group_tapscript_root]: <Group Tapscript Root Hex String>
|
|
70
|
+
is_collectible: <Asset Is Collectible Bool>
|
|
71
|
+
is_new_group: <Asset Starts a New Group Bool>
|
|
72
|
+
[metadata]: <Metadata Hex String>
|
|
73
|
+
[metadata_hash]: <Metadata Hash Hex String>
|
|
74
|
+
[metadata_type]: <Metadata Type String> // json, opaque
|
|
75
|
+
name: <Asset Name String>
|
|
76
|
+
[script_key]: <Script Key Hex String>
|
|
77
|
+
version: <Asset Version Number>
|
|
78
|
+
}]
|
|
79
|
+
created_at: <Created At ISO 8601 Date String>
|
|
80
|
+
created_height: <Block Height When Created Number>
|
|
81
|
+
id: <Batch Key Hex String>
|
|
82
|
+
[psbt]: <Genesis Transaction PSBT Hex String>
|
|
83
|
+
state: <Batch State String>
|
|
84
|
+
[transaction_id]: <Genesis Transaction Id Hex String>
|
|
85
|
+
unsealed_assets: []
|
|
86
|
+
}
|
|
87
|
+
*/
|
|
88
|
+
const finalizeMintBatch: TapdMethod<
|
|
89
|
+
FinalizeMintBatchArgs,
|
|
90
|
+
FinalizeMintBatchResult
|
|
91
|
+
> = (
|
|
92
|
+
args: FinalizeMintBatchArgs,
|
|
93
|
+
cbk?: TapdCallback<FinalizeMintBatchResult>,
|
|
94
|
+
) => {
|
|
95
|
+
return new Promise((resolve, reject) => {
|
|
96
|
+
return asyncAuto<Tasks, TapdError>(
|
|
97
|
+
{
|
|
98
|
+
// Check arguments
|
|
99
|
+
validate: cbk => {
|
|
100
|
+
const branch = args.tapscript_branch;
|
|
101
|
+
const leaves = args.tapscript_leaves;
|
|
102
|
+
|
|
103
|
+
if (args.fee_tokens_per_vbyte !== undefined) {
|
|
104
|
+
if (!isFeeRate(args.fee_tokens_per_vbyte)) {
|
|
105
|
+
return cbk([400, 'ExpectedFeeRateToFinalizeMintBatch']);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (!!branch && !!leaves) {
|
|
110
|
+
return cbk([400, 'ExpectedTapscriptLeavesOrBranchNotBoth']);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (!!branch && (!isHash(branch.left) || !isHash(branch.right))) {
|
|
114
|
+
return cbk([
|
|
115
|
+
400,
|
|
116
|
+
'ExpectedTapscriptBranchHashesToFinalizeMintBatch',
|
|
117
|
+
]);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (!!leaves && (!isArray(leaves) || !leaves.length)) {
|
|
121
|
+
return cbk([400, 'ExpectedTapscriptLeavesToFinalizeMintBatch']);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (!!leaves && !leaves.every(isScript)) {
|
|
125
|
+
return cbk([400, 'ExpectedHexTapscriptLeavesToFinalizeMintBatch']);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (!isTapd({method, type, tapd: args.tapd})) {
|
|
129
|
+
return cbk([400, 'ExpectedAuthenticatedTapdToFinalizeMintBatch']);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return cbk();
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
// Finalize the batch
|
|
136
|
+
finalize: [
|
|
137
|
+
'validate',
|
|
138
|
+
({}, cbk) => {
|
|
139
|
+
const request = {
|
|
140
|
+
...mintFundingRequest(args),
|
|
141
|
+
short_response: false,
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
return args.tapd[type][method](request, (err: any, res: any) => {
|
|
145
|
+
if (isConnectionFailure({err})) {
|
|
146
|
+
return cbk([503, 'FailedToConnectToTapdToFinalizeMintBatch']);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (isPermissionDenied({err})) {
|
|
150
|
+
return cbk([403, 'PermissionDeniedToFinalizeMintBatch']);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const knownError = mintRpcError({err});
|
|
154
|
+
|
|
155
|
+
if (!!knownError) {
|
|
156
|
+
return cbk(knownError);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (!!err) {
|
|
160
|
+
return cbk([503, 'UnexpectedErrorFinalizingMintBatch', {err}]);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (!res || !res.batch) {
|
|
164
|
+
return cbk([503, 'ExpectedMintBatchInFinalizeBatchResponse']);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
try {
|
|
168
|
+
return cbk(null, rpcBatchAsBatch({batch: res.batch}));
|
|
169
|
+
} catch (err: any) {
|
|
170
|
+
return cbk([503, err.message]);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
returnResult({reject, resolve, of: 'finalize'}, cbk),
|
|
177
|
+
);
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export default finalizeMintBatch;
|