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,279 @@
1
+ import {auto as asyncAuto} from 'async';
2
+ import {returnResult} from 'asyncjs-util';
3
+
4
+ import {decimalAsFixedPoint} 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 {rpcSellQuoteAsQuote} from '../../tapd_responses/index.js';
9
+ import type {SellQuote} 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 defaultTimeoutSeconds = 60;
16
+ const fillOrKill = 'EXECUTION_POLICY_FOK';
17
+ const {from} = Buffer;
18
+ const groupKeyError = 'error parsing group key';
19
+ const immediateOrCancel = 'EXECUTION_POLICY_IOC';
20
+ const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
21
+ const isDecimal = (n: string) => /^\d+(\.\d+)?$/.test(n);
22
+ const isFuture = (n: string) => Date.parse(n) > Date.now();
23
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
24
+ const isPositive = (n: string) => isNumeric(n) && BigInt(n) > BigInt(0);
25
+ const isPublicKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
26
+ const {isSafeInteger} = Number;
27
+ const maxMetadataBytes = 32768;
28
+ const method = 'addAssetSellOrder';
29
+ const noChannelError = 'error checking peer channel';
30
+ const rejectedError = 'rejected quote';
31
+ const timeoutError = 'timeout waiting for response';
32
+ const type = 'rfq';
33
+ const unixSeconds = (n: string) => Math.floor(Date.parse(n) / 1e3);
34
+
35
+ export type AddAssetSellOrderArgs = AuthenticatedTapdArgs<{
36
+ /** Asset Id Hex String */
37
+ asset_id?: string;
38
+ /** Order Expires At ISO 8601 Date String */
39
+ expires_at: string;
40
+ /** Asset Group Key Hex String */
41
+ group_key?: string;
42
+ /** Skip the Asset Channel Check, For Tests Only */
43
+ is_asset_channel_check_skipped?: boolean;
44
+ /** Reject a Quote That Does Not Fill the Maximum */
45
+ is_fill_or_kill?: boolean;
46
+ /** Maximum Payment Millitokens String */
47
+ max_mtokens: string;
48
+ /** Maximum Rate Asset Units Per BTC Decimal String */
49
+ max_rate?: string;
50
+ /** Minimum Payment Millitokens String */
51
+ min_mtokens?: string;
52
+ /** Peer Public Key Hex String */
53
+ peer_public_key: string;
54
+ /** Price Oracle Metadata String */
55
+ price_oracle_metadata?: string;
56
+ /** Wait For the Peer Quote Seconds Number */
57
+ timeout_seconds?: number;
58
+ }>;
59
+
60
+ export type AddAssetSellOrderResult = SellQuote;
61
+
62
+ type Tasks = {
63
+ addOrder: AddAssetSellOrderResult;
64
+ validate: undefined;
65
+ };
66
+
67
+ /** Ask a peer for a quote to sell an asset over an asset channel
68
+
69
+ Use a sell order before you pay an invoice with an asset
70
+
71
+ Requires `rfq:write` permission
72
+
73
+ An `asset_id` or a `group_key` is required, but not both
74
+
75
+ A rate is a number of asset units per BTC, as an exact decimal string
76
+
77
+ When there is no `min_mtokens`, the quote must fill the `max_mtokens`. Use
78
+ `"0"` to accept a partial fill.
79
+
80
+ The default `timeout_seconds` is 60
81
+
82
+ `max_rate`, `min_mtokens`, and `is_fill_or_kill` need tapd v0.8.0 or later.
83
+ Older tapd versions ignore them.
84
+
85
+ {
86
+ [asset_id]: <Asset Id Hex String>
87
+ expires_at: <Order Expires At ISO 8601 Date String>
88
+ [group_key]: <Asset Group Key Hex String>
89
+ [is_asset_channel_check_skipped]: <Skip Asset Channel Check Bool>
90
+ [is_fill_or_kill]: <Reject a Quote That Does Not Fill the Maximum Bool>
91
+ max_mtokens: <Maximum Payment Millitokens String>
92
+ [max_rate]: <Maximum Rate Asset Units Per BTC Decimal String>
93
+ [min_mtokens]: <Minimum Payment Millitokens String>
94
+ peer_public_key: <Peer Public Key Hex String>
95
+ [price_oracle_metadata]: <Price Oracle Metadata String>
96
+ tapd: <Authenticated tapd API Object>
97
+ [timeout_seconds]: <Wait For the Peer Quote Seconds Number>
98
+ }
99
+
100
+ @returns via cbk or Promise
101
+ {
102
+ [accepted_max_mtokens]: <Accepted Maximum Payment Millitokens String>
103
+ amount: <Asset Units Numeric String>
104
+ [asset_id]: <Asset Id Hex String>
105
+ channel: <Channel To Pay Over Standard Format Channel Id String>
106
+ expires_at: <Quote Expires At ISO 8601 Date String>
107
+ [group_key]: <Asset Group BIP340 Public Key Hex String>
108
+ id: <Quote Request Id Hex String>
109
+ min_transportable_mtokens: <Minimum Millitokens To Send One Unit String>
110
+ peer_public_key: <Peer Public Key Hex String>
111
+ [price_oracle_metadata]: <Price Oracle Metadata String>
112
+ rate: <Bid Rate Asset Units Per BTC Exact Decimal String>
113
+ }
114
+ */
115
+ const addAssetSellOrder: TapdMethod<
116
+ AddAssetSellOrderArgs,
117
+ AddAssetSellOrderResult
118
+ > = (
119
+ args: AddAssetSellOrderArgs,
120
+ cbk?: TapdCallback<AddAssetSellOrderResult>,
121
+ ) => {
122
+ return new Promise((resolve, reject) => {
123
+ return asyncAuto<Tasks, TapdError>(
124
+ {
125
+ // Check arguments
126
+ validate: cbk => {
127
+ if (!args.asset_id && !args.group_key) {
128
+ return cbk([400, 'ExpectedAssetIdOrGroupKeyToAddAssetSellOrder']);
129
+ }
130
+
131
+ if (!!args.asset_id && !!args.group_key) {
132
+ return cbk([400, 'UnexpectedAssetIdAndGroupKeyForAssetSellOrder']);
133
+ }
134
+
135
+ if (!!args.asset_id && !isAssetId(args.asset_id)) {
136
+ return cbk([400, 'ExpectedAssetIdHexToAddAssetSellOrder']);
137
+ }
138
+
139
+ if (!!args.group_key && !isPublicKey(args.group_key)) {
140
+ return cbk([400, 'ExpectedGroupKeyHexToAddAssetSellOrder']);
141
+ }
142
+
143
+ if (!args.expires_at || !isFuture(args.expires_at)) {
144
+ return cbk([400, 'ExpectedFutureExpiresAtToAddAssetSellOrder']);
145
+ }
146
+
147
+ if (args.max_rate !== undefined && !isDecimal(args.max_rate)) {
148
+ return cbk([400, 'ExpectedDecimalMaxRateToAddAssetSellOrder']);
149
+ }
150
+
151
+ if (!isPositive(args.max_mtokens)) {
152
+ return cbk([400, 'ExpectedMaxMtokensToAddAssetSellOrder']);
153
+ }
154
+
155
+ const min = args.min_mtokens;
156
+
157
+ if (min !== undefined && !isNumeric(min)) {
158
+ return cbk([400, 'ExpectedNumericMinMtokensForAssetSellOrder']);
159
+ }
160
+
161
+ if (min !== undefined && BigInt(min) > BigInt(args.max_mtokens)) {
162
+ return cbk([400, 'ExpectedMinMtokensNotAboveMaxForSellOrder']);
163
+ }
164
+
165
+ if (!args.peer_public_key || !isPublicKey(args.peer_public_key)) {
166
+ return cbk([400, 'ExpectedPeerPublicKeyToAddAssetSellOrder']);
167
+ }
168
+
169
+ const metadata = args.price_oracle_metadata || '';
170
+
171
+ if (Buffer.byteLength(metadata) > maxMetadataBytes) {
172
+ return cbk([400, 'ExpectedShorterOracleMetadataForSellOrder']);
173
+ }
174
+
175
+ if (!isTapd({method, type, tapd: args.tapd})) {
176
+ return cbk([400, 'ExpectedAuthenticatedTapdToAddAssetSellOrder']);
177
+ }
178
+
179
+ const timeout = args.timeout_seconds;
180
+
181
+ if (
182
+ timeout !== undefined &&
183
+ (!isSafeInteger(timeout) || timeout < 1)
184
+ ) {
185
+ return cbk([400, 'ExpectedPositiveTimeoutSecondsForSellOrder']);
186
+ }
187
+
188
+ return cbk();
189
+ },
190
+
191
+ // Add the sell order and wait for the peer quote
192
+ addOrder: [
193
+ 'validate',
194
+ ({}, cbk) => {
195
+ const request = {
196
+ asset_rate_limit: !!args.max_rate
197
+ ? decimalAsFixedPoint(args.max_rate)
198
+ : undefined,
199
+ asset_specifier: !!args.asset_id
200
+ ? {asset_id: from(args.asset_id, 'hex')}
201
+ : {group_key: from(args.group_key || '', 'hex')},
202
+ execution_policy: !!args.is_fill_or_kill
203
+ ? fillOrKill
204
+ : immediateOrCancel,
205
+ expiry: String(unixSeconds(args.expires_at)),
206
+ payment_max_amt: args.max_mtokens,
207
+ payment_min_amt: args.min_mtokens,
208
+ peer_pub_key: from(args.peer_public_key, 'hex'),
209
+ price_oracle_metadata: args.price_oracle_metadata || '',
210
+ skip_asset_channel_check: !!args.is_asset_channel_check_skipped,
211
+ timeout_seconds: args.timeout_seconds || defaultTimeoutSeconds,
212
+ };
213
+
214
+ return args.tapd[type][method](request, (err: any, res: any) => {
215
+ if (isConnectionFailure({err})) {
216
+ return cbk([503, 'FailedToConnectToTapdToAddAssetSellOrder']);
217
+ }
218
+
219
+ if (isPermissionDenied({err})) {
220
+ return cbk([403, 'PermissionDeniedToAddAssetSellOrder']);
221
+ }
222
+
223
+ if (!!err && String(err.details).includes(groupKeyError)) {
224
+ return cbk([400, 'ExpectedValidGroupKeyToAddAssetSellOrder']);
225
+ }
226
+
227
+ const details = String(err?.details);
228
+
229
+ if (!!err && details.includes(noChannelError)) {
230
+ return cbk([503, 'NoAssetChannelWithPeerForAssetSellOrder']);
231
+ }
232
+
233
+ if (!!err && details.includes(rejectedError)) {
234
+ return cbk([503, 'PeerRejectedAssetSellOrderQuote', {err}]);
235
+ }
236
+
237
+ if (!!err && details.includes(timeoutError)) {
238
+ return cbk([503, 'TimedOutWaitingForAssetSellOrderQuote']);
239
+ }
240
+
241
+ if (!!err) {
242
+ return cbk([503, 'UnexpectedErrorAddingAssetSellOrder', {err}]);
243
+ }
244
+
245
+ if (!res) {
246
+ return cbk([503, 'ExpectedResponseToAddAssetSellOrder']);
247
+ }
248
+
249
+ if (!!res.invalid_quote) {
250
+ return cbk([
251
+ 503,
252
+ 'PeerSentInvalidQuoteForAssetSellOrder',
253
+ {err: res.invalid_quote},
254
+ ]);
255
+ }
256
+
257
+ if (!!res.rejected_quote) {
258
+ return cbk([
259
+ 503,
260
+ 'PeerRejectedAssetSellOrderQuote',
261
+ {err: res.rejected_quote},
262
+ ]);
263
+ }
264
+
265
+ try {
266
+ return cbk(null, rpcSellQuoteAsQuote(res.accepted_quote));
267
+ } catch (err: any) {
268
+ return cbk([503, err.message]);
269
+ }
270
+ });
271
+ },
272
+ ],
273
+ },
274
+ returnResult({reject, resolve, of: 'addOrder'}, cbk),
275
+ );
276
+ });
277
+ };
278
+
279
+ export default addAssetSellOrder;
@@ -0,0 +1,137 @@
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 {rpcBuyQuoteAsQuote} from '../../tapd_responses/index.js';
8
+ import {rpcSellQuoteAsQuote} from '../../tapd_responses/index.js';
9
+ import type {BuyQuote} from '../../tapd_responses/index.js';
10
+ import type {SellQuote} from '../../tapd_responses/index.js';
11
+ import type {AuthenticatedTapdArgs} from '../../typescript/index.js';
12
+ import type {TapdCallback} from '../../typescript/index.js';
13
+ import type {TapdError} from '../../typescript/index.js';
14
+ import type {TapdMethod} from '../../typescript/index.js';
15
+
16
+ const {isArray} = Array;
17
+ const method = 'queryPeerAcceptedQuotes';
18
+ const type = 'rfq';
19
+
20
+ export type GetAcceptedQuotesArgs = AuthenticatedTapdArgs;
21
+
22
+ export type GetAcceptedQuotesResult = {
23
+ buy_quotes: BuyQuote[];
24
+ sell_quotes: SellQuote[];
25
+ };
26
+
27
+ type Tasks = {
28
+ getQuotes: GetAcceptedQuotesResult;
29
+ validate: undefined;
30
+ };
31
+
32
+ /** Get the quotes that peers accepted for the orders of this node
33
+
34
+ Requires `rfq:read` permission
35
+
36
+ A rate is a number of asset units per BTC, as an exact decimal string
37
+
38
+ {
39
+ tapd: <Authenticated tapd API Object>
40
+ }
41
+
42
+ @returns via cbk or Promise
43
+ {
44
+ buy_quotes: [{
45
+ [accepted_max_amount]: <Accepted Maximum Asset Units Numeric String>
46
+ [asset_id]: <Asset Id Hex String>
47
+ channel: <Channel To Pay Over Standard Format Channel Id String>
48
+ expires_at: <Quote Expires At ISO 8601 Date String>
49
+ [group_key]: <Asset Group BIP340 Public Key Hex String>
50
+ id: <Quote Request Id Hex String>
51
+ max_amount: <Maximum Asset Units Numeric String>
52
+ min_transportable_amount: <Minimum Asset Units In One HTLC String>
53
+ peer_public_key: <Peer Public Key Hex String>
54
+ [price_oracle_metadata]: <Price Oracle Metadata String>
55
+ rate: <Ask Rate Asset Units Per BTC Exact Decimal String>
56
+ }]
57
+ sell_quotes: [{
58
+ [accepted_max_mtokens]: <Accepted Maximum Payment Millitokens String>
59
+ amount: <Asset Units Numeric String>
60
+ [asset_id]: <Asset Id Hex String>
61
+ channel: <Channel To Pay Over Standard Format Channel Id String>
62
+ expires_at: <Quote Expires At ISO 8601 Date String>
63
+ [group_key]: <Asset Group BIP340 Public Key Hex String>
64
+ id: <Quote Request Id Hex String>
65
+ min_transportable_mtokens: <Minimum Millitokens To Send One Unit String>
66
+ peer_public_key: <Peer Public Key Hex String>
67
+ [price_oracle_metadata]: <Price Oracle Metadata String>
68
+ rate: <Bid Rate Asset Units Per BTC Exact Decimal String>
69
+ }]
70
+ }
71
+ */
72
+ const getAcceptedQuotes: TapdMethod<
73
+ GetAcceptedQuotesArgs,
74
+ GetAcceptedQuotesResult
75
+ > = (
76
+ args: GetAcceptedQuotesArgs,
77
+ cbk?: TapdCallback<GetAcceptedQuotesResult>,
78
+ ) => {
79
+ return new Promise((resolve, reject) => {
80
+ return asyncAuto<Tasks, TapdError>(
81
+ {
82
+ // Check arguments
83
+ validate: cbk => {
84
+ if (!isTapd({method, type, tapd: args.tapd})) {
85
+ return cbk([400, 'ExpectedAuthenticatedTapdToGetAcceptedQuotes']);
86
+ }
87
+
88
+ return cbk();
89
+ },
90
+
91
+ // Get the accepted quotes
92
+ getQuotes: [
93
+ 'validate',
94
+ ({}, cbk) => {
95
+ return args.tapd[type][method]({}, (err: any, res: any) => {
96
+ if (isConnectionFailure({err})) {
97
+ return cbk([503, 'FailedToConnectToTapdToGetAcceptedQuotes']);
98
+ }
99
+
100
+ if (isPermissionDenied({err})) {
101
+ return cbk([403, 'PermissionDeniedToGetAcceptedQuotes']);
102
+ }
103
+
104
+ if (!!err) {
105
+ return cbk([
106
+ 503,
107
+ 'UnexpectedErrorGettingAcceptedQuotes',
108
+ {err},
109
+ ]);
110
+ }
111
+
112
+ if (
113
+ !res ||
114
+ !isArray(res.buy_quotes) ||
115
+ !isArray(res.sell_quotes)
116
+ ) {
117
+ return cbk([503, 'ExpectedQuotesInAcceptedQuotesResponse']);
118
+ }
119
+
120
+ try {
121
+ return cbk(null, {
122
+ buy_quotes: res.buy_quotes.map(rpcBuyQuoteAsQuote),
123
+ sell_quotes: res.sell_quotes.map(rpcSellQuoteAsQuote),
124
+ });
125
+ } catch (err: any) {
126
+ return cbk([503, err.message]);
127
+ }
128
+ });
129
+ },
130
+ ],
131
+ },
132
+ returnResult({reject, resolve, of: 'getQuotes'}, cbk),
133
+ );
134
+ });
135
+ };
136
+
137
+ export default getAcceptedQuotes;
@@ -0,0 +1,259 @@
1
+ import {auto as asyncAuto} from 'async';
2
+ import {returnResult} from 'asyncjs-util';
3
+
4
+ import {isConnectionFailure} from '../../tapd_requests/index.js';
5
+ import {isMethodUnsupported} from '../../tapd_requests/index.js';
6
+ import {isPermissionDenied} from '../../tapd_requests/index.js';
7
+ import {isTapd} from '../../tapd_requests/index.js';
8
+ import {rpcForwardAsAssetForward} from '../../tapd_responses/index.js';
9
+ import type {AssetForward} 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 asSeconds = (n?: string) => (!n ? 0 : Math.floor(Date.parse(n) / 1e3));
16
+ const defaultLimit = 100;
17
+ const {from} = Buffer;
18
+ const groupKeyError = 'error parsing group key';
19
+ const {isArray} = Array;
20
+ const isAssetId = (n: string) => /^[0-9A-F]{64}$/i.test(n);
21
+ const isDate = (n: string) => Date.parse(n) > 0;
22
+ const isNumeric = (n: unknown) => typeof n === 'string' && /^\d+$/.test(n);
23
+ const isPublicKey = (n: string) => /^0[23][0-9A-F]{64}$/i.test(n);
24
+ const {isSafeInteger} = Number;
25
+ const maxLimit = 2147483647;
26
+ const method = 'forwardingHistory';
27
+ const {parse} = JSON;
28
+ const {stringify} = JSON;
29
+ const type = 'rfq';
30
+
31
+ export type GetAssetForwardsArgs = AuthenticatedTapdArgs<{
32
+ /** Settled At Or After ISO 8601 Date String */
33
+ after?: string;
34
+ /** Asset Id Hex String */
35
+ asset_id?: string;
36
+ /** Settled At Or Before ISO 8601 Date String */
37
+ before?: string;
38
+ /** Asset Group Key Hex String */
39
+ group_key?: string;
40
+ /** Page Result Limit Number */
41
+ limit?: number;
42
+ /** Peer Public Key Hex String */
43
+ peer_public_key?: string;
44
+ /** Opaque Paging Token String */
45
+ token?: string;
46
+ }>;
47
+
48
+ export type GetAssetForwardsResult = {
49
+ forwards: AssetForward[];
50
+ /** Next Opaque Paging Token */
51
+ next?: string;
52
+ };
53
+
54
+ type Tasks = {
55
+ getForwards: GetAssetForwardsResult;
56
+ validate: undefined;
57
+ };
58
+
59
+ /** Get the asset swaps that this edge node forwarded
60
+
61
+ Requires `rfq:read` permission
62
+
63
+ This method needs tapd v0.8.0 or later
64
+
65
+ Use the `next` token with the same filters to get the next page
66
+
67
+ A rate is a number of asset units per BTC, as an exact decimal string
68
+
69
+ {
70
+ [after]: <Settled At Or After ISO 8601 Date String>
71
+ [asset_id]: <Asset Id Hex String>
72
+ [before]: <Settled At Or Before ISO 8601 Date String>
73
+ [group_key]: <Asset Group Key Hex String>
74
+ [limit]: <Page Result Limit Number>
75
+ [peer_public_key]: <Peer Public Key Hex String>
76
+ tapd: <Authenticated tapd API Object>
77
+ [token]: <Opaque Paging Token String>
78
+ }
79
+
80
+ @returns via cbk or Promise
81
+ {
82
+ forwards: [{
83
+ amount: <Swapped Asset Units Numeric String>
84
+ [asset_id]: <Asset Id Hex String>
85
+ [failed_at]: <Forward Failed At ISO 8601 Date String>
86
+ [group_key]: <Asset Group BIP340 Public Key Hex String>
87
+ htlc_index: <Incoming HTLC Index Numeric String>
88
+ incoming_channel: <Incoming Standard Format Channel Id String>
89
+ incoming_mtokens: <Received Millitokens String>
90
+ opened_at: <Forward Started At ISO 8601 Date String>
91
+ outgoing_channel: <Outgoing Standard Format Channel Id String>
92
+ outgoing_mtokens: <Sent Millitokens String>
93
+ [peer_public_key]: <Peer Public Key Hex String>
94
+ [rate]: <Rate Asset Units Per BTC Exact Decimal String>
95
+ rfq_id: <RFQ Session Id Hex String>
96
+ [settled_at]: <Forward Settled At ISO 8601 Date String>
97
+ type: <Edge Node Policy Type String> // purchase, sale
98
+ }]
99
+ [next]: <Next Opaque Paging Token String>
100
+ }
101
+ */
102
+ const getAssetForwards: TapdMethod<
103
+ GetAssetForwardsArgs,
104
+ GetAssetForwardsResult
105
+ > = (
106
+ args: GetAssetForwardsArgs,
107
+ cbk?: TapdCallback<GetAssetForwardsResult>,
108
+ ) => {
109
+ return new Promise((resolve, reject) => {
110
+ return asyncAuto<Tasks, TapdError>(
111
+ {
112
+ // Check arguments
113
+ validate: cbk => {
114
+ if (args.after !== undefined && !isDate(args.after)) {
115
+ return cbk([400, 'ExpectedValidAfterDateToGetAssetForwards']);
116
+ }
117
+
118
+ if (!!args.asset_id && !!args.group_key) {
119
+ return cbk([400, 'UnexpectedAssetIdAndGroupKeyForAssetForwards']);
120
+ }
121
+
122
+ if (!!args.asset_id && !isAssetId(args.asset_id)) {
123
+ return cbk([400, 'ExpectedAssetIdHexToGetAssetForwards']);
124
+ }
125
+
126
+ if (args.before !== undefined && !isDate(args.before)) {
127
+ return cbk([400, 'ExpectedValidBeforeDateToGetAssetForwards']);
128
+ }
129
+
130
+ if (!!args.group_key && !isPublicKey(args.group_key)) {
131
+ return cbk([400, 'ExpectedGroupKeyHexToGetAssetForwards']);
132
+ }
133
+
134
+ const {limit} = args;
135
+
136
+ if (limit !== undefined && !isSafeInteger(limit)) {
137
+ return cbk([400, 'ExpectedIntegerLimitToGetAssetForwards']);
138
+ }
139
+
140
+ if (limit !== undefined && (limit < 1 || limit > maxLimit)) {
141
+ return cbk([400, 'ExpectedPositiveLimitToGetAssetForwards']);
142
+ }
143
+
144
+ if (!!limit && !!args.token) {
145
+ return cbk([400, 'UnexpectedLimitWhenPagingAssetForwards']);
146
+ }
147
+
148
+ const peer = args.peer_public_key;
149
+
150
+ if (peer !== undefined && !isPublicKey(peer)) {
151
+ return cbk([400, 'ExpectedPeerPublicKeyToGetAssetForwards']);
152
+ }
153
+
154
+ if (!isTapd({method, type, tapd: args.tapd})) {
155
+ return cbk([400, 'ExpectedAuthenticatedTapdToGetAssetForwards']);
156
+ }
157
+
158
+ return cbk();
159
+ },
160
+
161
+ // Get the forwards
162
+ getForwards: [
163
+ 'validate',
164
+ ({}, cbk) => {
165
+ let limit = args.limit || defaultLimit;
166
+ let offset = 0;
167
+
168
+ if (!!args.token) {
169
+ try {
170
+ const pagingToken = parse(args.token);
171
+
172
+ limit = pagingToken.limit;
173
+ offset = pagingToken.offset;
174
+ } catch (err) {
175
+ return cbk([400, 'ExpectedValidPagingTokenForForwards', {err}]);
176
+ }
177
+
178
+ if (!isSafeInteger(limit) || limit < 1 || limit > maxLimit) {
179
+ return cbk([400, 'ExpectedValidPagingTokenForForwards']);
180
+ }
181
+
182
+ if (!isSafeInteger(offset) || offset < 0 || offset > maxLimit) {
183
+ return cbk([400, 'ExpectedValidPagingTokenForForwards']);
184
+ }
185
+ }
186
+
187
+ const hasAsset = !!args.asset_id || !!args.group_key;
188
+
189
+ const request = {
190
+ asset_specifier: !hasAsset
191
+ ? undefined
192
+ : !!args.asset_id
193
+ ? {asset_id: from(args.asset_id, 'hex')}
194
+ : {group_key: from(args.group_key || '', 'hex')},
195
+ limit,
196
+ max_timestamp: String(asSeconds(args.before)),
197
+ min_timestamp: String(asSeconds(args.after)),
198
+ offset,
199
+ peer: !!args.peer_public_key
200
+ ? from(args.peer_public_key, 'hex')
201
+ : undefined,
202
+ };
203
+
204
+ return args.tapd[type][method](request, (err: any, res: any) => {
205
+ if (isConnectionFailure({err})) {
206
+ return cbk([503, 'FailedToConnectToTapdToGetAssetForwards']);
207
+ }
208
+
209
+ if (isPermissionDenied({err})) {
210
+ return cbk([403, 'PermissionDeniedToGetAssetForwards']);
211
+ }
212
+
213
+ if (!!err && String(err.details).includes(groupKeyError)) {
214
+ return cbk([400, 'ExpectedValidGroupKeyToGetAssetForwards']);
215
+ }
216
+
217
+ if (isMethodUnsupported({err})) {
218
+ return cbk([501, 'GetAssetForwardsMethodNotSupported']);
219
+ }
220
+
221
+ if (!!err) {
222
+ return cbk([503, 'UnexpectedErrorGettingAssetForwards', {err}]);
223
+ }
224
+
225
+ if (!res || !isArray(res.forwards)) {
226
+ return cbk([503, 'ExpectedForwardsInAssetForwardsResponse']);
227
+ }
228
+
229
+ if (!isNumeric(res.total_count)) {
230
+ return cbk([503, 'ExpectedTotalCountInAssetForwardsResponse']);
231
+ }
232
+
233
+ try {
234
+ const forwards = res.forwards.map(rpcForwardAsAssetForward);
235
+
236
+ const end = offset + forwards.length;
237
+
238
+ const isLastPage =
239
+ !forwards.length || end >= Number(res.total_count);
240
+
241
+ return cbk(null, {
242
+ forwards,
243
+ next: isLastPage
244
+ ? undefined
245
+ : stringify({limit, offset: end}),
246
+ });
247
+ } catch (err: any) {
248
+ return cbk([503, err.message]);
249
+ }
250
+ });
251
+ },
252
+ ],
253
+ },
254
+ returnResult({reject, resolve, of: 'getForwards'}, cbk),
255
+ );
256
+ });
257
+ };
258
+
259
+ export default getAssetForwards;
@@ -0,0 +1,18 @@
1
+ export {default as addAssetBuyOffer} from './add_asset_buy_offer.js';
2
+ export type {AddAssetBuyOfferArgs} from './add_asset_buy_offer.js';
3
+ export {default as addAssetBuyOrder} from './add_asset_buy_order.js';
4
+ export type {AddAssetBuyOrderArgs} from './add_asset_buy_order.js';
5
+ export type {AddAssetBuyOrderResult} from './add_asset_buy_order.js';
6
+ export {default as addAssetSellOffer} from './add_asset_sell_offer.js';
7
+ export type {AddAssetSellOfferArgs} from './add_asset_sell_offer.js';
8
+ export {default as addAssetSellOrder} from './add_asset_sell_order.js';
9
+ export type {AddAssetSellOrderArgs} from './add_asset_sell_order.js';
10
+ export type {AddAssetSellOrderResult} from './add_asset_sell_order.js';
11
+ export {default as getAcceptedQuotes} from './get_accepted_quotes.js';
12
+ export type {GetAcceptedQuotesArgs} from './get_accepted_quotes.js';
13
+ export type {GetAcceptedQuotesResult} from './get_accepted_quotes.js';
14
+ export {default as getAssetForwards} from './get_asset_forwards.js';
15
+ export type {GetAssetForwardsArgs} from './get_asset_forwards.js';
16
+ export type {GetAssetForwardsResult} from './get_asset_forwards.js';
17
+ export {default as subscribeToRfqEvents} from './subscribe_to_rfq_events.js';
18
+ export type {SubscribeToRfqEventsArgs} from './subscribe_to_rfq_events.js';