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.
Files changed (600) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2886 -2
  3. package/dist/grpc/emit_subscription_error.d.ts +21 -0
  4. package/dist/grpc/emit_subscription_error.d.ts.map +1 -0
  5. package/dist/grpc/emit_subscription_error.js +26 -0
  6. package/dist/grpc/emit_subscription_error.js.map +1 -0
  7. package/dist/grpc/grpc_services.d.ts +46 -0
  8. package/dist/grpc/grpc_services.d.ts.map +1 -0
  9. package/dist/grpc/grpc_services.js +45 -0
  10. package/dist/grpc/grpc_services.js.map +1 -0
  11. package/dist/grpc/handle_remove_listener.d.ts +18 -0
  12. package/dist/grpc/handle_remove_listener.d.ts.map +1 -0
  13. package/dist/grpc/handle_remove_listener.js +22 -0
  14. package/dist/grpc/handle_remove_listener.js.map +1 -0
  15. package/dist/grpc/index.d.ts +32 -0
  16. package/dist/grpc/index.d.ts.map +1 -0
  17. package/dist/grpc/index.js +6 -0
  18. package/dist/grpc/index.js.map +1 -0
  19. package/dist/index.d.ts +25 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +3 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/tapd_grpc/api_for_proto.d.ts +28 -0
  24. package/dist/tapd_grpc/api_for_proto.d.ts.map +1 -0
  25. package/dist/tapd_grpc/api_for_proto.js +24 -0
  26. package/dist/tapd_grpc/api_for_proto.js.map +1 -0
  27. package/dist/tapd_grpc/authenticated_tapd_grpc.d.ts +35 -0
  28. package/dist/tapd_grpc/authenticated_tapd_grpc.d.ts.map +1 -0
  29. package/dist/tapd_grpc/authenticated_tapd_grpc.js +76 -0
  30. package/dist/tapd_grpc/authenticated_tapd_grpc.js.map +1 -0
  31. package/dist/tapd_grpc/decode_serialized.d.ts +18 -0
  32. package/dist/tapd_grpc/decode_serialized.d.ts.map +1 -0
  33. package/dist/tapd_grpc/decode_serialized.js +23 -0
  34. package/dist/tapd_grpc/decode_serialized.js.map +1 -0
  35. package/dist/tapd_grpc/grpc_credentials.d.ts +24 -0
  36. package/dist/tapd_grpc/grpc_credentials.d.ts.map +1 -0
  37. package/dist/tapd_grpc/grpc_credentials.js +39 -0
  38. package/dist/tapd_grpc/grpc_credentials.js.map +1 -0
  39. package/dist/tapd_grpc/grpc_options.d.ts +10 -0
  40. package/dist/tapd_grpc/grpc_options.d.ts.map +1 -0
  41. package/dist/tapd_grpc/grpc_options.js +9 -0
  42. package/dist/tapd_grpc/grpc_options.js.map +1 -0
  43. package/dist/tapd_grpc/grpc_ssl.d.ts +19 -0
  44. package/dist/tapd_grpc/grpc_ssl.d.ts.map +1 -0
  45. package/dist/tapd_grpc/grpc_ssl.js +18 -0
  46. package/dist/tapd_grpc/grpc_ssl.js.map +1 -0
  47. package/dist/tapd_grpc/index.d.ts +6 -0
  48. package/dist/tapd_grpc/index.d.ts.map +1 -0
  49. package/dist/tapd_grpc/index.js +2 -0
  50. package/dist/tapd_grpc/index.js.map +1 -0
  51. package/dist/tapd_grpc/types.d.ts +35 -0
  52. package/dist/tapd_grpc/types.d.ts.map +1 -0
  53. package/dist/tapd_grpc/types.js +2 -0
  54. package/dist/tapd_grpc/types.js.map +1 -0
  55. package/dist/tapd_methods/address/create_asset_address.d.ts +52 -0
  56. package/dist/tapd_methods/address/create_asset_address.d.ts.map +1 -0
  57. package/dist/tapd_methods/address/create_asset_address.js +127 -0
  58. package/dist/tapd_methods/address/create_asset_address.js.map +1 -0
  59. package/dist/tapd_methods/address/decode_asset_address.d.ts +38 -0
  60. package/dist/tapd_methods/address/decode_asset_address.d.ts.map +1 -0
  61. package/dist/tapd_methods/address/decode_asset_address.js +81 -0
  62. package/dist/tapd_methods/address/decode_asset_address.js.map +1 -0
  63. package/dist/tapd_methods/address/get_asset_addresses.d.ts +54 -0
  64. package/dist/tapd_methods/address/get_asset_addresses.d.ts.map +1 -0
  65. package/dist/tapd_methods/address/get_asset_addresses.js +153 -0
  66. package/dist/tapd_methods/address/get_asset_addresses.js.map +1 -0
  67. package/dist/tapd_methods/address/get_asset_receives.d.ts +72 -0
  68. package/dist/tapd_methods/address/get_asset_receives.d.ts.map +1 -0
  69. package/dist/tapd_methods/address/get_asset_receives.js +191 -0
  70. package/dist/tapd_methods/address/get_asset_receives.js.map +1 -0
  71. package/dist/tapd_methods/address/index.d.ts +15 -0
  72. package/dist/tapd_methods/address/index.d.ts.map +1 -0
  73. package/dist/tapd_methods/address/index.js +6 -0
  74. package/dist/tapd_methods/address/index.js.map +1 -0
  75. package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts +53 -0
  76. package/dist/tapd_methods/address/subscribe_to_asset_receives.d.ts.map +1 -0
  77. package/dist/tapd_methods/address/subscribe_to_asset_receives.js +93 -0
  78. package/dist/tapd_methods/address/subscribe_to_asset_receives.js.map +1 -0
  79. package/dist/tapd_methods/assets/get_asset_balances.d.ts +64 -0
  80. package/dist/tapd_methods/assets/get_asset_balances.d.ts.map +1 -0
  81. package/dist/tapd_methods/assets/get_asset_balances.js +177 -0
  82. package/dist/tapd_methods/assets/get_asset_balances.js.map +1 -0
  83. package/dist/tapd_methods/assets/get_asset_burns.d.ts +40 -0
  84. package/dist/tapd_methods/assets/get_asset_burns.d.ts.map +1 -0
  85. package/dist/tapd_methods/assets/get_asset_burns.js +92 -0
  86. package/dist/tapd_methods/assets/get_asset_burns.js.map +1 -0
  87. package/dist/tapd_methods/assets/get_asset_groups.d.ts +35 -0
  88. package/dist/tapd_methods/assets/get_asset_groups.d.ts.map +1 -0
  89. package/dist/tapd_methods/assets/get_asset_groups.js +78 -0
  90. package/dist/tapd_methods/assets/get_asset_groups.js.map +1 -0
  91. package/dist/tapd_methods/assets/get_asset_metadata.d.ts +40 -0
  92. package/dist/tapd_methods/assets/get_asset_metadata.d.ts.map +1 -0
  93. package/dist/tapd_methods/assets/get_asset_metadata.js +99 -0
  94. package/dist/tapd_methods/assets/get_asset_metadata.js.map +1 -0
  95. package/dist/tapd_methods/assets/get_asset_utxos.d.ts +83 -0
  96. package/dist/tapd_methods/assets/get_asset_utxos.d.ts.map +1 -0
  97. package/dist/tapd_methods/assets/get_asset_utxos.js +135 -0
  98. package/dist/tapd_methods/assets/get_asset_utxos.js.map +1 -0
  99. package/dist/tapd_methods/assets/get_assets.d.ts +113 -0
  100. package/dist/tapd_methods/assets/get_assets.d.ts.map +1 -0
  101. package/dist/tapd_methods/assets/get_assets.js +243 -0
  102. package/dist/tapd_methods/assets/get_assets.js.map +1 -0
  103. package/dist/tapd_methods/assets/index.d.ts +19 -0
  104. package/dist/tapd_methods/assets/index.d.ts.map +1 -0
  105. package/dist/tapd_methods/assets/index.js +7 -0
  106. package/dist/tapd_methods/assets/index.js.map +1 -0
  107. package/dist/tapd_methods/channels/asset_payment_args_error.d.ts +18 -0
  108. package/dist/tapd_methods/channels/asset_payment_args_error.d.ts.map +1 -0
  109. package/dist/tapd_methods/channels/asset_payment_args_error.js +59 -0
  110. package/dist/tapd_methods/channels/asset_payment_args_error.js.map +1 -0
  111. package/dist/tapd_methods/channels/asset_payment_request.d.ts +68 -0
  112. package/dist/tapd_methods/channels/asset_payment_request.d.ts.map +1 -0
  113. package/dist/tapd_methods/channels/asset_payment_request.js +54 -0
  114. package/dist/tapd_methods/channels/asset_payment_request.js.map +1 -0
  115. package/dist/tapd_methods/channels/create_asset_invoice.d.ts +134 -0
  116. package/dist/tapd_methods/channels/create_asset_invoice.d.ts.map +1 -0
  117. package/dist/tapd_methods/channels/create_asset_invoice.js +264 -0
  118. package/dist/tapd_methods/channels/create_asset_invoice.js.map +1 -0
  119. package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts +72 -0
  120. package/dist/tapd_methods/channels/decode_asset_payment_request.d.ts.map +1 -0
  121. package/dist/tapd_methods/channels/decode_asset_payment_request.js +143 -0
  122. package/dist/tapd_methods/channels/decode_asset_payment_request.js.map +1 -0
  123. package/dist/tapd_methods/channels/emit_asset_payment.d.ts +30 -0
  124. package/dist/tapd_methods/channels/emit_asset_payment.d.ts.map +1 -0
  125. package/dist/tapd_methods/channels/emit_asset_payment.js +59 -0
  126. package/dist/tapd_methods/channels/emit_asset_payment.js.map +1 -0
  127. package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts +51 -0
  128. package/dist/tapd_methods/channels/encode_asset_custom_records.d.ts.map +1 -0
  129. package/dist/tapd_methods/channels/encode_asset_custom_records.js +127 -0
  130. package/dist/tapd_methods/channels/encode_asset_custom_records.js.map +1 -0
  131. package/dist/tapd_methods/channels/get_asset_invoices.d.ts +84 -0
  132. package/dist/tapd_methods/channels/get_asset_invoices.d.ts.map +1 -0
  133. package/dist/tapd_methods/channels/get_asset_invoices.js +193 -0
  134. package/dist/tapd_methods/channels/get_asset_invoices.js.map +1 -0
  135. package/dist/tapd_methods/channels/get_asset_payments.d.ts +69 -0
  136. package/dist/tapd_methods/channels/get_asset_payments.d.ts.map +1 -0
  137. package/dist/tapd_methods/channels/get_asset_payments.js +180 -0
  138. package/dist/tapd_methods/channels/get_asset_payments.js.map +1 -0
  139. package/dist/tapd_methods/channels/index.d.ts +31 -0
  140. package/dist/tapd_methods/channels/index.d.ts.map +1 -0
  141. package/dist/tapd_methods/channels/index.js +12 -0
  142. package/dist/tapd_methods/channels/index.js.map +1 -0
  143. package/dist/tapd_methods/channels/open_asset_channel.d.ts +53 -0
  144. package/dist/tapd_methods/channels/open_asset_channel.d.ts.map +1 -0
  145. package/dist/tapd_methods/channels/open_asset_channel.js +128 -0
  146. package/dist/tapd_methods/channels/open_asset_channel.js.map +1 -0
  147. package/dist/tapd_methods/channels/pay_asset_invoice.d.ts +95 -0
  148. package/dist/tapd_methods/channels/pay_asset_invoice.d.ts.map +1 -0
  149. package/dist/tapd_methods/channels/pay_asset_invoice.js +132 -0
  150. package/dist/tapd_methods/channels/pay_asset_invoice.js.map +1 -0
  151. package/dist/tapd_methods/channels/send_asset_keysend.d.ts +84 -0
  152. package/dist/tapd_methods/channels/send_asset_keysend.d.ts.map +1 -0
  153. package/dist/tapd_methods/channels/send_asset_keysend.js +144 -0
  154. package/dist/tapd_methods/channels/send_asset_keysend.js.map +1 -0
  155. package/dist/tapd_methods/channels/send_asset_payment.d.ts +33 -0
  156. package/dist/tapd_methods/channels/send_asset_payment.d.ts.map +1 -0
  157. package/dist/tapd_methods/channels/send_asset_payment.js +114 -0
  158. package/dist/tapd_methods/channels/send_asset_payment.js.map +1 -0
  159. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts +51 -0
  160. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.d.ts.map +1 -0
  161. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js +104 -0
  162. package/dist/tapd_methods/channels/subscribe_to_asset_invoices.js.map +1 -0
  163. package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts +59 -0
  164. package/dist/tapd_methods/channels/subscribe_to_asset_payments.d.ts.map +1 -0
  165. package/dist/tapd_methods/channels/subscribe_to_asset_payments.js +104 -0
  166. package/dist/tapd_methods/channels/subscribe_to_asset_payments.js.map +1 -0
  167. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts +62 -0
  168. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.d.ts.map +1 -0
  169. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js +106 -0
  170. package/dist/tapd_methods/channels/subscribe_to_past_asset_payment.js.map +1 -0
  171. package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts +45 -0
  172. package/dist/tapd_methods/daemon/create_tapd_macaroon.d.ts.map +1 -0
  173. package/dist/tapd_methods/daemon/create_tapd_macaroon.js +99 -0
  174. package/dist/tapd_methods/daemon/create_tapd_macaroon.js.map +1 -0
  175. package/dist/tapd_methods/daemon/index.d.ts +8 -0
  176. package/dist/tapd_methods/daemon/index.d.ts.map +1 -0
  177. package/dist/tapd_methods/daemon/index.js +4 -0
  178. package/dist/tapd_methods/daemon/index.js.map +1 -0
  179. package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts +23 -0
  180. package/dist/tapd_methods/daemon/set_tapd_debug_level.d.ts.map +1 -0
  181. package/dist/tapd_methods/daemon/set_tapd_debug_level.js +60 -0
  182. package/dist/tapd_methods/daemon/set_tapd_debug_level.js.map +1 -0
  183. package/dist/tapd_methods/daemon/stop_tapd.d.ts +16 -0
  184. package/dist/tapd_methods/daemon/stop_tapd.d.ts.map +1 -0
  185. package/dist/tapd_methods/daemon/stop_tapd.js +50 -0
  186. package/dist/tapd_methods/daemon/stop_tapd.js.map +1 -0
  187. package/dist/tapd_methods/index.d.ts +10 -0
  188. package/dist/tapd_methods/index.d.ts.map +1 -0
  189. package/dist/tapd_methods/index.js +10 -0
  190. package/dist/tapd_methods/index.js.map +1 -0
  191. package/dist/tapd_methods/info/get_tapd_info.d.ts +44 -0
  192. package/dist/tapd_methods/info/get_tapd_info.d.ts.map +1 -0
  193. package/dist/tapd_methods/info/get_tapd_info.js +80 -0
  194. package/dist/tapd_methods/info/get_tapd_info.js.map +1 -0
  195. package/dist/tapd_methods/info/index.d.ts +4 -0
  196. package/dist/tapd_methods/info/index.d.ts.map +1 -0
  197. package/dist/tapd_methods/info/index.js +2 -0
  198. package/dist/tapd_methods/info/index.js.map +1 -0
  199. package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts +124 -0
  200. package/dist/tapd_methods/mint/add_asset_to_mint_batch.d.ts.map +1 -0
  201. package/dist/tapd_methods/mint/add_asset_to_mint_batch.js +283 -0
  202. package/dist/tapd_methods/mint/add_asset_to_mint_batch.js.map +1 -0
  203. package/dist/tapd_methods/mint/cancel_mint_batch.d.ts +23 -0
  204. package/dist/tapd_methods/mint/cancel_mint_batch.d.ts.map +1 -0
  205. package/dist/tapd_methods/mint/cancel_mint_batch.js +62 -0
  206. package/dist/tapd_methods/mint/cancel_mint_batch.js.map +1 -0
  207. package/dist/tapd_methods/mint/finalize_mint_batch.d.ts +64 -0
  208. package/dist/tapd_methods/mint/finalize_mint_batch.d.ts.map +1 -0
  209. package/dist/tapd_methods/mint/finalize_mint_batch.js +130 -0
  210. package/dist/tapd_methods/mint/finalize_mint_batch.js.map +1 -0
  211. package/dist/tapd_methods/mint/fund_mint_batch.d.ts +82 -0
  212. package/dist/tapd_methods/mint/fund_mint_batch.d.ts.map +1 -0
  213. package/dist/tapd_methods/mint/fund_mint_batch.js +145 -0
  214. package/dist/tapd_methods/mint/fund_mint_batch.js.map +1 -0
  215. package/dist/tapd_methods/mint/get_mint_batches.d.ts +72 -0
  216. package/dist/tapd_methods/mint/get_mint_batches.d.ts.map +1 -0
  217. package/dist/tapd_methods/mint/get_mint_batches.js +123 -0
  218. package/dist/tapd_methods/mint/get_mint_batches.js.map +1 -0
  219. package/dist/tapd_methods/mint/index.d.ts +21 -0
  220. package/dist/tapd_methods/mint/index.d.ts.map +1 -0
  221. package/dist/tapd_methods/mint/index.js +8 -0
  222. package/dist/tapd_methods/mint/index.js.map +1 -0
  223. package/dist/tapd_methods/mint/seal_mint_batch.d.ts +64 -0
  224. package/dist/tapd_methods/mint/seal_mint_batch.d.ts.map +1 -0
  225. package/dist/tapd_methods/mint/seal_mint_batch.js +135 -0
  226. package/dist/tapd_methods/mint/seal_mint_batch.js.map +1 -0
  227. package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts +52 -0
  228. package/dist/tapd_methods/mint/subscribe_to_mint_events.d.ts.map +1 -0
  229. package/dist/tapd_methods/mint/subscribe_to_mint_events.js +91 -0
  230. package/dist/tapd_methods/mint/subscribe_to_mint_events.js.map +1 -0
  231. package/dist/tapd_methods/proofs/decode_asset_proof.d.ts +61 -0
  232. package/dist/tapd_methods/proofs/decode_asset_proof.d.ts.map +1 -0
  233. package/dist/tapd_methods/proofs/decode_asset_proof.js +129 -0
  234. package/dist/tapd_methods/proofs/decode_asset_proof.js.map +1 -0
  235. package/dist/tapd_methods/proofs/export_asset_proof.d.ts +39 -0
  236. package/dist/tapd_methods/proofs/export_asset_proof.d.ts.map +1 -0
  237. package/dist/tapd_methods/proofs/export_asset_proof.js +113 -0
  238. package/dist/tapd_methods/proofs/export_asset_proof.js.map +1 -0
  239. package/dist/tapd_methods/proofs/index.d.ts +13 -0
  240. package/dist/tapd_methods/proofs/index.d.ts.map +1 -0
  241. package/dist/tapd_methods/proofs/index.js +5 -0
  242. package/dist/tapd_methods/proofs/index.js.map +1 -0
  243. package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts +29 -0
  244. package/dist/tapd_methods/proofs/unpack_asset_proof_file.d.ts.map +1 -0
  245. package/dist/tapd_methods/proofs/unpack_asset_proof_file.js +85 -0
  246. package/dist/tapd_methods/proofs/unpack_asset_proof_file.js.map +1 -0
  247. package/dist/tapd_methods/proofs/verify_asset_proof.d.ts +58 -0
  248. package/dist/tapd_methods/proofs/verify_asset_proof.d.ts.map +1 -0
  249. package/dist/tapd_methods/proofs/verify_asset_proof.js +110 -0
  250. package/dist/tapd_methods/proofs/verify_asset_proof.js.map +1 -0
  251. package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts +31 -0
  252. package/dist/tapd_methods/rfq/add_asset_buy_offer.d.ts.map +1 -0
  253. package/dist/tapd_methods/rfq/add_asset_buy_offer.js +88 -0
  254. package/dist/tapd_methods/rfq/add_asset_buy_offer.js.map +1 -0
  255. package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts +79 -0
  256. package/dist/tapd_methods/rfq/add_asset_buy_order.d.ts.map +1 -0
  257. package/dist/tapd_methods/rfq/add_asset_buy_order.js +200 -0
  258. package/dist/tapd_methods/rfq/add_asset_buy_order.js.map +1 -0
  259. package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts +30 -0
  260. package/dist/tapd_methods/rfq/add_asset_sell_offer.d.ts.map +1 -0
  261. package/dist/tapd_methods/rfq/add_asset_sell_offer.js +87 -0
  262. package/dist/tapd_methods/rfq/add_asset_sell_offer.js.map +1 -0
  263. package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts +79 -0
  264. package/dist/tapd_methods/rfq/add_asset_sell_order.d.ts.map +1 -0
  265. package/dist/tapd_methods/rfq/add_asset_sell_order.js +200 -0
  266. package/dist/tapd_methods/rfq/add_asset_sell_order.js.map +1 -0
  267. package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts +52 -0
  268. package/dist/tapd_methods/rfq/get_accepted_quotes.d.ts.map +1 -0
  269. package/dist/tapd_methods/rfq/get_accepted_quotes.js +100 -0
  270. package/dist/tapd_methods/rfq/get_accepted_quotes.js.map +1 -0
  271. package/dist/tapd_methods/rfq/get_asset_forwards.d.ts +70 -0
  272. package/dist/tapd_methods/rfq/get_asset_forwards.d.ts.map +1 -0
  273. package/dist/tapd_methods/rfq/get_asset_forwards.js +185 -0
  274. package/dist/tapd_methods/rfq/get_asset_forwards.js.map +1 -0
  275. package/dist/tapd_methods/rfq/index.d.ts +19 -0
  276. package/dist/tapd_methods/rfq/index.d.ts.map +1 -0
  277. package/dist/tapd_methods/rfq/index.js +8 -0
  278. package/dist/tapd_methods/rfq/index.js.map +1 -0
  279. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts +68 -0
  280. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.d.ts.map +1 -0
  281. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js +107 -0
  282. package/dist/tapd_methods/rfq/subscribe_to_rfq_events.js.map +1 -0
  283. package/dist/tapd_methods/send/burn_asset.d.ts +135 -0
  284. package/dist/tapd_methods/send/burn_asset.d.ts.map +1 -0
  285. package/dist/tapd_methods/send/burn_asset.js +220 -0
  286. package/dist/tapd_methods/send/burn_asset.js.map +1 -0
  287. package/dist/tapd_methods/send/get_asset_transfers.d.ts +73 -0
  288. package/dist/tapd_methods/send/get_asset_transfers.d.ts.map +1 -0
  289. package/dist/tapd_methods/send/get_asset_transfers.js +122 -0
  290. package/dist/tapd_methods/send/get_asset_transfers.js.map +1 -0
  291. package/dist/tapd_methods/send/index.d.ts +15 -0
  292. package/dist/tapd_methods/send/index.d.ts.map +1 -0
  293. package/dist/tapd_methods/send/index.js +6 -0
  294. package/dist/tapd_methods/send/index.js.map +1 -0
  295. package/dist/tapd_methods/send/register_asset_transfer.d.ts +77 -0
  296. package/dist/tapd_methods/send/register_asset_transfer.d.ts.map +1 -0
  297. package/dist/tapd_methods/send/register_asset_transfer.js +165 -0
  298. package/dist/tapd_methods/send/register_asset_transfer.js.map +1 -0
  299. package/dist/tapd_methods/send/send_asset.d.ts +94 -0
  300. package/dist/tapd_methods/send/send_asset.d.ts.map +1 -0
  301. package/dist/tapd_methods/send/send_asset.js +169 -0
  302. package/dist/tapd_methods/send/send_asset.js.map +1 -0
  303. package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts +117 -0
  304. package/dist/tapd_methods/send/subscribe_to_asset_sends.d.ts.map +1 -0
  305. package/dist/tapd_methods/send/subscribe_to_asset_sends.js +159 -0
  306. package/dist/tapd_methods/send/subscribe_to_asset_sends.js.map +1 -0
  307. package/dist/tapd_requests/decimal_as_fixed_point.d.ts +23 -0
  308. package/dist/tapd_requests/decimal_as_fixed_point.d.ts.map +1 -0
  309. package/dist/tapd_requests/decimal_as_fixed_point.js +31 -0
  310. package/dist/tapd_requests/decimal_as_fixed_point.js.map +1 -0
  311. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts +13 -0
  312. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.d.ts.map +1 -0
  313. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js +21 -0
  314. package/dist/tapd_requests/fee_rate_as_tokens_per_kw.js.map +1 -0
  315. package/dist/tapd_requests/index.d.ts +9 -0
  316. package/dist/tapd_requests/index.d.ts.map +1 -0
  317. package/dist/tapd_requests/index.js +9 -0
  318. package/dist/tapd_requests/index.js.map +1 -0
  319. package/dist/tapd_requests/is_connection_failure.d.ts +23 -0
  320. package/dist/tapd_requests/is_connection_failure.d.ts.map +1 -0
  321. package/dist/tapd_requests/is_connection_failure.js +40 -0
  322. package/dist/tapd_requests/is_connection_failure.js.map +1 -0
  323. package/dist/tapd_requests/is_method_unsupported.d.ts +24 -0
  324. package/dist/tapd_requests/is_method_unsupported.d.ts.map +1 -0
  325. package/dist/tapd_requests/is_method_unsupported.js +27 -0
  326. package/dist/tapd_requests/is_method_unsupported.js.map +1 -0
  327. package/dist/tapd_requests/is_permission_denied.d.ts +19 -0
  328. package/dist/tapd_requests/is_permission_denied.d.ts.map +1 -0
  329. package/dist/tapd_requests/is_permission_denied.js +16 -0
  330. package/dist/tapd_requests/is_permission_denied.js.map +1 -0
  331. package/dist/tapd_requests/is_tapd.d.ts +19 -0
  332. package/dist/tapd_requests/is_tapd.d.ts.map +1 -0
  333. package/dist/tapd_requests/is_tapd.js +16 -0
  334. package/dist/tapd_requests/is_tapd.js.map +1 -0
  335. package/dist/tapd_requests/mint_funding_request.d.ts +53 -0
  336. package/dist/tapd_requests/mint_funding_request.d.ts.map +1 -0
  337. package/dist/tapd_requests/mint_funding_request.js +48 -0
  338. package/dist/tapd_requests/mint_funding_request.js.map +1 -0
  339. package/dist/tapd_requests/script_key_type_query.d.ts +26 -0
  340. package/dist/tapd_requests/script_key_type_query.d.ts.map +1 -0
  341. package/dist/tapd_requests/script_key_type_query.js +41 -0
  342. package/dist/tapd_requests/script_key_type_query.js.map +1 -0
  343. package/dist/tapd_responses/asset_channel_rpc_error.d.ts +19 -0
  344. package/dist/tapd_responses/asset_channel_rpc_error.d.ts.map +1 -0
  345. package/dist/tapd_responses/asset_channel_rpc_error.js +69 -0
  346. package/dist/tapd_responses/asset_channel_rpc_error.js.map +1 -0
  347. package/dist/tapd_responses/batch_states.d.ts +4 -0
  348. package/dist/tapd_responses/batch_states.d.ts.map +1 -0
  349. package/dist/tapd_responses/batch_states.js +13 -0
  350. package/dist/tapd_responses/batch_states.js.map +1 -0
  351. package/dist/tapd_responses/fixed_point_as_decimal.d.ts +25 -0
  352. package/dist/tapd_responses/fixed_point_as_decimal.d.ts.map +1 -0
  353. package/dist/tapd_responses/fixed_point_as_decimal.js +39 -0
  354. package/dist/tapd_responses/fixed_point_as_decimal.js.map +1 -0
  355. package/dist/tapd_responses/index.d.ts +76 -0
  356. package/dist/tapd_responses/index.d.ts.map +1 -0
  357. package/dist/tapd_responses/index.js +30 -0
  358. package/dist/tapd_responses/index.js.map +1 -0
  359. package/dist/tapd_responses/long_key_as_number.d.ts +16 -0
  360. package/dist/tapd_responses/long_key_as_number.d.ts.map +1 -0
  361. package/dist/tapd_responses/long_key_as_number.js +28 -0
  362. package/dist/tapd_responses/long_key_as_number.js.map +1 -0
  363. package/dist/tapd_responses/mint_rpc_error.d.ts +19 -0
  364. package/dist/tapd_responses/mint_rpc_error.d.ts.map +1 -0
  365. package/dist/tapd_responses/mint_rpc_error.js +35 -0
  366. package/dist/tapd_responses/mint_rpc_error.js.map +1 -0
  367. package/dist/tapd_responses/outpoint_as_transaction.d.ts +19 -0
  368. package/dist/tapd_responses/outpoint_as_transaction.d.ts.map +1 -0
  369. package/dist/tapd_responses/outpoint_as_transaction.js +23 -0
  370. package/dist/tapd_responses/outpoint_as_transaction.js.map +1 -0
  371. package/dist/tapd_responses/receive_statuses.d.ts +4 -0
  372. package/dist/tapd_responses/receive_statuses.d.ts.map +1 -0
  373. package/dist/tapd_responses/receive_statuses.js +9 -0
  374. package/dist/tapd_responses/receive_statuses.js.map +1 -0
  375. package/dist/tapd_responses/rpc_addr_as_address.d.ts +79 -0
  376. package/dist/tapd_responses/rpc_addr_as_address.d.ts.map +1 -0
  377. package/dist/tapd_responses/rpc_addr_as_address.js +87 -0
  378. package/dist/tapd_responses/rpc_addr_as_address.js.map +1 -0
  379. package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts +63 -0
  380. package/dist/tapd_responses/rpc_addr_event_as_receive.d.ts.map +1 -0
  381. package/dist/tapd_responses/rpc_addr_event_as_receive.js +64 -0
  382. package/dist/tapd_responses/rpc_addr_event_as_receive.js.map +1 -0
  383. package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts +34 -0
  384. package/dist/tapd_responses/rpc_asset_amount_as_amount.d.ts.map +1 -0
  385. package/dist/tapd_responses/rpc_asset_amount_as_amount.js +38 -0
  386. package/dist/tapd_responses/rpc_asset_amount_as_amount.js.map +1 -0
  387. package/dist/tapd_responses/rpc_asset_as_asset.d.ts +204 -0
  388. package/dist/tapd_responses/rpc_asset_as_asset.d.ts.map +1 -0
  389. package/dist/tapd_responses/rpc_asset_as_asset.js +174 -0
  390. package/dist/tapd_responses/rpc_asset_as_asset.js.map +1 -0
  391. package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts +53 -0
  392. package/dist/tapd_responses/rpc_asset_balance_as_balance.d.ts.map +1 -0
  393. package/dist/tapd_responses/rpc_asset_balance_as_balance.js +53 -0
  394. package/dist/tapd_responses/rpc_asset_balance_as_balance.js.map +1 -0
  395. package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts +51 -0
  396. package/dist/tapd_responses/rpc_asset_burn_as_burn.d.ts.map +1 -0
  397. package/dist/tapd_responses/rpc_asset_burn_as_burn.js +54 -0
  398. package/dist/tapd_responses/rpc_asset_burn_as_burn.js.map +1 -0
  399. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts +39 -0
  400. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.d.ts.map +1 -0
  401. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js +45 -0
  402. package/dist/tapd_responses/rpc_asset_invoice_as_invoice.js.map +1 -0
  403. package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts +68 -0
  404. package/dist/tapd_responses/rpc_asset_meta_as_metadata.d.ts.map +1 -0
  405. package/dist/tapd_responses/rpc_asset_meta_as_metadata.js +70 -0
  406. package/dist/tapd_responses/rpc_asset_meta_as_metadata.js.map +1 -0
  407. package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts +76 -0
  408. package/dist/tapd_responses/rpc_asset_pay_req_as_request.d.ts.map +1 -0
  409. package/dist/tapd_responses/rpc_asset_pay_req_as_request.js +73 -0
  410. package/dist/tapd_responses/rpc_asset_pay_req_as_request.js.map +1 -0
  411. package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts +39 -0
  412. package/dist/tapd_responses/rpc_asset_payment_as_payment.d.ts.map +1 -0
  413. package/dist/tapd_responses/rpc_asset_payment_as_payment.js +45 -0
  414. package/dist/tapd_responses/rpc_asset_payment_as_payment.js.map +1 -0
  415. package/dist/tapd_responses/rpc_batch_as_batch.d.ts +158 -0
  416. package/dist/tapd_responses/rpc_batch_as_batch.d.ts.map +1 -0
  417. package/dist/tapd_responses/rpc_batch_as_batch.js +181 -0
  418. package/dist/tapd_responses/rpc_batch_as_batch.js.map +1 -0
  419. package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts +83 -0
  420. package/dist/tapd_responses/rpc_buy_quote_as_quote.d.ts.map +1 -0
  421. package/dist/tapd_responses/rpc_buy_quote_as_quote.js +85 -0
  422. package/dist/tapd_responses/rpc_buy_quote_as_quote.js.map +1 -0
  423. package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts +161 -0
  424. package/dist/tapd_responses/rpc_decoded_proof_as_proof.d.ts.map +1 -0
  425. package/dist/tapd_responses/rpc_decoded_proof_as_proof.js +138 -0
  426. package/dist/tapd_responses/rpc_decoded_proof_as_proof.js.map +1 -0
  427. package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts +100 -0
  428. package/dist/tapd_responses/rpc_forward_as_asset_forward.d.ts.map +1 -0
  429. package/dist/tapd_responses/rpc_forward_as_asset_forward.js +101 -0
  430. package/dist/tapd_responses/rpc_forward_as_asset_forward.js.map +1 -0
  431. package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts +76 -0
  432. package/dist/tapd_responses/rpc_grouped_assets_as_group.d.ts.map +1 -0
  433. package/dist/tapd_responses/rpc_grouped_assets_as_group.js +71 -0
  434. package/dist/tapd_responses/rpc_grouped_assets_as_group.js.map +1 -0
  435. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts +63 -0
  436. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.d.ts.map +1 -0
  437. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js +65 -0
  438. package/dist/tapd_responses/rpc_managed_utxo_as_utxo.js.map +1 -0
  439. package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts +53 -0
  440. package/dist/tapd_responses/rpc_receive_event_as_receive_update.d.ts.map +1 -0
  441. package/dist/tapd_responses/rpc_receive_event_as_receive_update.js +52 -0
  442. package/dist/tapd_responses/rpc_receive_event_as_receive_update.js.map +1 -0
  443. package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts +70 -0
  444. package/dist/tapd_responses/rpc_rfq_event_as_event.d.ts.map +1 -0
  445. package/dist/tapd_responses/rpc_rfq_event_as_event.js +89 -0
  446. package/dist/tapd_responses/rpc_rfq_event_as_event.js.map +1 -0
  447. package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts +80 -0
  448. package/dist/tapd_responses/rpc_sell_quote_as_quote.d.ts.map +1 -0
  449. package/dist/tapd_responses/rpc_sell_quote_as_quote.js +85 -0
  450. package/dist/tapd_responses/rpc_sell_quote_as_quote.js.map +1 -0
  451. package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts +124 -0
  452. package/dist/tapd_responses/rpc_send_event_as_send_event.d.ts.map +1 -0
  453. package/dist/tapd_responses/rpc_send_event_as_send_event.js +161 -0
  454. package/dist/tapd_responses/rpc_send_event_as_send_event.js.map +1 -0
  455. package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts +241 -0
  456. package/dist/tapd_responses/rpc_transfer_as_transfer.d.ts.map +1 -0
  457. package/dist/tapd_responses/rpc_transfer_as_transfer.js +212 -0
  458. package/dist/tapd_responses/rpc_transfer_as_transfer.js.map +1 -0
  459. package/dist/tapd_responses/short_channel_id_as_channel.d.ts +13 -0
  460. package/dist/tapd_responses/short_channel_id_as_channel.d.ts.map +1 -0
  461. package/dist/tapd_responses/short_channel_id_as_channel.js +26 -0
  462. package/dist/tapd_responses/short_channel_id_as_channel.js.map +1 -0
  463. package/dist/typescript/index.d.ts +16 -0
  464. package/dist/typescript/index.d.ts.map +1 -0
  465. package/dist/typescript/index.js +2 -0
  466. package/dist/typescript/index.js.map +1 -0
  467. package/package.json +76 -3
  468. package/protos/VERSIONS +2 -0
  469. package/protos/lnrpc/lightning.proto +5380 -0
  470. package/protos/lnrpc/routerrpc/router.proto +1115 -0
  471. package/protos/taprpc/assetwalletrpc/assetwallet.proto +631 -0
  472. package/protos/taprpc/authmailboxrpc/mailbox.proto +281 -0
  473. package/protos/taprpc/mintrpc/mint.proto +452 -0
  474. package/protos/taprpc/portfoliopilotrpc/portfolio_pilot.proto +410 -0
  475. package/protos/taprpc/priceoraclerpc/price_oracle.proto +262 -0
  476. package/protos/taprpc/rfqrpc/rfq.proto +614 -0
  477. package/protos/taprpc/tapchannelrpc/tapchannel.proto +490 -0
  478. package/protos/taprpc/tapcommon.proto +47 -0
  479. package/protos/taprpc/tapdevrpc/tapdev.proto +120 -0
  480. package/protos/taprpc/taprootassets.proto +2117 -0
  481. package/protos/taprpc/universerpc/universe.proto +1101 -0
  482. package/src/grpc/emit_subscription_error.ts +39 -0
  483. package/src/grpc/grpc_services.ts +45 -0
  484. package/src/grpc/handle_remove_listener.ts +35 -0
  485. package/src/grpc/index.ts +18 -0
  486. package/src/index.ts +24 -0
  487. package/src/tapd_grpc/api_for_proto.ts +42 -0
  488. package/src/tapd_grpc/authenticated_tapd_grpc.ts +88 -0
  489. package/src/tapd_grpc/decode_serialized.ts +25 -0
  490. package/src/tapd_grpc/grpc_credentials.ts +48 -0
  491. package/src/tapd_grpc/grpc_options.ts +10 -0
  492. package/src/tapd_grpc/grpc_ssl.ts +20 -0
  493. package/src/tapd_grpc/index.ts +5 -0
  494. package/src/tapd_grpc/types.ts +35 -0
  495. package/src/tapd_methods/address/create_asset_address.ts +179 -0
  496. package/src/tapd_methods/address/decode_asset_address.ts +117 -0
  497. package/src/tapd_methods/address/get_asset_addresses.ts +212 -0
  498. package/src/tapd_methods/address/get_asset_receives.ts +265 -0
  499. package/src/tapd_methods/address/index.ts +14 -0
  500. package/src/tapd_methods/address/subscribe_to_asset_receives.ts +114 -0
  501. package/src/tapd_methods/assets/get_asset_balances.ts +249 -0
  502. package/src/tapd_methods/assets/get_asset_burns.ts +133 -0
  503. package/src/tapd_methods/assets/get_asset_groups.ts +109 -0
  504. package/src/tapd_methods/assets/get_asset_metadata.ts +141 -0
  505. package/src/tapd_methods/assets/get_asset_utxos.ts +175 -0
  506. package/src/tapd_methods/assets/get_assets.ts +327 -0
  507. package/src/tapd_methods/assets/index.ts +18 -0
  508. package/src/tapd_methods/channels/asset_payment_args_error.ts +83 -0
  509. package/src/tapd_methods/channels/asset_payment_request.ts +76 -0
  510. package/src/tapd_methods/channels/create_asset_invoice.ts +387 -0
  511. package/src/tapd_methods/channels/decode_asset_payment_request.ts +192 -0
  512. package/src/tapd_methods/channels/emit_asset_payment.ts +78 -0
  513. package/src/tapd_methods/channels/encode_asset_custom_records.ts +187 -0
  514. package/src/tapd_methods/channels/get_asset_invoices.ts +258 -0
  515. package/src/tapd_methods/channels/get_asset_payments.ts +243 -0
  516. package/src/tapd_methods/channels/index.ts +30 -0
  517. package/src/tapd_methods/channels/open_asset_channel.ts +193 -0
  518. package/src/tapd_methods/channels/pay_asset_invoice.ts +171 -0
  519. package/src/tapd_methods/channels/send_asset_keysend.ts +196 -0
  520. package/src/tapd_methods/channels/send_asset_payment.ts +158 -0
  521. package/src/tapd_methods/channels/subscribe_to_asset_invoices.ts +134 -0
  522. package/src/tapd_methods/channels/subscribe_to_asset_payments.ts +126 -0
  523. package/src/tapd_methods/channels/subscribe_to_past_asset_payment.ts +132 -0
  524. package/src/tapd_methods/daemon/create_tapd_macaroon.ts +153 -0
  525. package/src/tapd_methods/daemon/index.ts +7 -0
  526. package/src/tapd_methods/daemon/set_tapd_debug_level.ts +90 -0
  527. package/src/tapd_methods/daemon/stop_tapd.ts +75 -0
  528. package/src/tapd_methods/index.ts +9 -0
  529. package/src/tapd_methods/info/get_tapd_info.ts +129 -0
  530. package/src/tapd_methods/info/index.ts +3 -0
  531. package/src/tapd_methods/mint/add_asset_to_mint_batch.ts +396 -0
  532. package/src/tapd_methods/mint/cancel_mint_batch.ts +95 -0
  533. package/src/tapd_methods/mint/finalize_mint_batch.ts +181 -0
  534. package/src/tapd_methods/mint/fund_mint_batch.ts +193 -0
  535. package/src/tapd_methods/mint/get_mint_batches.ts +162 -0
  536. package/src/tapd_methods/mint/index.ts +20 -0
  537. package/src/tapd_methods/mint/seal_mint_batch.ts +184 -0
  538. package/src/tapd_methods/mint/subscribe_to_mint_events.ts +104 -0
  539. package/src/tapd_methods/proofs/decode_asset_proof.ts +175 -0
  540. package/src/tapd_methods/proofs/export_asset_proof.ts +169 -0
  541. package/src/tapd_methods/proofs/index.ts +12 -0
  542. package/src/tapd_methods/proofs/unpack_asset_proof_file.ts +126 -0
  543. package/src/tapd_methods/proofs/verify_asset_proof.ts +156 -0
  544. package/src/tapd_methods/rfq/add_asset_buy_offer.ts +127 -0
  545. package/src/tapd_methods/rfq/add_asset_buy_order.ts +279 -0
  546. package/src/tapd_methods/rfq/add_asset_sell_offer.ts +126 -0
  547. package/src/tapd_methods/rfq/add_asset_sell_order.ts +279 -0
  548. package/src/tapd_methods/rfq/get_accepted_quotes.ts +137 -0
  549. package/src/tapd_methods/rfq/get_asset_forwards.ts +259 -0
  550. package/src/tapd_methods/rfq/index.ts +18 -0
  551. package/src/tapd_methods/rfq/subscribe_to_rfq_events.ts +130 -0
  552. package/src/tapd_methods/send/burn_asset.ts +280 -0
  553. package/src/tapd_methods/send/get_asset_transfers.ts +161 -0
  554. package/src/tapd_methods/send/index.ts +14 -0
  555. package/src/tapd_methods/send/register_asset_transfer.ts +219 -0
  556. package/src/tapd_methods/send/send_asset.ts +223 -0
  557. package/src/tapd_methods/send/subscribe_to_asset_sends.ts +181 -0
  558. package/src/tapd_requests/decimal_as_fixed_point.ts +36 -0
  559. package/src/tapd_requests/fee_rate_as_tokens_per_kw.ts +23 -0
  560. package/src/tapd_requests/index.ts +8 -0
  561. package/src/tapd_requests/is_connection_failure.ts +48 -0
  562. package/src/tapd_requests/is_method_unsupported.ts +33 -0
  563. package/src/tapd_requests/is_permission_denied.ts +18 -0
  564. package/src/tapd_requests/is_tapd.ts +22 -0
  565. package/src/tapd_requests/mint_funding_request.ts +57 -0
  566. package/src/tapd_requests/script_key_type_query.ts +44 -0
  567. package/src/tapd_responses/asset_channel_rpc_error.ts +73 -0
  568. package/src/tapd_responses/batch_states.ts +12 -0
  569. package/src/tapd_responses/fixed_point_as_decimal.ts +51 -0
  570. package/src/tapd_responses/index.ts +75 -0
  571. package/src/tapd_responses/long_key_as_number.ts +31 -0
  572. package/src/tapd_responses/mint_rpc_error.ts +39 -0
  573. package/src/tapd_responses/outpoint_as_transaction.ts +25 -0
  574. package/src/tapd_responses/receive_statuses.ts +8 -0
  575. package/src/tapd_responses/rpc_addr_as_address.ts +138 -0
  576. package/src/tapd_responses/rpc_addr_event_as_receive.ts +103 -0
  577. package/src/tapd_responses/rpc_asset_amount_as_amount.ts +57 -0
  578. package/src/tapd_responses/rpc_asset_as_asset.ts +299 -0
  579. package/src/tapd_responses/rpc_asset_balance_as_balance.ts +85 -0
  580. package/src/tapd_responses/rpc_asset_burn_as_burn.ts +85 -0
  581. package/src/tapd_responses/rpc_asset_invoice_as_invoice.ts +62 -0
  582. package/src/tapd_responses/rpc_asset_meta_as_metadata.ts +113 -0
  583. package/src/tapd_responses/rpc_asset_pay_req_as_request.ts +114 -0
  584. package/src/tapd_responses/rpc_asset_payment_as_payment.ts +62 -0
  585. package/src/tapd_responses/rpc_batch_as_batch.ts +281 -0
  586. package/src/tapd_responses/rpc_buy_quote_as_quote.ts +139 -0
  587. package/src/tapd_responses/rpc_decoded_proof_as_proof.ts +229 -0
  588. package/src/tapd_responses/rpc_forward_as_asset_forward.ts +164 -0
  589. package/src/tapd_responses/rpc_grouped_assets_as_group.ts +117 -0
  590. package/src/tapd_responses/rpc_managed_utxo_as_utxo.ts +105 -0
  591. package/src/tapd_responses/rpc_receive_event_as_receive_update.ts +84 -0
  592. package/src/tapd_responses/rpc_rfq_event_as_event.ts +123 -0
  593. package/src/tapd_responses/rpc_sell_quote_as_quote.ts +136 -0
  594. package/src/tapd_responses/rpc_send_event_as_send_event.ts +245 -0
  595. package/src/tapd_responses/rpc_transfer_as_transfer.ts +366 -0
  596. package/src/tapd_responses/short_channel_id_as_channel.ts +30 -0
  597. package/src/typescript/asyncjs_util.d.ts +14 -0
  598. package/src/typescript/index.ts +22 -0
  599. package/src/typescript/invoices.d.ts +30 -0
  600. package/src/typescript/lightning_lnd_responses.d.ts +44 -0
@@ -0,0 +1,219 @@
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 {rpcAssetAsAsset} from '../../tapd_responses/index.js';
8
+ import type {Asset} from '../../tapd_responses/index.js';
9
+ import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
10
+ import type {TapdCallback} from '../../typescript/index.js';
11
+ import type {TapdError} from '../../typescript/index.js';
12
+ import type {TapdMethod} from '../../typescript/index.js';
13
+
14
+ const existsError = 'proof already exists for this transfer';
15
+ const {from} = Buffer;
16
+ const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
17
+ const isPublicKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
18
+ const {isSafeInteger} = Number;
19
+ const isTransactionId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
20
+ const method = 'registerTransfer';
21
+ const proofNotFoundError = 'error fetching full proof';
22
+ const scriptKeyNotFoundError = 'error fetching script key';
23
+ const parseErrors = ['error parsing script key', 'error parsing group key'];
24
+ const type = 'default';
25
+
26
+ export type RegisterAssetTransferArgs = AuthenticatedTapdArgs<{
27
+ /** Asset Id Hex String */
28
+ asset_id: string;
29
+ /** Asset Group Key Hex String */
30
+ group_key?: string;
31
+ /** Script Key Hex String */
32
+ script_key: string;
33
+ /** Anchor Transaction Id Hex String */
34
+ transaction_id: string;
35
+ /** Anchor Transaction Output Index Number */
36
+ transaction_vout: number;
37
+ }>;
38
+
39
+ export type RegisterAssetTransferResult = Asset;
40
+
41
+ type Tasks = {
42
+ register: RegisterAssetTransferResult;
43
+ validate: undefined;
44
+ };
45
+
46
+ /** Register an inbound asset transfer that has no Taproot Assets address
47
+
48
+ Use this for an interactive transfer, when the sender sent the proof by a
49
+ different way. The proof must already be in the local universe, and the
50
+ script key must already be known to this node.
51
+
52
+ Requires `assets:write` permission
53
+
54
+ {
55
+ asset_id: <Asset Id Hex String>
56
+ [group_key]: <Asset Group Key Hex String>
57
+ script_key: <Script Key Hex String>
58
+ tapd: <Authenticated tapd API Object>
59
+ transaction_id: <Anchor Transaction Id Hex String>
60
+ transaction_vout: <Anchor Transaction Output Index Number>
61
+ }
62
+
63
+ @returns via cbk or Promise
64
+ {
65
+ amount: <Asset Units Numeric String>
66
+ [anchor]: {
67
+ [block_hash]: <Anchor Block Hash Hex String>
68
+ [block_height]: <Anchor Block Height Number>
69
+ [confirmed_at]: <Anchor Confirmed At ISO 8601 Date String>
70
+ internal_key: <Anchor Internal Key Hex String>
71
+ merkle_root: <Anchor Taproot Merkle Root Hex String>
72
+ [tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
73
+ transaction: <Raw Anchor Transaction Hex String>
74
+ transaction_id: <Anchor Transaction Id Hex String>
75
+ transaction_vout: <Anchor Transaction Output Index Number>
76
+ }
77
+ asset_id: <Asset Id Hex String>
78
+ [decimal_display]: <Decimal Places To Show Number>
79
+ genesis_output_index: <Genesis Commitment Output Index Number>
80
+ genesis_transaction_id: <Genesis Point Transaction Id Hex String>
81
+ genesis_transaction_vout: <Genesis Point Transaction Output Index Number>
82
+ [group]: {
83
+ key: <Tweaked Group Key Hex String>
84
+ raw_key: <Raw Group Key Hex String>
85
+ [tapscript_root]: <Group Tapscript Root Hex String>
86
+ [witness]: <Group Membership Witness Hex String>
87
+ }
88
+ is_burn: <Asset Is Burned Bool>
89
+ is_collectible: <Asset Is Collectible Bool>
90
+ is_local: <Script Key Belongs To This Node Bool>
91
+ is_spent: <Asset Is Spent Bool>
92
+ [lease_expires_at]: <Lease Expires At ISO 8601 Date String>
93
+ [lease_owner]: <Lease Owner Id Hex String>
94
+ [lock_time]: <Lock Time Number>
95
+ meta_hash: <Asset Metadata Hash Hex String>
96
+ name: <Asset Name String>
97
+ [relative_lock_time]: <Relative Lock Time Number>
98
+ script_key: <Script Key Hex String>
99
+ script_key_type: <Script Key Type String>
100
+ script_version: <Script Version Number>
101
+ version: <Asset Version Number>
102
+ }
103
+ */
104
+ const registerAssetTransfer: TapdMethod<
105
+ RegisterAssetTransferArgs,
106
+ RegisterAssetTransferResult
107
+ > = (
108
+ args: RegisterAssetTransferArgs,
109
+ cbk?: TapdCallback<RegisterAssetTransferResult>,
110
+ ) => {
111
+ return new Promise((resolve, reject) => {
112
+ return asyncAuto<Tasks, TapdError>(
113
+ {
114
+ // Check arguments
115
+ validate: cbk => {
116
+ if (!args.asset_id || !isAssetId(args.asset_id)) {
117
+ return cbk([400, 'ExpectedAssetIdToRegisterAssetTransfer']);
118
+ }
119
+
120
+ if (!!args.group_key && !isPublicKey(args.group_key)) {
121
+ return cbk([400, 'ExpectedGroupKeyHexToRegisterAssetTransfer']);
122
+ }
123
+
124
+ if (!args.script_key || !isPublicKey(args.script_key)) {
125
+ return cbk([400, 'ExpectedScriptKeyToRegisterAssetTransfer']);
126
+ }
127
+
128
+ if (!isTapd({method, type, tapd: args.tapd})) {
129
+ return cbk([
130
+ 400,
131
+ 'ExpectedAuthenticatedTapdToRegisterAssetTransfer',
132
+ ]);
133
+ }
134
+
135
+ if (!args.transaction_id || !isTransactionId(args.transaction_id)) {
136
+ return cbk([400, 'ExpectedTransactionIdToRegisterAssetTransfer']);
137
+ }
138
+
139
+ const vout = args.transaction_vout;
140
+
141
+ if (!isSafeInteger(vout) || vout < 0) {
142
+ return cbk([400, 'ExpectedOutputIndexToRegisterAssetTransfer']);
143
+ }
144
+
145
+ return cbk();
146
+ },
147
+
148
+ // Register the transfer
149
+ register: [
150
+ 'validate',
151
+ ({}, cbk) => {
152
+ // tapd reads the outpoint transaction id in internal byte order
153
+ const request = {
154
+ asset_id: from(args.asset_id, 'hex'),
155
+ group_key: from(args.group_key || '', 'hex'),
156
+ outpoint: {
157
+ output_index: args.transaction_vout,
158
+ txid: from(args.transaction_id, 'hex').reverse(),
159
+ },
160
+ script_key: from(args.script_key, 'hex'),
161
+ };
162
+
163
+ return args.tapd[type][method](request, (err: any, res: any) => {
164
+ if (isConnectionFailure({err})) {
165
+ return cbk([
166
+ 503,
167
+ 'FailedToConnectToTapdToRegisterAssetTransfer',
168
+ ]);
169
+ }
170
+
171
+ if (isPermissionDenied({err})) {
172
+ return cbk([403, 'PermissionDeniedToRegisterAssetTransfer']);
173
+ }
174
+
175
+ const details = String(err?.details);
176
+
177
+ if (!!err && parseErrors.some(n => details.includes(n))) {
178
+ return cbk([400, 'ExpectedValidKeysToRegisterAssetTransfer']);
179
+ }
180
+
181
+ if (!!err && details.includes(scriptKeyNotFoundError)) {
182
+ return cbk([404, 'ScriptKeyNotFoundToRegisterAssetTransfer']);
183
+ }
184
+
185
+ if (!!err && details.includes(existsError)) {
186
+ return cbk([409, 'AssetTransferIsAlreadyRegistered']);
187
+ }
188
+
189
+ if (!!err && details.includes(proofNotFoundError)) {
190
+ return cbk([404, 'ProofNotFoundToRegisterAssetTransfer']);
191
+ }
192
+
193
+ if (!!err) {
194
+ return cbk([
195
+ 503,
196
+ 'UnexpectedErrorRegisteringAssetTransfer',
197
+ {err},
198
+ ]);
199
+ }
200
+
201
+ if (!res) {
202
+ return cbk([503, 'ExpectedResponseToRegisterAssetTransfer']);
203
+ }
204
+
205
+ try {
206
+ return cbk(null, rpcAssetAsAsset(res.registered_asset));
207
+ } catch (err: any) {
208
+ return cbk([503, err.message]);
209
+ }
210
+ });
211
+ },
212
+ ],
213
+ },
214
+ returnResult({reject, resolve, of: 'register'}, cbk),
215
+ );
216
+ });
217
+ };
218
+
219
+ export default registerAssetTransfer;
@@ -0,0 +1,223 @@
1
+ import {auto as asyncAuto} from 'async';
2
+ import {returnResult} from 'asyncjs-util';
3
+
4
+ import {feeRateAsTokensPerKw} from '../../tapd_requests/index.js';
5
+ import {isConnectionFailure} from '../../tapd_requests/index.js';
6
+ import {isPermissionDenied} from '../../tapd_requests/index.js';
7
+ import {isTapd} from '../../tapd_requests/index.js';
8
+ import {rpcTransferAsTransfer} from '../../tapd_responses/index.js';
9
+ import type {Transfer} 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 addressParseError = 'error parsing addresses';
16
+ const feeRateErrors = [
17
+ 'manual fee rate below floor',
18
+ 'does not meet minrelayfee',
19
+ ];
20
+ const insufficientError =
21
+ 'failed to find coin(s) that satisfy given constraints';
22
+ const {isArray} = Array;
23
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
24
+ const method = 'sendAsset';
25
+ const type = 'default';
26
+
27
+ export type SendAssetArgs = AuthenticatedTapdArgs<{
28
+ addresses: {
29
+ /** Taproot Assets Address String */
30
+ address: string;
31
+ /** Asset Units To Send Numeric String */
32
+ amount?: string;
33
+ }[];
34
+ /** Chain Fee Tokens Per Virtual Byte Number */
35
+ fee_tokens_per_vbyte?: number;
36
+ /** Skip the Proof Courier Ping Check Bool */
37
+ is_courier_ping_skipped?: boolean;
38
+ /** Transfer Label String */
39
+ label?: string;
40
+ }>;
41
+
42
+ export type SendAssetResult = Transfer;
43
+
44
+ type Tasks = {
45
+ send: SendAssetResult;
46
+ validate: undefined;
47
+ };
48
+
49
+ /** Send assets to Taproot Assets addresses
50
+
51
+ Requires `assets:write` permission
52
+
53
+ All addresses must be for the same asset id or asset group
54
+
55
+ An `amount` is only for an address without an amount, for example a V2
56
+ address. When an address has an `amount`, tapd v0.8.0 or later is
57
+ necessary.
58
+
59
+ A fee rate below 253 tokens per thousand weight units (about 1.012 tokens
60
+ per virtual byte) is raised to 253, because tapd rejects a lower rate
61
+
62
+ {
63
+ addresses: [{
64
+ address: <Taproot Assets Address String>
65
+ [amount]: <Asset Units To Send Numeric String>
66
+ }]
67
+ [fee_tokens_per_vbyte]: <Chain Fee Tokens Per Virtual Byte Number>
68
+ [is_courier_ping_skipped]: <Skip the Proof Courier Ping Check Bool>
69
+ [label]: <Transfer Label String>
70
+ tapd: <Authenticated tapd API Object>
71
+ }
72
+
73
+ @returns via cbk or Promise
74
+ {
75
+ [block_hash]: <Anchor Block Hash Hex String>
76
+ [block_height]: <Anchor Block Height Number>
77
+ created_at: <Transfer Created At ISO 8601 Date String>
78
+ fee: <Anchor Transaction Chain Fee Tokens Number>
79
+ height_hint: <Anchor Transaction Confirmation Height Hint Number>
80
+ inputs: [{
81
+ amount: <Asset Units Numeric String>
82
+ asset_id: <Asset Id Hex String>
83
+ [group_key]: <Asset Group Key Hex String>
84
+ is_collectible: <Asset Is Collectible Bool>
85
+ script_key: <Script Key Hex String>
86
+ transaction_id: <Spent Anchor Transaction Id Hex String>
87
+ transaction_vout: <Spent Anchor Transaction Output Index Number>
88
+ }]
89
+ [label]: <Transfer Label String>
90
+ outputs: [{
91
+ [address]: <Taproot Assets Address Of the Recipient String>
92
+ amount: <Asset Units Numeric String>
93
+ anchor: {
94
+ internal_key: <Anchor Internal Key Hex String>
95
+ merkle_root: <Anchor Taproot Merkle Root Hex String>
96
+ output_script: <Output Script Hex String>
97
+ passive_assets_count: <Count Of Passive Assets In the Anchor Number>
98
+ taproot_asset_root: <Taproot Asset Root Commitment Hex String>
99
+ [tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
100
+ tokens: <Anchor Output Tokens Number>
101
+ transaction_id: <Anchor Transaction Id Hex String>
102
+ transaction_vout: <Anchor Transaction Output Index Number>
103
+ }
104
+ [asset_id]: <Asset Id Hex String>
105
+ asset_version: <Asset Version Number>
106
+ [group_key]: <Asset Group Key Hex String>
107
+ is_collectible: <Asset Is Collectible Bool>
108
+ is_local: <Script Key Belongs To This Node Bool>
109
+ is_split_root: <Output Is the Split Root Bool>
110
+ [lock_time]: <Lock Time Number>
111
+ [proof]: <Proof File Hex String>
112
+ [proof_courier]: <Proof Courier Address String>
113
+ [proof_delivery]: <Proof Delivery State String> // complete, pending
114
+ [relative_lock_time]: <Relative Lock Time Number>
115
+ script_key: <Script Key Hex String>
116
+ [split_root_hash]: <Split Commitment Root Hash Hex String>
117
+ }]
118
+ [transaction]: <Raw Anchor Transaction Hex String>
119
+ transaction_id: <Anchor Transaction Id Hex String>
120
+ }
121
+ */
122
+ const sendAsset: TapdMethod<SendAssetArgs, SendAssetResult> = (
123
+ args: SendAssetArgs,
124
+ cbk?: TapdCallback<SendAssetResult>,
125
+ ) => {
126
+ return new Promise((resolve, reject) => {
127
+ return asyncAuto<Tasks, TapdError>(
128
+ {
129
+ // Check arguments
130
+ validate: cbk => {
131
+ if (!isArray(args.addresses) || !args.addresses.length) {
132
+ return cbk([400, 'ExpectedAddressesToSendAsset']);
133
+ }
134
+
135
+ if (args.addresses.some(n => !n?.address)) {
136
+ return cbk([400, 'ExpectedAddressForEachSendAssetRecipient']);
137
+ }
138
+
139
+ const amounts = args.addresses.map(n => n.amount);
140
+
141
+ if (amounts.some(n => n !== undefined && !isNumeric(n))) {
142
+ return cbk([400, 'ExpectedNumericAmountToSendAsset']);
143
+ }
144
+
145
+ const feeRate = args.fee_tokens_per_vbyte;
146
+
147
+ if (feeRate !== undefined && !(feeRate > 0)) {
148
+ return cbk([400, 'ExpectedPositiveFeeRateToSendAsset']);
149
+ }
150
+
151
+ if (!isTapd({method, type, tapd: args.tapd})) {
152
+ return cbk([400, 'ExpectedAuthenticatedTapdToSendAsset']);
153
+ }
154
+
155
+ return cbk();
156
+ },
157
+
158
+ // Send the assets
159
+ send: [
160
+ 'validate',
161
+ ({}, cbk) => {
162
+ const hasAmounts = args.addresses.some(n => !!n.amount);
163
+
164
+ // Older tapd versions only know the addresses without amounts
165
+ const request = {
166
+ addresses_with_amounts: !hasAmounts
167
+ ? []
168
+ : args.addresses.map(n => ({
169
+ amount: n.amount || '0',
170
+ tap_addr: n.address,
171
+ })),
172
+ fee_rate: feeRateAsTokensPerKw(args.fee_tokens_per_vbyte),
173
+ label: args.label || '',
174
+ skip_proof_courier_ping_check: !!args.is_courier_ping_skipped,
175
+ tap_addrs: hasAmounts ? [] : args.addresses.map(n => n.address),
176
+ };
177
+
178
+ return args.tapd[type][method](request, (err: any, res: any) => {
179
+ if (isConnectionFailure({err})) {
180
+ return cbk([503, 'FailedToConnectToTapdToSendAsset']);
181
+ }
182
+
183
+ if (isPermissionDenied({err})) {
184
+ return cbk([403, 'PermissionDeniedToSendAsset']);
185
+ }
186
+
187
+ const details = String(err?.details);
188
+
189
+ if (!!err && details.includes(addressParseError)) {
190
+ return cbk([400, 'ExpectedValidAddressesToSendAsset', {err}]);
191
+ }
192
+
193
+ if (!!err && feeRateErrors.some(n => details.includes(n))) {
194
+ return cbk([400, 'ExpectedHigherFeeRateToSendAsset', {err}]);
195
+ }
196
+
197
+ if (!!err && details.includes(insufficientError)) {
198
+ return cbk([400, 'InsufficientAssetsToSendAsset']);
199
+ }
200
+
201
+ if (!!err) {
202
+ return cbk([503, 'UnexpectedErrorSendingAsset', {err}]);
203
+ }
204
+
205
+ if (!res) {
206
+ return cbk([503, 'ExpectedResponseToSendAssetRequest']);
207
+ }
208
+
209
+ try {
210
+ return cbk(null, rpcTransferAsTransfer(res.transfer));
211
+ } catch (err: any) {
212
+ return cbk([503, err.message]);
213
+ }
214
+ });
215
+ },
216
+ ],
217
+ },
218
+ returnResult({reject, resolve, of: 'send'}, cbk),
219
+ );
220
+ });
221
+ };
222
+
223
+ export default sendAsset;
@@ -0,0 +1,181 @@
1
+ import {EventEmitter} from 'node:events';
2
+
3
+ import {emitSubscriptionError} from '../../grpc/index.js';
4
+ import {handleRemoveListener} from '../../grpc/index.js';
5
+ import {isTapd} from '../../tapd_requests/index.js';
6
+ import {rpcSendEventAsSendEvent} from '../../tapd_responses/index.js';
7
+ import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
8
+
9
+ const events = ['send'];
10
+ const {from} = Buffer;
11
+ const isDate = (n: string) => Date.parse(n) > 0;
12
+ const isPublicKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
13
+ const method = 'subscribeSendEvents';
14
+ const microsPerMs = 1e3;
15
+ const type = 'default';
16
+
17
+ export type SubscribeToAssetSendsArgs = AuthenticatedTapdArgs<{
18
+ /** Transfer Label String */
19
+ label?: string;
20
+ /** Recipient Script Key Hex String */
21
+ script_key?: string;
22
+ /** Replay Events From ISO 8601 Date String */
23
+ start_at?: string;
24
+ }>;
25
+
26
+ /** Subscribe to the state changes of outbound asset sends
27
+
28
+ Requires `assets:read` permission
29
+
30
+ A `start_at` date in the past replays the events from that date. Without a
31
+ `start_at`, the events start now.
32
+
33
+ {
34
+ [label]: <Transfer Label String>
35
+ [script_key]: <Recipient Script Key Hex String>
36
+ [start_at]: <Replay Events From ISO 8601 Date String>
37
+ tapd: <Authenticated tapd API Object>
38
+ }
39
+
40
+ @throws
41
+ <Error>
42
+
43
+ @returns
44
+ <EventEmitter Object>
45
+
46
+ @event 'send'
47
+ {
48
+ addresses: [{
49
+ address: <Encoded Taproot Assets Address String>
50
+ amount: <Asset Units To Receive Numeric String>
51
+ [asset_id]: <Asset Id Hex String>
52
+ asset_version: <Asset Version Number>
53
+ [group_key]: <Asset Group Key Hex String>
54
+ internal_key: <Internal Key Hex String>
55
+ is_collectible: <Asset Is Collectible Bool>
56
+ proof_courier: <Proof Courier Address String>
57
+ script_key: <Script Key Hex String>
58
+ [tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
59
+ taproot_output_key: <Taproot Output Key Hex String>
60
+ version: <Address Version Number>
61
+ }]
62
+ [anchor]: {
63
+ [change_output_index]: <Change Output Index Number>
64
+ fee: <Chain Fee Tokens Number>
65
+ fee_tokens_per_vbyte: <Target Fee Tokens Per Virtual Byte Number>
66
+ locked_utxos: [{
67
+ transaction_id: <Locked Transaction Id Hex String>
68
+ transaction_vout: <Locked Transaction Output Index Number>
69
+ }]
70
+ psbt: <Anchor Transaction PSBT Hex String>
71
+ [transaction]: <Signed Anchor Transaction Hex String>
72
+ }
73
+ at: <Event At ISO 8601 Date String>
74
+ [error]: <Send State Error String>
75
+ [label]: <Transfer Label String>
76
+ [next_state]: <Next Send State String>
77
+ parcel_type: <Parcel Type String> // address, pending, pre_anchored, ...
78
+ passive_virtual_packets: [<Passive Virtual Packet Hex String>]
79
+ state: <Executed Send State String> // for example anchor_sign, complete
80
+ [transfer]: {
81
+ [block_hash]: <Anchor Block Hash Hex String>
82
+ [block_height]: <Anchor Block Height Number>
83
+ created_at: <Transfer Created At ISO 8601 Date String>
84
+ fee: <Anchor Transaction Chain Fee Tokens Number>
85
+ height_hint: <Anchor Transaction Confirmation Height Hint Number>
86
+ inputs: [{
87
+ amount: <Asset Units Numeric String>
88
+ asset_id: <Asset Id Hex String>
89
+ [group_key]: <Asset Group Key Hex String>
90
+ is_collectible: <Asset Is Collectible Bool>
91
+ script_key: <Script Key Hex String>
92
+ transaction_id: <Spent Anchor Transaction Id Hex String>
93
+ transaction_vout: <Spent Anchor Transaction Output Index Number>
94
+ }]
95
+ [label]: <Transfer Label String>
96
+ outputs: [{
97
+ [address]: <Taproot Assets Address Of the Recipient String>
98
+ amount: <Asset Units Numeric String>
99
+ anchor: {
100
+ internal_key: <Anchor Internal Key Hex String>
101
+ merkle_root: <Anchor Taproot Merkle Root Hex String>
102
+ output_script: <Output Script Hex String>
103
+ passive_assets_count: <Count Of Passive Assets In the Anchor Number>
104
+ taproot_asset_root: <Taproot Asset Root Commitment Hex String>
105
+ [tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
106
+ tokens: <Anchor Output Tokens Number>
107
+ transaction_id: <Anchor Transaction Id Hex String>
108
+ transaction_vout: <Anchor Transaction Output Index Number>
109
+ }
110
+ [asset_id]: <Asset Id Hex String>
111
+ asset_version: <Asset Version Number>
112
+ [group_key]: <Asset Group Key Hex String>
113
+ is_collectible: <Asset Is Collectible Bool>
114
+ is_local: <Script Key Belongs To This Node Bool>
115
+ is_split_root: <Output Is the Split Root Bool>
116
+ [lock_time]: <Lock Time Number>
117
+ [proof]: <Proof File Hex String>
118
+ [proof_courier]: <Proof Courier Address String>
119
+ [proof_delivery]: <Proof Delivery State String> // complete, pending
120
+ [relative_lock_time]: <Relative Lock Time Number>
121
+ script_key: <Script Key Hex String>
122
+ [split_root_hash]: <Split Commitment Root Hash Hex String>
123
+ }]
124
+ [transaction]: <Raw Anchor Transaction Hex String>
125
+ transaction_id: <Anchor Transaction Id Hex String>
126
+ }
127
+ virtual_packets: [<Virtual Packet Hex String>]
128
+ }
129
+ */
130
+ export default (args: SubscribeToAssetSendsArgs) => {
131
+ if (!isTapd({method, type, tapd: args.tapd})) {
132
+ throw new Error('ExpectedAuthenticatedTapdToSubscribeToAssetSends');
133
+ }
134
+
135
+ if (!!args.script_key && !isPublicKey(args.script_key)) {
136
+ throw new Error('ExpectedScriptKeyHexToSubscribeToAssetSends');
137
+ }
138
+
139
+ if (args.start_at !== undefined && !isDate(args.start_at)) {
140
+ throw new Error('ExpectedValidStartDateToSubscribeToAssetSends');
141
+ }
142
+
143
+ if (!!args.start_at && Date.parse(args.start_at) > Date.now()) {
144
+ throw new Error('ExpectedPastStartDateToSubscribeToAssetSends');
145
+ }
146
+
147
+ const emitter = new EventEmitter();
148
+ const start = !args.start_at ? 0 : Date.parse(args.start_at) * microsPerMs;
149
+
150
+ const subscription = args.tapd[type][method]({
151
+ filter_label: args.label || '',
152
+ filter_script_key: from(args.script_key || '', 'hex'),
153
+ start_timestamp: String(start),
154
+ });
155
+
156
+ const errored = emitSubscriptionError({emitter, subscription});
157
+
158
+ // Terminate the subscription when all listeners are removed
159
+ handleRemoveListener({emitter, events, subscription});
160
+
161
+ subscription.on('end', () => emitter.emit('end'));
162
+ subscription.on('error', (err: any) => errored(err));
163
+ subscription.on('status', (n: unknown) => emitter.emit('status', n));
164
+
165
+ // Emit a mapper error only when there is an error listener
166
+ const emitMapError = (err: Error) => {
167
+ if (!!emitter.listenerCount('error')) {
168
+ emitter.emit('error', [503, err.message]);
169
+ }
170
+ };
171
+
172
+ subscription.on('data', (event: any) => {
173
+ try {
174
+ emitter.emit('send', rpcSendEventAsSendEvent(event));
175
+ } catch (err: any) {
176
+ emitMapError(err);
177
+ }
178
+ });
179
+
180
+ return emitter;
181
+ };
@@ -0,0 +1,36 @@
1
+ const isDecimal = (n: unknown): n is string =>
2
+ typeof n === 'string' && /^\d+(\.\d+)?$/.test(n);
3
+ const maxScale = 255;
4
+
5
+ /** RPC fixed point number from an exact decimal string
6
+
7
+ The scale is the number of decimal places in the string
8
+
9
+ For example, "123.45" is coefficient 12345 with scale 2
10
+
11
+ <Exact Decimal String>
12
+
13
+ @throws
14
+ <Error>
15
+
16
+ @returns
17
+ {
18
+ coefficient: <Scaled Integer Numeric String>
19
+ scale: <Decimal Places Number>
20
+ }
21
+ */
22
+ export default (decimal: string) => {
23
+ if (!isDecimal(decimal)) {
24
+ throw new Error('ExpectedDecimalStringForFixedPoint');
25
+ }
26
+
27
+ const [whole, fraction = ''] = decimal.split('.');
28
+
29
+ if (fraction.length > maxScale) {
30
+ throw new Error('ExpectedFewerDecimalPlacesForFixedPoint');
31
+ }
32
+
33
+ const coefficient = `${whole}${fraction}`.replace(/^0+(?=\d)/, '');
34
+
35
+ return {coefficient, scale: fraction.length};
36
+ };
@@ -0,0 +1,23 @@
1
+ const feeRateFloor = 253;
2
+ const vbytesPerKiloWeight = 250;
3
+
4
+ /** Chain fee rate in tokens per kiloweight from tokens per vbyte
5
+
6
+ tapd rejects a rate below 253 tokens per kiloweight, so a positive rate is
7
+ never below that floor. litcli and tapcli use the same floor.
8
+
9
+ [fee_tokens_per_vbyte]: <Fee Tokens Per Virtual Byte Number>
10
+
11
+ @returns
12
+ <Fee Tokens Per Kiloweight Number> // 0 selects the tapd default
13
+ */
14
+ export default (feeTokensPerVbyte?: number) => {
15
+ // Exit early when there is no rate, so that tapd uses its default
16
+ if (!feeTokensPerVbyte) {
17
+ return 0;
18
+ }
19
+
20
+ const feeRate = Math.ceil(feeTokensPerVbyte * vbytesPerKiloWeight);
21
+
22
+ return Math.max(feeRateFloor, feeRate);
23
+ };
@@ -0,0 +1,8 @@
1
+ export {default as feeRateAsTokensPerKw} from './fee_rate_as_tokens_per_kw.js';
2
+ export {default as decimalAsFixedPoint} from './decimal_as_fixed_point.js';
3
+ export {default as isConnectionFailure} from './is_connection_failure.js';
4
+ export {default as isMethodUnsupported} from './is_method_unsupported.js';
5
+ export {default as isPermissionDenied} from './is_permission_denied.js';
6
+ export {default as isTapd} from './is_tapd.js';
7
+ export {default as mintFundingRequest} from './mint_funding_request.js';
8
+ export {default as scriptKeyTypeQuery} from './script_key_type_query.js';