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,103 @@
1
+ import outpointAsTransaction from './outpoint_as_transaction.js';
2
+ import receiveStatuses from './receive_statuses.js';
3
+ import rpcAddrAsAddress from './rpc_addr_as_address.js';
4
+ import type {Address} from './rpc_addr_as_address.js';
5
+ import type {RpcAddr} from './rpc_addr_as_address.js';
6
+
7
+ const dateFrom = (n: string) => new Date(Number(n) * 1e3).toISOString();
8
+ const hexOf = (n: Buffer) => (!n.length ? undefined : n.toString('hex'));
9
+ const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
10
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
11
+
12
+ export type RpcAddrEvent = {
13
+ addr: RpcAddr | null;
14
+ confirmation_height: number;
15
+ creation_time_unix_seconds: string;
16
+ has_proof: boolean;
17
+ outpoint: string;
18
+ status: string;
19
+ taproot_sibling: Buffer;
20
+ utxo_amt_sat: string;
21
+ };
22
+
23
+ export type Receive = {
24
+ address: Address;
25
+ /** Confirmation Block Height */
26
+ confirmation_height?: number;
27
+ /** Receive Detected At ISO 8601 Date */
28
+ created_at: string;
29
+ /** Proof File Is Available */
30
+ is_proof_available: boolean;
31
+ /** Receive Status */
32
+ status: string;
33
+ /** Tapscript Sibling Hash Hex */
34
+ tapscript_sibling?: string;
35
+ /** Satoshis In the Anchor Output */
36
+ tokens: number;
37
+ /** Anchor Transaction Id Hex */
38
+ transaction_id: string;
39
+ /** Anchor Transaction Output Index */
40
+ transaction_vout: number;
41
+ };
42
+
43
+ /** Receive from an RPC address event
44
+
45
+ {
46
+ addr: <RPC Address Object>
47
+ confirmation_height: <Confirmation Block Height Number>
48
+ creation_time_unix_seconds: <Created At Unix Seconds Numeric String>
49
+ has_proof: <Proof File Is Available Bool>
50
+ outpoint: <Anchor Outpoint String>
51
+ status: <Address Event Status String>
52
+ taproot_sibling: <Tapscript Sibling Hash Buffer Object>
53
+ utxo_amt_sat: <Satoshis In the Anchor Output Numeric String>
54
+ }
55
+
56
+ @throws
57
+ <Error>
58
+
59
+ @returns
60
+ {
61
+ address: <Address Object>
62
+ [confirmation_height]: <Confirmation Block Height Number>
63
+ created_at: <Receive Detected At ISO 8601 Date String>
64
+ is_proof_available: <Proof File Is Available Bool>
65
+ status: <Receive Status String>
66
+ [tapscript_sibling]: <Tapscript Sibling Hash Hex String>
67
+ tokens: <Satoshis In the Anchor Output Number>
68
+ transaction_id: <Anchor Transaction Id Hex String>
69
+ transaction_vout: <Anchor Transaction Output Index Number>
70
+ }
71
+ */
72
+ export default (event?: RpcAddrEvent | null): Receive => {
73
+ if (!event) {
74
+ throw new Error('ExpectedRpcAddressEventDetails');
75
+ }
76
+
77
+ if (!isNumeric(event.creation_time_unix_seconds)) {
78
+ throw new Error('ExpectedCreationTimeInRpcAddressEvent');
79
+ }
80
+
81
+ if (!receiveStatuses[event.status]) {
82
+ throw new Error('ExpectedKnownStatusInRpcAddressEvent');
83
+ }
84
+
85
+ if (!isBuffer(event.taproot_sibling)) {
86
+ throw new Error('ExpectedTaprootSiblingInRpcAddressEvent');
87
+ }
88
+
89
+ if (!isNumeric(event.utxo_amt_sat)) {
90
+ throw new Error('ExpectedUtxoAmountInRpcAddressEvent');
91
+ }
92
+
93
+ return {
94
+ address: rpcAddrAsAddress(event.addr),
95
+ confirmation_height: event.confirmation_height || undefined,
96
+ created_at: dateFrom(event.creation_time_unix_seconds),
97
+ is_proof_available: event.has_proof,
98
+ status: receiveStatuses[event.status],
99
+ tapscript_sibling: hexOf(event.taproot_sibling),
100
+ tokens: Number(event.utxo_amt_sat),
101
+ ...outpointAsTransaction(event.outpoint),
102
+ };
103
+ };
@@ -0,0 +1,57 @@
1
+ const hexOf = (n?: Buffer | null) =>
2
+ !n?.length ? undefined : n.toString('hex');
3
+ const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
4
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
5
+
6
+ export type RpcAssetAmount = {
7
+ amount: string;
8
+ asset_id: Buffer;
9
+ group_key: Buffer;
10
+ };
11
+
12
+ export type AssetAmount = {
13
+ /** Asset Units Numeric String */
14
+ amount: string;
15
+ /** Asset Id Hex */
16
+ asset_id: string;
17
+ /** Asset Group Key Hex */
18
+ group_key?: string;
19
+ };
20
+
21
+ /** Asset amount from an RPC asset amount
22
+
23
+ {
24
+ amount: <Asset Units Numeric String>
25
+ asset_id: <Asset Id Buffer Object>
26
+ group_key: <Asset Group Key Buffer Object>
27
+ }
28
+
29
+ @throws
30
+ <Error>
31
+
32
+ @returns
33
+ {
34
+ amount: <Asset Units Numeric String>
35
+ asset_id: <Asset Id Hex String>
36
+ [group_key]: <Asset Group Key Hex String>
37
+ }
38
+ */
39
+ export default (assetAmount?: RpcAssetAmount | null): AssetAmount => {
40
+ if (!assetAmount) {
41
+ throw new Error('ExpectedRpcAssetAmountDetails');
42
+ }
43
+
44
+ if (!isNumeric(assetAmount.amount)) {
45
+ throw new Error('ExpectedAmountInRpcAssetAmount');
46
+ }
47
+
48
+ if (!isBuffer(assetAmount.asset_id) || !assetAmount.asset_id.length) {
49
+ throw new Error('ExpectedAssetIdInRpcAssetAmount');
50
+ }
51
+
52
+ return {
53
+ amount: assetAmount.amount,
54
+ asset_id: assetAmount.asset_id.toString('hex'),
55
+ group_key: hexOf(assetAmount.group_key),
56
+ };
57
+ };
@@ -0,0 +1,299 @@
1
+ import outpointAsTransaction from './outpoint_as_transaction.js';
2
+
3
+ const assetVersions = ['ASSET_VERSION_V0', 'ASSET_VERSION_V1'];
4
+ const dateFrom = (n: string) => new Date(Number(n) * 1e3).toISOString();
5
+ const hexOf = (n?: Buffer | null) =>
6
+ !n?.length ? undefined : n.toString('hex');
7
+ const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
8
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
9
+ const scriptKeyTypes: Record<string, string> = {
10
+ SCRIPT_KEY_BIP86: 'bip86',
11
+ SCRIPT_KEY_BURN: 'burn',
12
+ SCRIPT_KEY_CHANNEL: 'channel',
13
+ SCRIPT_KEY_SCRIPT_PATH_EXTERNAL: 'script_path_external',
14
+ SCRIPT_KEY_TOMBSTONE: 'tombstone',
15
+ SCRIPT_KEY_UNIQUE_PEDERSEN: 'unique_pedersen',
16
+ SCRIPT_KEY_UNKNOWN: 'unknown',
17
+ };
18
+ const zero = '0';
19
+
20
+ export type RpcAsset = {
21
+ amount: string;
22
+ asset_genesis: {
23
+ asset_id: Buffer;
24
+ asset_type: string;
25
+ genesis_point: string;
26
+ meta_hash: Buffer;
27
+ name: string;
28
+ output_index: number;
29
+ } | null;
30
+ asset_group: {
31
+ asset_witness: Buffer;
32
+ raw_group_key: Buffer;
33
+ tapscript_root: Buffer;
34
+ tweaked_group_key: Buffer;
35
+ } | null;
36
+ chain_anchor: {
37
+ anchor_block_hash: string;
38
+ anchor_outpoint: string;
39
+ anchor_tx: Buffer;
40
+ block_height: number;
41
+ block_timestamp: string;
42
+ internal_key: Buffer;
43
+ merkle_root: Buffer;
44
+ tapscript_sibling: Buffer;
45
+ } | null;
46
+ decimal_display: {decimal_display: number} | null;
47
+ is_burn: boolean;
48
+ is_spent: boolean;
49
+ lease_expiry: string;
50
+ lease_owner: Buffer;
51
+ lock_time: number;
52
+ relative_lock_time: number;
53
+ script_key: Buffer;
54
+ script_key_is_local: boolean;
55
+ script_key_type: string;
56
+ script_version: number;
57
+ version: string;
58
+ };
59
+
60
+ export type Asset = {
61
+ /** Asset Units Numeric String */
62
+ amount: string;
63
+ anchor?: {
64
+ /** Anchor Block Hash Hex */
65
+ block_hash?: string;
66
+ /** Anchor Block Height */
67
+ block_height?: number;
68
+ /** Anchor Confirmed At ISO 8601 Date */
69
+ confirmed_at?: string;
70
+ /** Anchor Internal Key Hex */
71
+ internal_key: string;
72
+ /** Anchor Taproot Merkle Root Hex */
73
+ merkle_root: string;
74
+ /** Tapscript Sibling Preimage Hex */
75
+ tapscript_sibling?: string;
76
+ /** Raw Anchor Transaction Hex */
77
+ transaction: string;
78
+ /** Anchor Transaction Id Hex */
79
+ transaction_id: string;
80
+ /** Anchor Transaction Output Index */
81
+ transaction_vout: number;
82
+ };
83
+ /** Asset Id Hex */
84
+ asset_id: string;
85
+ /** Decimal Places To Show */
86
+ decimal_display?: number;
87
+ /** Genesis Commitment Output Index */
88
+ genesis_output_index: number;
89
+ /** Genesis Point Transaction Id Hex */
90
+ genesis_transaction_id: string;
91
+ /** Genesis Point Transaction Output Index */
92
+ genesis_transaction_vout: number;
93
+ group?: {
94
+ /** Tweaked Group Key Hex */
95
+ key: string;
96
+ /** Raw Group Key Hex */
97
+ raw_key: string;
98
+ /** Group Tapscript Root Hex */
99
+ tapscript_root?: string;
100
+ /** Group Membership Witness Hex */
101
+ witness?: string;
102
+ };
103
+ /** Asset Is Burned */
104
+ is_burn: boolean;
105
+ /** Asset Is Collectible */
106
+ is_collectible: boolean;
107
+ /** Script Key Belongs To This Node */
108
+ is_local: boolean;
109
+ /** Asset Is Spent */
110
+ is_spent: boolean;
111
+ /** Lease Expires At ISO 8601 Date */
112
+ lease_expires_at?: string;
113
+ /** Lease Owner Id Hex */
114
+ lease_owner?: string;
115
+ /** Lock Time */
116
+ lock_time?: number;
117
+ /** Asset Metadata Hash Hex */
118
+ meta_hash: string;
119
+ /** Asset Name */
120
+ name: string;
121
+ /** Relative Lock Time */
122
+ relative_lock_time?: number;
123
+ /** Script Key Hex */
124
+ script_key: string;
125
+ /** Script Key Type */
126
+ script_key_type: string;
127
+ /** Script Version */
128
+ script_version: number;
129
+ /** Asset Version */
130
+ version: number;
131
+ };
132
+
133
+ /** Asset from an RPC asset
134
+
135
+ {
136
+ amount: <Asset Units Numeric String>
137
+ asset_genesis: {
138
+ asset_id: <Asset Id Buffer Object>
139
+ asset_type: <Asset Type String>
140
+ genesis_point: <Genesis Outpoint String>
141
+ meta_hash: <Metadata Hash Buffer Object>
142
+ name: <Asset Name String>
143
+ output_index: <Genesis Commitment Output Index Number>
144
+ }
145
+ [asset_group]: {
146
+ asset_witness: <Group Membership Witness Buffer Object>
147
+ raw_group_key: <Raw Group Key Buffer Object>
148
+ tapscript_root: <Group Tapscript Root Buffer Object>
149
+ tweaked_group_key: <Tweaked Group Key Buffer Object>
150
+ }
151
+ [chain_anchor]: {
152
+ anchor_block_hash: <Anchor Block Hash Hex String>
153
+ anchor_outpoint: <Anchor Outpoint String>
154
+ anchor_tx: <Raw Anchor Transaction Buffer Object>
155
+ block_height: <Anchor Block Height Number>
156
+ block_timestamp: <Anchor Block Unix Seconds Numeric String>
157
+ internal_key: <Anchor Internal Key Buffer Object>
158
+ merkle_root: <Anchor Taproot Merkle Root Buffer Object>
159
+ tapscript_sibling: <Tapscript Sibling Preimage Buffer Object>
160
+ }
161
+ [decimal_display]: {
162
+ decimal_display: <Decimal Places To Show Number>
163
+ }
164
+ is_burn: <Asset Is Burned Bool>
165
+ is_spent: <Asset Is Spent Bool>
166
+ lease_expiry: <Lease Expires At Unix Seconds Numeric String>
167
+ lease_owner: <Lease Owner Id Buffer Object>
168
+ lock_time: <Lock Time Number>
169
+ relative_lock_time: <Relative Lock Time Number>
170
+ script_key: <Script Key Buffer Object>
171
+ script_key_is_local: <Script Key Belongs To This Node Bool>
172
+ script_key_type: <Script Key Type String>
173
+ script_version: <Script Version Number>
174
+ version: <Asset Version String>
175
+ }
176
+
177
+ @throws
178
+ <Error>
179
+
180
+ @returns
181
+ {
182
+ amount: <Asset Units Numeric String>
183
+ [anchor]: {
184
+ [block_hash]: <Anchor Block Hash Hex String>
185
+ [block_height]: <Anchor Block Height Number>
186
+ [confirmed_at]: <Anchor Confirmed At ISO 8601 Date String>
187
+ internal_key: <Anchor Internal Key Hex String>
188
+ merkle_root: <Anchor Taproot Merkle Root Hex String>
189
+ [tapscript_sibling]: <Tapscript Sibling Preimage Hex String>
190
+ transaction: <Raw Anchor Transaction Hex String>
191
+ transaction_id: <Anchor Transaction Id Hex String>
192
+ transaction_vout: <Anchor Transaction Output Index Number>
193
+ }
194
+ asset_id: <Asset Id Hex String>
195
+ [decimal_display]: <Decimal Places To Show Number>
196
+ genesis_output_index: <Genesis Commitment Output Index Number>
197
+ genesis_transaction_id: <Genesis Point Transaction Id Hex String>
198
+ genesis_transaction_vout: <Genesis Point Transaction Output Index Number>
199
+ [group]: {
200
+ key: <Tweaked Group Key Hex String>
201
+ raw_key: <Raw Group Key Hex String>
202
+ [tapscript_root]: <Group Tapscript Root Hex String>
203
+ [witness]: <Group Membership Witness Hex String>
204
+ }
205
+ is_burn: <Asset Is Burned Bool>
206
+ is_collectible: <Asset Is Collectible Bool>
207
+ is_local: <Script Key Belongs To This Node Bool>
208
+ is_spent: <Asset Is Spent Bool>
209
+ [lease_expires_at]: <Lease Expires At ISO 8601 Date String>
210
+ [lease_owner]: <Lease Owner Id Hex String>
211
+ [lock_time]: <Lock Time Number>
212
+ meta_hash: <Asset Metadata Hash Hex String>
213
+ name: <Asset Name String>
214
+ [relative_lock_time]: <Relative Lock Time Number>
215
+ script_key: <Script Key Hex String>
216
+ script_key_type: <Script Key Type String>
217
+ script_version: <Script Version Number>
218
+ version: <Asset Version Number>
219
+ }
220
+ */
221
+ export default (asset?: RpcAsset | null): Asset => {
222
+ if (!asset) {
223
+ throw new Error('ExpectedRpcAssetDetails');
224
+ }
225
+
226
+ if (!isNumeric(asset.amount)) {
227
+ throw new Error('ExpectedAmountInRpcAsset');
228
+ }
229
+
230
+ const genesis = asset.asset_genesis;
231
+
232
+ if (!genesis || !isBuffer(genesis.asset_id) || !genesis.asset_id.length) {
233
+ throw new Error('ExpectedAssetGenesisInRpcAsset');
234
+ }
235
+
236
+ if (!isBuffer(genesis.meta_hash)) {
237
+ throw new Error('ExpectedMetaHashInRpcAssetGenesis');
238
+ }
239
+
240
+ if (!isBuffer(asset.script_key)) {
241
+ throw new Error('ExpectedScriptKeyInRpcAsset');
242
+ }
243
+
244
+ if (assetVersions.indexOf(asset.version) === -1) {
245
+ throw new Error('ExpectedKnownVersionInRpcAsset');
246
+ }
247
+
248
+ const anchor = asset.chain_anchor;
249
+ const genesisPoint = outpointAsTransaction(genesis.genesis_point);
250
+ const group = asset.asset_group;
251
+ const hasLease = !!asset.lease_owner?.length;
252
+
253
+ return {
254
+ amount: asset.amount,
255
+ anchor: !anchor
256
+ ? undefined
257
+ : {
258
+ block_hash: anchor.anchor_block_hash || undefined,
259
+ block_height: anchor.block_height || undefined,
260
+ confirmed_at:
261
+ !!anchor.block_timestamp && anchor.block_timestamp !== zero
262
+ ? dateFrom(anchor.block_timestamp)
263
+ : undefined,
264
+ internal_key: anchor.internal_key.toString('hex'),
265
+ merkle_root: anchor.merkle_root.toString('hex'),
266
+ tapscript_sibling: hexOf(anchor.tapscript_sibling),
267
+ transaction: anchor.anchor_tx.toString('hex'),
268
+ ...outpointAsTransaction(anchor.anchor_outpoint),
269
+ },
270
+ asset_id: genesis.asset_id.toString('hex'),
271
+ decimal_display: asset.decimal_display?.decimal_display || undefined,
272
+ genesis_output_index: genesis.output_index,
273
+ genesis_transaction_id: genesisPoint.transaction_id,
274
+ genesis_transaction_vout: genesisPoint.transaction_vout,
275
+ group:
276
+ !group || !group.tweaked_group_key?.length
277
+ ? undefined
278
+ : {
279
+ key: group.tweaked_group_key.toString('hex'),
280
+ raw_key: group.raw_group_key.toString('hex'),
281
+ tapscript_root: hexOf(group.tapscript_root),
282
+ witness: hexOf(group.asset_witness),
283
+ },
284
+ is_burn: asset.is_burn,
285
+ is_collectible: genesis.asset_type === 'COLLECTIBLE',
286
+ is_local: asset.script_key_is_local,
287
+ is_spent: asset.is_spent,
288
+ lease_expires_at: hasLease ? dateFrom(asset.lease_expiry) : undefined,
289
+ lease_owner: hasLease ? asset.lease_owner.toString('hex') : undefined,
290
+ lock_time: asset.lock_time || undefined,
291
+ meta_hash: genesis.meta_hash.toString('hex'),
292
+ name: genesis.name,
293
+ relative_lock_time: asset.relative_lock_time || undefined,
294
+ script_key: asset.script_key.toString('hex'),
295
+ script_key_type: scriptKeyTypes[asset.script_key_type] || 'unknown',
296
+ script_version: asset.script_version,
297
+ version: assetVersions.indexOf(asset.version),
298
+ };
299
+ };
@@ -0,0 +1,85 @@
1
+ const hexOf = (n?: Buffer | null) =>
2
+ !n?.length ? undefined : n.toString('hex');
3
+ const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
4
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
5
+
6
+ export type RpcAssetBalance = {
7
+ asset_genesis: {
8
+ asset_id: Buffer;
9
+ asset_type: string;
10
+ meta_hash: Buffer;
11
+ name: string;
12
+ } | null;
13
+ balance: string;
14
+ group_key: Buffer;
15
+ };
16
+
17
+ export type Balance = {
18
+ /** Asset Id Hex */
19
+ asset_id: string;
20
+ /** Balance Asset Units Numeric String */
21
+ balance: string;
22
+ /** Asset Group Key Hex */
23
+ group_key?: string;
24
+ /** Asset Is Collectible */
25
+ is_collectible: boolean;
26
+ /** Asset Metadata Hash Hex */
27
+ meta_hash: string;
28
+ /** Asset Name */
29
+ name: string;
30
+ };
31
+
32
+ /** Balance from an RPC asset balance
33
+
34
+ {
35
+ asset_genesis: {
36
+ asset_id: <Asset Id Buffer Object>
37
+ asset_type: <Asset Type String>
38
+ meta_hash: <Asset Metadata Hash Buffer Object>
39
+ name: <Asset Name String>
40
+ }
41
+ balance: <Balance Asset Units Numeric String>
42
+ group_key: <Asset Group Key Buffer Object>
43
+ }
44
+
45
+ @throws
46
+ <Error>
47
+
48
+ @returns
49
+ {
50
+ asset_id: <Asset Id Hex String>
51
+ balance: <Balance Asset Units Numeric String>
52
+ [group_key]: <Asset Group Key Hex String>
53
+ is_collectible: <Asset Is Collectible Bool>
54
+ meta_hash: <Asset Metadata Hash Hex String>
55
+ name: <Asset Name String>
56
+ }
57
+ */
58
+ export default (balance?: RpcAssetBalance | null): Balance => {
59
+ if (!balance) {
60
+ throw new Error('ExpectedRpcAssetBalanceDetails');
61
+ }
62
+
63
+ if (!isNumeric(balance.balance)) {
64
+ throw new Error('ExpectedBalanceInRpcAssetBalance');
65
+ }
66
+
67
+ const genesis = balance.asset_genesis;
68
+
69
+ if (!genesis || !isBuffer(genesis.asset_id) || !genesis.asset_id.length) {
70
+ throw new Error('ExpectedAssetGenesisInRpcAssetBalance');
71
+ }
72
+
73
+ if (!isBuffer(genesis.meta_hash)) {
74
+ throw new Error('ExpectedMetaHashInRpcAssetBalance');
75
+ }
76
+
77
+ return {
78
+ asset_id: genesis.asset_id.toString('hex'),
79
+ balance: balance.balance,
80
+ group_key: hexOf(balance.group_key),
81
+ is_collectible: genesis.asset_type === 'COLLECTIBLE',
82
+ meta_hash: genesis.meta_hash.toString('hex'),
83
+ name: genesis.name,
84
+ };
85
+ };
@@ -0,0 +1,85 @@
1
+ const hexOf = (n?: Buffer | null) =>
2
+ !n?.length ? undefined : n.toString('hex');
3
+ const isBuffer = (n: unknown): n is Buffer => Buffer.isBuffer(n);
4
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
5
+ const txIdByteLength = 32;
6
+
7
+ export type RpcAssetBurn = {
8
+ amount: string;
9
+ anchor_txid: Buffer;
10
+ asset_id: Buffer;
11
+ asset_type: string;
12
+ note: string;
13
+ tweaked_group_key: Buffer;
14
+ };
15
+
16
+ export type Burn = {
17
+ /** Burned Asset Units Numeric String */
18
+ amount: string;
19
+ /** Asset Id Hex */
20
+ asset_id: string;
21
+ /** Asset Group Key Hex */
22
+ group_key?: string;
23
+ /** Asset Is Collectible */
24
+ is_collectible: boolean;
25
+ /** Burn Note */
26
+ note?: string;
27
+ /** Burn Anchor Transaction Id Hex */
28
+ transaction_id: string;
29
+ };
30
+
31
+ /** Burn from an RPC asset burn
32
+
33
+ tapd sends the anchor transaction id in internal byte order
34
+
35
+ {
36
+ amount: <Burned Asset Units Numeric String>
37
+ anchor_txid: <Anchor Transaction Id Internal Byte Order Buffer Object>
38
+ asset_id: <Asset Id Buffer Object>
39
+ asset_type: <Asset Type String>
40
+ note: <Burn Note String>
41
+ tweaked_group_key: <Asset Group Key Buffer Object>
42
+ }
43
+
44
+ @throws
45
+ <Error>
46
+
47
+ @returns
48
+ {
49
+ amount: <Burned Asset Units Numeric String>
50
+ asset_id: <Asset Id Hex String>
51
+ [group_key]: <Asset Group Key Hex String>
52
+ is_collectible: <Asset Is Collectible Bool>
53
+ [note]: <Burn Note String>
54
+ transaction_id: <Burn Anchor Transaction Id Hex String>
55
+ }
56
+ */
57
+ export default (burn?: RpcAssetBurn | null): Burn => {
58
+ if (!burn) {
59
+ throw new Error('ExpectedRpcAssetBurnDetails');
60
+ }
61
+
62
+ if (!isNumeric(burn.amount)) {
63
+ throw new Error('ExpectedAmountInRpcAssetBurn');
64
+ }
65
+
66
+ if (
67
+ !isBuffer(burn.anchor_txid) ||
68
+ burn.anchor_txid.length !== txIdByteLength
69
+ ) {
70
+ throw new Error('ExpectedAnchorTransactionIdInRpcAssetBurn');
71
+ }
72
+
73
+ if (!isBuffer(burn.asset_id) || !burn.asset_id.length) {
74
+ throw new Error('ExpectedAssetIdInRpcAssetBurn');
75
+ }
76
+
77
+ return {
78
+ amount: burn.amount,
79
+ asset_id: burn.asset_id.toString('hex'),
80
+ group_key: hexOf(burn.tweaked_group_key),
81
+ is_collectible: burn.asset_type === 'COLLECTIBLE',
82
+ note: burn.note || undefined,
83
+ transaction_id: Buffer.from(burn.anchor_txid).reverse().toString('hex'),
84
+ };
85
+ };
@@ -0,0 +1,62 @@
1
+ import type {GetInvoicesResult} from 'lightning';
2
+ import {rpcInvoiceAsInvoice} from 'lightning/lnd_responses/index.js';
3
+
4
+ import rpcAssetAmountAsAmount from './rpc_asset_amount_as_amount.js';
5
+ import type {AssetAmount} from './rpc_asset_amount_as_amount.js';
6
+ import type {RpcAssetAmount} from './rpc_asset_amount_as_amount.js';
7
+
8
+ const {isArray} = Array;
9
+
10
+ export type RpcAssetInvoice = {
11
+ asset_amounts: RpcAssetAmount[];
12
+ invoice: unknown;
13
+ };
14
+
15
+ export type AssetInvoice = GetInvoicesResult['invoices'][number] & {
16
+ assets: AssetAmount[];
17
+ };
18
+
19
+ /** Asset invoice from an RPC asset invoice
20
+
21
+ The lnd invoice maps with rpcInvoiceAsInvoice from lightning
22
+
23
+ {
24
+ asset_amounts: [{
25
+ amount: <Asset Units Numeric String>
26
+ asset_id: <Asset Id Buffer Object>
27
+ group_key: <Asset Group Key Buffer Object>
28
+ }]
29
+ invoice: <RPC lnd Invoice Object>
30
+ }
31
+
32
+ @throws
33
+ <Error>
34
+
35
+ @returns
36
+ {
37
+ assets: [{
38
+ amount: <Asset Units Numeric String>
39
+ asset_id: <Asset Id Hex String>
40
+ [group_key]: <Asset Group Key Hex String>
41
+ }]
42
+ ...<lightning Invoice Object>
43
+ }
44
+ */
45
+ export default (assetInvoice?: RpcAssetInvoice | null): AssetInvoice => {
46
+ if (!assetInvoice) {
47
+ throw new Error('ExpectedRpcAssetInvoiceDetails');
48
+ }
49
+
50
+ if (!isArray(assetInvoice.asset_amounts)) {
51
+ throw new Error('ExpectedAssetAmountsInRpcAssetInvoice');
52
+ }
53
+
54
+ if (!assetInvoice.invoice) {
55
+ throw new Error('ExpectedInvoiceInRpcAssetInvoice');
56
+ }
57
+
58
+ return {
59
+ ...rpcInvoiceAsInvoice(assetInvoice.invoice),
60
+ assets: assetInvoice.asset_amounts.map(rpcAssetAmountAsAmount),
61
+ };
62
+ };