tapass 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/README.md +2792 -3
  2. package/dist/index.d.ts +21 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/tapd_methods/address/create_asset_address.d.ts +2 -26
  5. package/dist/tapd_methods/address/create_asset_address.d.ts.map +1 -1
  6. package/dist/tapd_methods/address/create_asset_address.js +5 -37
  7. package/dist/tapd_methods/address/create_asset_address.js.map +1 -1
  8. package/dist/tapd_methods/address/decode_asset_address.d.ts +38 -0
  9. package/dist/tapd_methods/address/decode_asset_address.d.ts.map +1 -0
  10. package/dist/tapd_methods/address/decode_asset_address.js +81 -0
  11. package/dist/tapd_methods/address/decode_asset_address.js.map +1 -0
  12. package/dist/tapd_methods/address/get_asset_addresses.d.ts +54 -0
  13. package/dist/tapd_methods/address/get_asset_addresses.d.ts.map +1 -0
  14. package/dist/tapd_methods/address/get_asset_addresses.js +153 -0
  15. package/dist/tapd_methods/address/get_asset_addresses.js.map +1 -0
  16. package/dist/tapd_methods/address/get_asset_receives.d.ts +72 -0
  17. package/dist/tapd_methods/address/get_asset_receives.d.ts.map +1 -0
  18. package/dist/tapd_methods/address/get_asset_receives.js +191 -0
  19. package/dist/tapd_methods/address/get_asset_receives.js.map +1 -0
  20. package/dist/tapd_methods/address/index.d.ts +11 -0
  21. package/dist/tapd_methods/address/index.d.ts.map +1 -1
  22. package/dist/tapd_methods/address/index.js +4 -0
  23. package/dist/tapd_methods/address/index.js.map +1 -1
  24. package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts +53 -0
  25. package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts.map +1 -0
  26. package/dist/tapd_methods/address/subscribe_to_asset_receives.js +93 -0
  27. package/dist/tapd_methods/address/subscribe_to_asset_receives.js.map +1 -0
  28. package/dist/tapd_methods/assets/get_asset_balances.d.ts +64 -0
  29. package/dist/tapd_methods/assets/get_asset_balances.d.ts.map +1 -0
  30. package/dist/tapd_methods/assets/get_asset_balances.js +177 -0
  31. package/dist/tapd_methods/assets/get_asset_balances.js.map +1 -0
  32. package/dist/tapd_methods/assets/get_asset_burns.d.ts +40 -0
  33. package/dist/tapd_methods/assets/get_asset_burns.d.ts.map +1 -0
  34. package/dist/tapd_methods/assets/get_asset_burns.js +92 -0
  35. package/dist/tapd_methods/assets/get_asset_burns.js.map +1 -0
  36. package/dist/tapd_methods/assets/get_asset_groups.d.ts +35 -0
  37. package/dist/tapd_methods/assets/get_asset_groups.d.ts.map +1 -0
  38. package/dist/tapd_methods/assets/get_asset_groups.js +78 -0
  39. package/dist/tapd_methods/assets/get_asset_groups.js.map +1 -0
  40. package/dist/tapd_methods/assets/get_asset_metadata.d.ts +40 -0
  41. package/dist/tapd_methods/assets/get_asset_metadata.d.ts.map +1 -0
  42. package/dist/tapd_methods/assets/get_asset_metadata.js +99 -0
  43. package/dist/tapd_methods/assets/get_asset_metadata.js.map +1 -0
  44. package/dist/tapd_methods/assets/get_asset_utxos.d.ts +83 -0
  45. package/dist/tapd_methods/assets/get_asset_utxos.d.ts.map +1 -0
  46. package/dist/tapd_methods/assets/get_asset_utxos.js +135 -0
  47. package/dist/tapd_methods/assets/get_asset_utxos.js.map +1 -0
  48. package/dist/tapd_methods/assets/get_assets.d.ts +113 -0
  49. package/dist/tapd_methods/assets/get_assets.d.ts.map +1 -0
  50. package/dist/tapd_methods/assets/get_assets.js +243 -0
  51. package/dist/tapd_methods/assets/get_assets.js.map +1 -0
  52. package/dist/tapd_methods/assets/index.d.ts +19 -0
  53. package/dist/tapd_methods/assets/index.d.ts.map +1 -0
  54. package/dist/tapd_methods/assets/index.js +7 -0
  55. package/dist/tapd_methods/assets/index.js.map +1 -0
  56. package/dist/tapd_methods/channels/asset_payment_args_error.d.ts +18 -0
  57. package/dist/tapd_methods/channels/asset_payment_args_error.d.ts.map +1 -0
  58. package/dist/tapd_methods/channels/asset_payment_args_error.js +59 -0
  59. package/dist/tapd_methods/channels/asset_payment_args_error.js.map +1 -0
  60. package/dist/tapd_methods/channels/asset_payment_request.d.ts +68 -0
  61. package/dist/tapd_methods/channels/asset_payment_request.d.ts.map +1 -0
  62. package/dist/tapd_methods/channels/asset_payment_request.js +54 -0
  63. package/dist/tapd_methods/channels/asset_payment_request.js.map +1 -0
  64. package/dist/tapd_methods/channels/create_asset_invoice.d.ts +134 -0
  65. package/dist/tapd_methods/channels/create_asset_invoice.d.ts.map +1 -0
  66. package/dist/tapd_methods/channels/create_asset_invoice.js +264 -0
  67. package/dist/tapd_methods/channels/create_asset_invoice.js.map +1 -0
  68. package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts +72 -0
  69. package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts.map +1 -0
  70. package/dist/tapd_methods/channels/decode_asset_payment_request.js +143 -0
  71. package/dist/tapd_methods/channels/decode_asset_payment_request.js.map +1 -0
  72. package/dist/tapd_methods/channels/emit_asset_payment.d.ts +30 -0
  73. package/dist/tapd_methods/channels/emit_asset_payment.d.ts.map +1 -0
  74. package/dist/tapd_methods/channels/emit_asset_payment.js +59 -0
  75. package/dist/tapd_methods/channels/emit_asset_payment.js.map +1 -0
  76. package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts +51 -0
  77. package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts.map +1 -0
  78. package/dist/tapd_methods/channels/encode_asset_custom_records.js +127 -0
  79. package/dist/tapd_methods/channels/encode_asset_custom_records.js.map +1 -0
  80. package/dist/tapd_methods/channels/get_asset_invoices.d.ts +84 -0
  81. package/dist/tapd_methods/channels/get_asset_invoices.d.ts.map +1 -0
  82. package/dist/tapd_methods/channels/get_asset_invoices.js +193 -0
  83. package/dist/tapd_methods/channels/get_asset_invoices.js.map +1 -0
  84. package/dist/tapd_methods/channels/get_asset_payments.d.ts +69 -0
  85. package/dist/tapd_methods/channels/get_asset_payments.d.ts.map +1 -0
  86. package/dist/tapd_methods/channels/get_asset_payments.js +180 -0
  87. package/dist/tapd_methods/channels/get_asset_payments.js.map +1 -0
  88. package/dist/tapd_methods/channels/index.d.ts +31 -0
  89. package/dist/tapd_methods/channels/index.d.ts.map +1 -0
  90. package/dist/tapd_methods/channels/index.js +12 -0
  91. package/dist/tapd_methods/channels/index.js.map +1 -0
  92. package/dist/tapd_methods/channels/open_asset_channel.d.ts +53 -0
  93. package/dist/tapd_methods/channels/open_asset_channel.d.ts.map +1 -0
  94. package/dist/tapd_methods/channels/open_asset_channel.js +128 -0
  95. package/dist/tapd_methods/channels/open_asset_channel.js.map +1 -0
  96. package/dist/tapd_methods/channels/pay_asset_invoice.d.ts +95 -0
  97. package/dist/tapd_methods/channels/pay_asset_invoice.d.ts.map +1 -0
  98. package/dist/tapd_methods/channels/pay_asset_invoice.js +132 -0
  99. package/dist/tapd_methods/channels/pay_asset_invoice.js.map +1 -0
  100. package/dist/tapd_methods/channels/send_asset_keysend.d.ts +84 -0
  101. package/dist/tapd_methods/channels/send_asset_keysend.d.ts.map +1 -0
  102. package/dist/tapd_methods/channels/send_asset_keysend.js +144 -0
  103. package/dist/tapd_methods/channels/send_asset_keysend.js.map +1 -0
  104. package/dist/tapd_methods/channels/send_asset_payment.d.ts +33 -0
  105. package/dist/tapd_methods/channels/send_asset_payment.d.ts.map +1 -0
  106. package/dist/tapd_methods/channels/send_asset_payment.js +114 -0
  107. package/dist/tapd_methods/channels/send_asset_payment.js.map +1 -0
  108. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts +51 -0
  109. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts.map +1 -0
  110. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js +104 -0
  111. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js.map +1 -0
  112. package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts +59 -0
  113. package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts.map +1 -0
  114. package/dist/tapd_methods/channels/subscribe_to_asset_payments.js +104 -0
  115. package/dist/tapd_methods/channels/subscribe_to_asset_payments.js.map +1 -0
  116. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts +62 -0
  117. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts.map +1 -0
  118. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js +106 -0
  119. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js.map +1 -0
  120. package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts +45 -0
  121. package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts.map +1 -0
  122. package/dist/tapd_methods/daemon/create_tapd_macaroon.js +99 -0
  123. package/dist/tapd_methods/daemon/create_tapd_macaroon.js.map +1 -0
  124. package/dist/tapd_methods/daemon/index.d.ts +8 -0
  125. package/dist/tapd_methods/daemon/index.d.ts.map +1 -0
  126. package/dist/tapd_methods/daemon/index.js +4 -0
  127. package/dist/tapd_methods/daemon/index.js.map +1 -0
  128. package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts +23 -0
  129. package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts.map +1 -0
  130. package/dist/tapd_methods/daemon/set_tapd_debug_level.js +60 -0
  131. package/dist/tapd_methods/daemon/set_tapd_debug_level.js.map +1 -0
  132. package/dist/tapd_methods/daemon/stop_tapd.d.ts +16 -0
  133. package/dist/tapd_methods/daemon/stop_tapd.d.ts.map +1 -0
  134. package/dist/tapd_methods/daemon/stop_tapd.js +50 -0
  135. package/dist/tapd_methods/daemon/stop_tapd.js.map +1 -0
  136. package/dist/tapd_methods/index.d.ts +8 -0
  137. package/dist/tapd_methods/index.d.ts.map +1 -1
  138. package/dist/tapd_methods/index.js +8 -0
  139. package/dist/tapd_methods/index.js.map +1 -1
  140. package/dist/tapd_methods/info/get_tapd_info.d.ts +44 -0
  141. package/dist/tapd_methods/info/get_tapd_info.d.ts.map +1 -0
  142. package/dist/tapd_methods/info/get_tapd_info.js +80 -0
  143. package/dist/tapd_methods/info/get_tapd_info.js.map +1 -0
  144. package/dist/tapd_methods/info/index.d.ts +4 -0
  145. package/dist/tapd_methods/info/index.d.ts.map +1 -0
  146. package/dist/tapd_methods/info/index.js +2 -0
  147. package/dist/tapd_methods/info/index.js.map +1 -0
  148. package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts +124 -0
  149. package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts.map +1 -0
  150. package/dist/tapd_methods/mint/add_asset_to_mint_batch.js +283 -0
  151. package/dist/tapd_methods/mint/add_asset_to_mint_batch.js.map +1 -0
  152. package/dist/tapd_methods/mint/cancel_mint_batch.d.ts +23 -0
  153. package/dist/tapd_methods/mint/cancel_mint_batch.d.ts.map +1 -0
  154. package/dist/tapd_methods/mint/cancel_mint_batch.js +62 -0
  155. package/dist/tapd_methods/mint/cancel_mint_batch.js.map +1 -0
  156. package/dist/tapd_methods/mint/finalize_mint_batch.d.ts +64 -0
  157. package/dist/tapd_methods/mint/finalize_mint_batch.d.ts.map +1 -0
  158. package/dist/tapd_methods/mint/finalize_mint_batch.js +130 -0
  159. package/dist/tapd_methods/mint/finalize_mint_batch.js.map +1 -0
  160. package/dist/tapd_methods/mint/fund_mint_batch.d.ts +82 -0
  161. package/dist/tapd_methods/mint/fund_mint_batch.d.ts.map +1 -0
  162. package/dist/tapd_methods/mint/fund_mint_batch.js +145 -0
  163. package/dist/tapd_methods/mint/fund_mint_batch.js.map +1 -0
  164. package/dist/tapd_methods/mint/get_mint_batches.d.ts +72 -0
  165. package/dist/tapd_methods/mint/get_mint_batches.d.ts.map +1 -0
  166. package/dist/tapd_methods/mint/get_mint_batches.js +123 -0
  167. package/dist/tapd_methods/mint/get_mint_batches.js.map +1 -0
  168. package/dist/tapd_methods/mint/index.d.ts +21 -0
  169. package/dist/tapd_methods/mint/index.d.ts.map +1 -0
  170. package/dist/tapd_methods/mint/index.js +8 -0
  171. package/dist/tapd_methods/mint/index.js.map +1 -0
  172. package/dist/tapd_methods/mint/seal_mint_batch.d.ts +64 -0
  173. package/dist/tapd_methods/mint/seal_mint_batch.d.ts.map +1 -0
  174. package/dist/tapd_methods/mint/seal_mint_batch.js +135 -0
  175. package/dist/tapd_methods/mint/seal_mint_batch.js.map +1 -0
  176. package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts +52 -0
  177. package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts.map +1 -0
  178. package/dist/tapd_methods/mint/subscribe_to_mint_events.js +91 -0
  179. package/dist/tapd_methods/mint/subscribe_to_mint_events.js.map +1 -0
  180. package/dist/tapd_methods/proofs/decode_asset_proof.d.ts +61 -0
  181. package/dist/tapd_methods/proofs/decode_asset_proof.d.ts.map +1 -0
  182. package/dist/tapd_methods/proofs/decode_asset_proof.js +129 -0
  183. package/dist/tapd_methods/proofs/decode_asset_proof.js.map +1 -0
  184. package/dist/tapd_methods/proofs/export_asset_proof.d.ts +39 -0
  185. package/dist/tapd_methods/proofs/export_asset_proof.d.ts.map +1 -0
  186. package/dist/tapd_methods/proofs/export_asset_proof.js +113 -0
  187. package/dist/tapd_methods/proofs/export_asset_proof.js.map +1 -0
  188. package/dist/tapd_methods/proofs/index.d.ts +13 -0
  189. package/dist/tapd_methods/proofs/index.d.ts.map +1 -0
  190. package/dist/tapd_methods/proofs/index.js +5 -0
  191. package/dist/tapd_methods/proofs/index.js.map +1 -0
  192. package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts +29 -0
  193. package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts.map +1 -0
  194. package/dist/tapd_methods/proofs/unpack_asset_proof_file.js +85 -0
  195. package/dist/tapd_methods/proofs/unpack_asset_proof_file.js.map +1 -0
  196. package/dist/tapd_methods/proofs/verify_asset_proof.d.ts +58 -0
  197. package/dist/tapd_methods/proofs/verify_asset_proof.d.ts.map +1 -0
  198. package/dist/tapd_methods/proofs/verify_asset_proof.js +110 -0
  199. package/dist/tapd_methods/proofs/verify_asset_proof.js.map +1 -0
  200. package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts +31 -0
  201. package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts.map +1 -0
  202. package/dist/tapd_methods/rfq/add_asset_buy_offer.js +88 -0
  203. package/dist/tapd_methods/rfq/add_asset_buy_offer.js.map +1 -0
  204. package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts +79 -0
  205. package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts.map +1 -0
  206. package/dist/tapd_methods/rfq/add_asset_buy_order.js +200 -0
  207. package/dist/tapd_methods/rfq/add_asset_buy_order.js.map +1 -0
  208. package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts +30 -0
  209. package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts.map +1 -0
  210. package/dist/tapd_methods/rfq/add_asset_sell_offer.js +87 -0
  211. package/dist/tapd_methods/rfq/add_asset_sell_offer.js.map +1 -0
  212. package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts +79 -0
  213. package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts.map +1 -0
  214. package/dist/tapd_methods/rfq/add_asset_sell_order.js +200 -0
  215. package/dist/tapd_methods/rfq/add_asset_sell_order.js.map +1 -0
  216. package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts +52 -0
  217. package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts.map +1 -0
  218. package/dist/tapd_methods/rfq/get_accepted_quotes.js +100 -0
  219. package/dist/tapd_methods/rfq/get_accepted_quotes.js.map +1 -0
  220. package/dist/tapd_methods/rfq/get_asset_forwards.d.ts +70 -0
  221. package/dist/tapd_methods/rfq/get_asset_forwards.d.ts.map +1 -0
  222. package/dist/tapd_methods/rfq/get_asset_forwards.js +185 -0
  223. package/dist/tapd_methods/rfq/get_asset_forwards.js.map +1 -0
  224. package/dist/tapd_methods/rfq/index.d.ts +19 -0
  225. package/dist/tapd_methods/rfq/index.d.ts.map +1 -0
  226. package/dist/tapd_methods/rfq/index.js +8 -0
  227. package/dist/tapd_methods/rfq/index.js.map +1 -0
  228. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts +68 -0
  229. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts.map +1 -0
  230. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js +107 -0
  231. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js.map +1 -0
  232. package/dist/tapd_methods/send/burn_asset.d.ts +135 -0
  233. package/dist/tapd_methods/send/burn_asset.d.ts.map +1 -0
  234. package/dist/tapd_methods/send/burn_asset.js +220 -0
  235. package/dist/tapd_methods/send/burn_asset.js.map +1 -0
  236. package/dist/tapd_methods/send/get_asset_transfers.d.ts +73 -0
  237. package/dist/tapd_methods/send/get_asset_transfers.d.ts.map +1 -0
  238. package/dist/tapd_methods/send/get_asset_transfers.js +122 -0
  239. package/dist/tapd_methods/send/get_asset_transfers.js.map +1 -0
  240. package/dist/tapd_methods/send/index.d.ts +15 -0
  241. package/dist/tapd_methods/send/index.d.ts.map +1 -0
  242. package/dist/tapd_methods/send/index.js +6 -0
  243. package/dist/tapd_methods/send/index.js.map +1 -0
  244. package/dist/tapd_methods/send/register_asset_transfer.d.ts +77 -0
  245. package/dist/tapd_methods/send/register_asset_transfer.d.ts.map +1 -0
  246. package/dist/tapd_methods/send/register_asset_transfer.js +165 -0
  247. package/dist/tapd_methods/send/register_asset_transfer.js.map +1 -0
  248. package/dist/tapd_methods/send/send_asset.d.ts +94 -0
  249. package/dist/tapd_methods/send/send_asset.d.ts.map +1 -0
  250. package/dist/tapd_methods/send/send_asset.js +169 -0
  251. package/dist/tapd_methods/send/send_asset.js.map +1 -0
  252. package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts +117 -0
  253. package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts.map +1 -0
  254. package/dist/tapd_methods/send/subscribe_to_asset_sends.js +159 -0
  255. package/dist/tapd_methods/send/subscribe_to_asset_sends.js.map +1 -0
  256. package/dist/tapd_requests/decimal_as_fixed_point.d.ts +23 -0
  257. package/dist/tapd_requests/decimal_as_fixed_point.d.ts.map +1 -0
  258. package/dist/tapd_requests/decimal_as_fixed_point.js +31 -0
  259. package/dist/tapd_requests/decimal_as_fixed_point.js.map +1 -0
  260. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts +13 -0
  261. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts.map +1 -0
  262. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js +21 -0
  263. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js.map +1 -0
  264. package/dist/tapd_requests/index.d.ts +5 -0
  265. package/dist/tapd_requests/index.d.ts.map +1 -1
  266. package/dist/tapd_requests/index.js +5 -0
  267. package/dist/tapd_requests/index.js.map +1 -1
  268. package/dist/tapd_requests/is_method_unsupported.d.ts +24 -0
  269. package/dist/tapd_requests/is_method_unsupported.d.ts.map +1 -0
  270. package/dist/tapd_requests/is_method_unsupported.js +27 -0
  271. package/dist/tapd_requests/is_method_unsupported.js.map +1 -0
  272. package/dist/tapd_requests/mint_funding_request.d.ts +53 -0
  273. package/dist/tapd_requests/mint_funding_request.d.ts.map +1 -0
  274. package/dist/tapd_requests/mint_funding_request.js +48 -0
  275. package/dist/tapd_requests/mint_funding_request.js.map +1 -0
  276. package/dist/tapd_requests/script_key_type_query.d.ts +26 -0
  277. package/dist/tapd_requests/script_key_type_query.d.ts.map +1 -0
  278. package/dist/tapd_requests/script_key_type_query.js +41 -0
  279. package/dist/tapd_requests/script_key_type_query.js.map +1 -0
  280. package/dist/tapd_responses/asset_channel_rpc_error.d.ts +19 -0
  281. package/dist/tapd_responses/asset_channel_rpc_error.d.ts.map +1 -0
  282. package/dist/tapd_responses/asset_channel_rpc_error.js +69 -0
  283. package/dist/tapd_responses/asset_channel_rpc_error.js.map +1 -0
  284. package/dist/tapd_responses/batch_states.d.ts +4 -0
  285. package/dist/tapd_responses/batch_states.d.ts.map +1 -0
  286. package/dist/tapd_responses/batch_states.js +13 -0
  287. package/dist/tapd_responses/batch_states.js.map +1 -0
  288. package/dist/tapd_responses/fixed_point_as_decimal.d.ts +25 -0
  289. package/dist/tapd_responses/fixed_point_as_decimal.d.ts.map +1 -0
  290. package/dist/tapd_responses/fixed_point_as_decimal.js +39 -0
  291. package/dist/tapd_responses/fixed_point_as_decimal.js.map +1 -0
  292. package/dist/tapd_responses/index.d.ts +76 -0
  293. package/dist/tapd_responses/index.d.ts.map +1 -0
  294. package/dist/tapd_responses/index.js +30 -0
  295. package/dist/tapd_responses/index.js.map +1 -0
  296. package/dist/tapd_responses/long_key_as_number.d.ts +16 -0
  297. package/dist/tapd_responses/long_key_as_number.d.ts.map +1 -0
  298. package/dist/tapd_responses/long_key_as_number.js +28 -0
  299. package/dist/tapd_responses/long_key_as_number.js.map +1 -0
  300. package/dist/tapd_responses/mint_rpc_error.d.ts +19 -0
  301. package/dist/tapd_responses/mint_rpc_error.d.ts.map +1 -0
  302. package/dist/tapd_responses/mint_rpc_error.js +35 -0
  303. package/dist/tapd_responses/mint_rpc_error.js.map +1 -0
  304. package/dist/tapd_responses/outpoint_as_transaction.d.ts +19 -0
  305. package/dist/tapd_responses/outpoint_as_transaction.d.ts.map +1 -0
  306. package/dist/tapd_responses/outpoint_as_transaction.js +23 -0
  307. package/dist/tapd_responses/outpoint_as_transaction.js.map +1 -0
  308. package/dist/tapd_responses/receive_statuses.d.ts +4 -0
  309. package/dist/tapd_responses/receive_statuses.d.ts.map +1 -0
  310. package/dist/tapd_responses/receive_statuses.js +9 -0
  311. package/dist/tapd_responses/receive_statuses.js.map +1 -0
  312. package/dist/tapd_responses/rpc_addr_as_address.d.ts +79 -0
  313. package/dist/tapd_responses/rpc_addr_as_address.d.ts.map +1 -0
  314. package/dist/tapd_responses/rpc_addr_as_address.js +87 -0
  315. package/dist/tapd_responses/rpc_addr_as_address.js.map +1 -0
  316. package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts +63 -0
  317. package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts.map +1 -0
  318. package/dist/tapd_responses/rpc_addr_event_as_receive.js +64 -0
  319. package/dist/tapd_responses/rpc_addr_event_as_receive.js.map +1 -0
  320. package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts +34 -0
  321. package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts.map +1 -0
  322. package/dist/tapd_responses/rpc_asset_amount_as_amount.js +38 -0
  323. package/dist/tapd_responses/rpc_asset_amount_as_amount.js.map +1 -0
  324. package/dist/tapd_responses/rpc_asset_as_asset.d.ts +204 -0
  325. package/dist/tapd_responses/rpc_asset_as_asset.d.ts.map +1 -0
  326. package/dist/tapd_responses/rpc_asset_as_asset.js +174 -0
  327. package/dist/tapd_responses/rpc_asset_as_asset.js.map +1 -0
  328. package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts +53 -0
  329. package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts.map +1 -0
  330. package/dist/tapd_responses/rpc_asset_balance_as_balance.js +53 -0
  331. package/dist/tapd_responses/rpc_asset_balance_as_balance.js.map +1 -0
  332. package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts +51 -0
  333. package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts.map +1 -0
  334. package/dist/tapd_responses/rpc_asset_burn_as_burn.js +54 -0
  335. package/dist/tapd_responses/rpc_asset_burn_as_burn.js.map +1 -0
  336. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts +39 -0
  337. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts.map +1 -0
  338. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js +45 -0
  339. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js.map +1 -0
  340. package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts +68 -0
  341. package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts.map +1 -0
  342. package/dist/tapd_responses/rpc_asset_meta_as_metadata.js +70 -0
  343. package/dist/tapd_responses/rpc_asset_meta_as_metadata.js.map +1 -0
  344. package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts +76 -0
  345. package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts.map +1 -0
  346. package/dist/tapd_responses/rpc_asset_pay_req_as_request.js +73 -0
  347. package/dist/tapd_responses/rpc_asset_pay_req_as_request.js.map +1 -0
  348. package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts +39 -0
  349. package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts.map +1 -0
  350. package/dist/tapd_responses/rpc_asset_payment_as_payment.js +45 -0
  351. package/dist/tapd_responses/rpc_asset_payment_as_payment.js.map +1 -0
  352. package/dist/tapd_responses/rpc_batch_as_batch.d.ts +158 -0
  353. package/dist/tapd_responses/rpc_batch_as_batch.d.ts.map +1 -0
  354. package/dist/tapd_responses/rpc_batch_as_batch.js +181 -0
  355. package/dist/tapd_responses/rpc_batch_as_batch.js.map +1 -0
  356. package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts +83 -0
  357. package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts.map +1 -0
  358. package/dist/tapd_responses/rpc_buy_quote_as_quote.js +85 -0
  359. package/dist/tapd_responses/rpc_buy_quote_as_quote.js.map +1 -0
  360. package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts +161 -0
  361. package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts.map +1 -0
  362. package/dist/tapd_responses/rpc_decoded_proof_as_proof.js +138 -0
  363. package/dist/tapd_responses/rpc_decoded_proof_as_proof.js.map +1 -0
  364. package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts +100 -0
  365. package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts.map +1 -0
  366. package/dist/tapd_responses/rpc_forward_as_asset_forward.js +101 -0
  367. package/dist/tapd_responses/rpc_forward_as_asset_forward.js.map +1 -0
  368. package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts +76 -0
  369. package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts.map +1 -0
  370. package/dist/tapd_responses/rpc_grouped_assets_as_group.js +71 -0
  371. package/dist/tapd_responses/rpc_grouped_assets_as_group.js.map +1 -0
  372. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts +63 -0
  373. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts.map +1 -0
  374. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js +65 -0
  375. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js.map +1 -0
  376. package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts +53 -0
  377. package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts.map +1 -0
  378. package/dist/tapd_responses/rpc_receive_event_as_receive_update.js +52 -0
  379. package/dist/tapd_responses/rpc_receive_event_as_receive_update.js.map +1 -0
  380. package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts +70 -0
  381. package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts.map +1 -0
  382. package/dist/tapd_responses/rpc_rfq_event_as_event.js +89 -0
  383. package/dist/tapd_responses/rpc_rfq_event_as_event.js.map +1 -0
  384. package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts +80 -0
  385. package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts.map +1 -0
  386. package/dist/tapd_responses/rpc_sell_quote_as_quote.js +85 -0
  387. package/dist/tapd_responses/rpc_sell_quote_as_quote.js.map +1 -0
  388. package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts +124 -0
  389. package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts.map +1 -0
  390. package/dist/tapd_responses/rpc_send_event_as_send_event.js +161 -0
  391. package/dist/tapd_responses/rpc_send_event_as_send_event.js.map +1 -0
  392. package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts +241 -0
  393. package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts.map +1 -0
  394. package/dist/tapd_responses/rpc_transfer_as_transfer.js +212 -0
  395. package/dist/tapd_responses/rpc_transfer_as_transfer.js.map +1 -0
  396. package/dist/tapd_responses/short_channel_id_as_channel.d.ts +13 -0
  397. package/dist/tapd_responses/short_channel_id_as_channel.d.ts.map +1 -0
  398. package/dist/tapd_responses/short_channel_id_as_channel.js +26 -0
  399. package/dist/tapd_responses/short_channel_id_as_channel.js.map +1 -0
  400. package/package.json +7 -2
  401. package/src/index.ts +21 -0
  402. package/src/tapd_methods/address/create_asset_address.ts +7 -72
  403. package/src/tapd_methods/address/decode_asset_address.ts +117 -0
  404. package/src/tapd_methods/address/get_asset_addresses.ts +212 -0
  405. package/src/tapd_methods/address/get_asset_receives.ts +265 -0
  406. package/src/tapd_methods/address/index.ts +11 -0
  407. package/src/tapd_methods/address/subscribe_to_asset_receives.ts +114 -0
  408. package/src/tapd_methods/assets/get_asset_balances.ts +249 -0
  409. package/src/tapd_methods/assets/get_asset_burns.ts +133 -0
  410. package/src/tapd_methods/assets/get_asset_groups.ts +109 -0
  411. package/src/tapd_methods/assets/get_asset_metadata.ts +141 -0
  412. package/src/tapd_methods/assets/get_asset_utxos.ts +175 -0
  413. package/src/tapd_methods/assets/get_assets.ts +327 -0
  414. package/src/tapd_methods/assets/index.ts +18 -0
  415. package/src/tapd_methods/channels/asset_payment_args_error.ts +83 -0
  416. package/src/tapd_methods/channels/asset_payment_request.ts +76 -0
  417. package/src/tapd_methods/channels/create_asset_invoice.ts +387 -0
  418. package/src/tapd_methods/channels/decode_asset_payment_request.ts +192 -0
  419. package/src/tapd_methods/channels/emit_asset_payment.ts +78 -0
  420. package/src/tapd_methods/channels/encode_asset_custom_records.ts +187 -0
  421. package/src/tapd_methods/channels/get_asset_invoices.ts +258 -0
  422. package/src/tapd_methods/channels/get_asset_payments.ts +243 -0
  423. package/src/tapd_methods/channels/index.ts +30 -0
  424. package/src/tapd_methods/channels/open_asset_channel.ts +193 -0
  425. package/src/tapd_methods/channels/pay_asset_invoice.ts +171 -0
  426. package/src/tapd_methods/channels/send_asset_keysend.ts +196 -0
  427. package/src/tapd_methods/channels/send_asset_payment.ts +158 -0
  428. package/src/tapd_methods/channels/subscribe_to_asset_invoices.ts +134 -0
  429. package/src/tapd_methods/channels/subscribe_to_asset_payments.ts +126 -0
  430. package/src/tapd_methods/channels/subscribe_to_past_asset_payment.ts +132 -0
  431. package/src/tapd_methods/daemon/create_tapd_macaroon.ts +153 -0
  432. package/src/tapd_methods/daemon/index.ts +7 -0
  433. package/src/tapd_methods/daemon/set_tapd_debug_level.ts +90 -0
  434. package/src/tapd_methods/daemon/stop_tapd.ts +75 -0
  435. package/src/tapd_methods/index.ts +8 -0
  436. package/src/tapd_methods/info/get_tapd_info.ts +129 -0
  437. package/src/tapd_methods/info/index.ts +3 -0
  438. package/src/tapd_methods/mint/add_asset_to_mint_batch.ts +396 -0
  439. package/src/tapd_methods/mint/cancel_mint_batch.ts +95 -0
  440. package/src/tapd_methods/mint/finalize_mint_batch.ts +181 -0
  441. package/src/tapd_methods/mint/fund_mint_batch.ts +193 -0
  442. package/src/tapd_methods/mint/get_mint_batches.ts +162 -0
  443. package/src/tapd_methods/mint/index.ts +20 -0
  444. package/src/tapd_methods/mint/seal_mint_batch.ts +184 -0
  445. package/src/tapd_methods/mint/subscribe_to_mint_events.ts +104 -0
  446. package/src/tapd_methods/proofs/decode_asset_proof.ts +175 -0
  447. package/src/tapd_methods/proofs/export_asset_proof.ts +169 -0
  448. package/src/tapd_methods/proofs/index.ts +12 -0
  449. package/src/tapd_methods/proofs/unpack_asset_proof_file.ts +126 -0
  450. package/src/tapd_methods/proofs/verify_asset_proof.ts +156 -0
  451. package/src/tapd_methods/rfq/add_asset_buy_offer.ts +127 -0
  452. package/src/tapd_methods/rfq/add_asset_buy_order.ts +279 -0
  453. package/src/tapd_methods/rfq/add_asset_sell_offer.ts +126 -0
  454. package/src/tapd_methods/rfq/add_asset_sell_order.ts +279 -0
  455. package/src/tapd_methods/rfq/get_accepted_quotes.ts +137 -0
  456. package/src/tapd_methods/rfq/get_asset_forwards.ts +259 -0
  457. package/src/tapd_methods/rfq/index.ts +18 -0
  458. package/src/tapd_methods/rfq/subscribe_to_rfq_events.ts +130 -0
  459. package/src/tapd_methods/send/burn_asset.ts +280 -0
  460. package/src/tapd_methods/send/get_asset_transfers.ts +161 -0
  461. package/src/tapd_methods/send/index.ts +14 -0
  462. package/src/tapd_methods/send/register_asset_transfer.ts +219 -0
  463. package/src/tapd_methods/send/send_asset.ts +223 -0
  464. package/src/tapd_methods/send/subscribe_to_asset_sends.ts +181 -0
  465. package/src/tapd_requests/decimal_as_fixed_point.ts +36 -0
  466. package/src/tapd_requests/fee_rate_as_tokens_per_kw.ts +23 -0
  467. package/src/tapd_requests/index.ts +5 -0
  468. package/src/tapd_requests/is_method_unsupported.ts +33 -0
  469. package/src/tapd_requests/mint_funding_request.ts +57 -0
  470. package/src/tapd_requests/script_key_type_query.ts +44 -0
  471. package/src/tapd_responses/asset_channel_rpc_error.ts +73 -0
  472. package/src/tapd_responses/batch_states.ts +12 -0
  473. package/src/tapd_responses/fixed_point_as_decimal.ts +51 -0
  474. package/src/tapd_responses/index.ts +75 -0
  475. package/src/tapd_responses/long_key_as_number.ts +31 -0
  476. package/src/tapd_responses/mint_rpc_error.ts +39 -0
  477. package/src/tapd_responses/outpoint_as_transaction.ts +25 -0
  478. package/src/tapd_responses/receive_statuses.ts +8 -0
  479. package/src/tapd_responses/rpc_addr_as_address.ts +138 -0
  480. package/src/tapd_responses/rpc_addr_event_as_receive.ts +103 -0
  481. package/src/tapd_responses/rpc_asset_amount_as_amount.ts +57 -0
  482. package/src/tapd_responses/rpc_asset_as_asset.ts +299 -0
  483. package/src/tapd_responses/rpc_asset_balance_as_balance.ts +85 -0
  484. package/src/tapd_responses/rpc_asset_burn_as_burn.ts +85 -0
  485. package/src/tapd_responses/rpc_asset_invoice_as_invoice.ts +62 -0
  486. package/src/tapd_responses/rpc_asset_meta_as_metadata.ts +113 -0
  487. package/src/tapd_responses/rpc_asset_pay_req_as_request.ts +114 -0
  488. package/src/tapd_responses/rpc_asset_payment_as_payment.ts +62 -0
  489. package/src/tapd_responses/rpc_batch_as_batch.ts +281 -0
  490. package/src/tapd_responses/rpc_buy_quote_as_quote.ts +139 -0
  491. package/src/tapd_responses/rpc_decoded_proof_as_proof.ts +229 -0
  492. package/src/tapd_responses/rpc_forward_as_asset_forward.ts +164 -0
  493. package/src/tapd_responses/rpc_grouped_assets_as_group.ts +117 -0
  494. package/src/tapd_responses/rpc_managed_utxo_as_utxo.ts +105 -0
  495. package/src/tapd_responses/rpc_receive_event_as_receive_update.ts +84 -0
  496. package/src/tapd_responses/rpc_rfq_event_as_event.ts +123 -0
  497. package/src/tapd_responses/rpc_sell_quote_as_quote.ts +136 -0
  498. package/src/tapd_responses/rpc_send_event_as_send_event.ts +245 -0
  499. package/src/tapd_responses/rpc_transfer_as_transfer.ts +366 -0
  500. package/src/tapd_responses/short_channel_id_as_channel.ts +30 -0
  501. package/src/typescript/invoices.d.ts +30 -0
  502. 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;