@bithomp/xrpl-api 2.3.6

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 (395) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +101 -0
  3. package/lib/base58.d.ts +3 -0
  4. package/lib/base58.js +33 -0
  5. package/lib/client.d.ts +19 -0
  6. package/lib/client.js +122 -0
  7. package/lib/common/errors/index.d.ts +3 -0
  8. package/lib/common/errors/index.js +7 -0
  9. package/lib/common/errors/ripple_error.d.ts +9 -0
  10. package/lib/common/errors/ripple_error.js +28 -0
  11. package/lib/common/errors/utils.d.ts +2 -0
  12. package/lib/common/errors/utils.js +19 -0
  13. package/lib/common/errors/validation_error.d.ts +4 -0
  14. package/lib/common/errors/validation_error.js +7 -0
  15. package/lib/common/index.d.ts +6 -0
  16. package/lib/common/index.js +44 -0
  17. package/lib/common/sha512Half.d.ts +2 -0
  18. package/lib/common/sha512Half.js +12 -0
  19. package/lib/common/utils.d.ts +10 -0
  20. package/lib/common/utils.js +113 -0
  21. package/lib/connection.d.ts +57 -0
  22. package/lib/connection.js +369 -0
  23. package/lib/faucet.d.ts +58 -0
  24. package/lib/faucet.js +89 -0
  25. package/lib/index.d.ts +9 -0
  26. package/lib/index.js +35 -0
  27. package/lib/ledger/account_info.d.ts +12 -0
  28. package/lib/ledger/account_info.js +78 -0
  29. package/lib/ledger/account_lines.d.ts +11 -0
  30. package/lib/ledger/account_lines.js +69 -0
  31. package/lib/ledger/account_nfts.d.ts +21 -0
  32. package/lib/ledger/account_nfts.js +185 -0
  33. package/lib/ledger/account_objects.d.ts +28 -0
  34. package/lib/ledger/account_objects.js +169 -0
  35. package/lib/ledger/account_offers.d.ts +8 -0
  36. package/lib/ledger/account_offers.js +67 -0
  37. package/lib/ledger/account_tx.d.ts +29 -0
  38. package/lib/ledger/account_tx.js +256 -0
  39. package/lib/ledger/book_offers.d.ts +11 -0
  40. package/lib/ledger/book_offers.js +90 -0
  41. package/lib/ledger/currency.d.ts +27 -0
  42. package/lib/ledger/currency.js +167 -0
  43. package/lib/ledger/fee.d.ts +5 -0
  44. package/lib/ledger/fee.js +45 -0
  45. package/lib/ledger/gateway_balances.d.ts +13 -0
  46. package/lib/ledger/gateway_balances.js +101 -0
  47. package/lib/ledger/index.d.ts +16 -0
  48. package/lib/ledger/index.js +32 -0
  49. package/lib/ledger/ledger.d.ts +11 -0
  50. package/lib/ledger/ledger.js +72 -0
  51. package/lib/ledger/manifest.d.ts +8 -0
  52. package/lib/ledger/manifest.js +56 -0
  53. package/lib/ledger/nft_info.d.ts +4 -0
  54. package/lib/ledger/nft_info.js +56 -0
  55. package/lib/ledger/server_info.d.ts +8 -0
  56. package/lib/ledger/server_info.js +54 -0
  57. package/lib/ledger/transaction.d.ts +37 -0
  58. package/lib/ledger/transaction.js +214 -0
  59. package/lib/ledger/vl.d.ts +10 -0
  60. package/lib/ledger/vl.js +92 -0
  61. package/lib/models/account_info.d.ts +122 -0
  62. package/lib/models/account_info.js +102 -0
  63. package/lib/models/account_lines.d.ts +24 -0
  64. package/lib/models/account_lines.js +2 -0
  65. package/lib/models/account_nfts.d.ts +19 -0
  66. package/lib/models/account_nfts.js +45 -0
  67. package/lib/models/account_object.d.ts +38 -0
  68. package/lib/models/account_object.js +61 -0
  69. package/lib/models/base_model.d.ts +14 -0
  70. package/lib/models/base_model.js +2 -0
  71. package/lib/models/book_offers.d.ts +9 -0
  72. package/lib/models/book_offers.js +41 -0
  73. package/lib/models/index.d.ts +23 -0
  74. package/lib/models/index.js +56 -0
  75. package/lib/models/ledger.d.ts +6 -0
  76. package/lib/models/ledger.js +20 -0
  77. package/lib/models/manifest.d.ts +26 -0
  78. package/lib/models/manifest.js +187 -0
  79. package/lib/models/transaction/affected_objects.d.ts +6 -0
  80. package/lib/models/transaction/affected_objects.js +104 -0
  81. package/lib/models/transaction/balance_changes.d.ts +7 -0
  82. package/lib/models/transaction/balance_changes.js +125 -0
  83. package/lib/models/transaction/channel_changes.d.ts +9 -0
  84. package/lib/models/transaction/channel_changes.js +57 -0
  85. package/lib/models/transaction/locked_balance_changes.d.ts +7 -0
  86. package/lib/models/transaction/locked_balance_changes.js +114 -0
  87. package/lib/models/transaction/nftoken_changes.d.ts +1 -0
  88. package/lib/models/transaction/nftoken_changes.js +163 -0
  89. package/lib/models/transaction/nftoken_offer_changes.d.ts +1 -0
  90. package/lib/models/transaction/nftoken_offer_changes.js +107 -0
  91. package/lib/models/transaction/orderbook_changes.d.ts +3 -0
  92. package/lib/models/transaction/orderbook_changes.js +136 -0
  93. package/lib/models/transaction/quality.d.ts +2 -0
  94. package/lib/models/transaction/quality.js +46 -0
  95. package/lib/models/transaction.d.ts +39 -0
  96. package/lib/models/transaction.js +45 -0
  97. package/lib/models/trustline.d.ts +15 -0
  98. package/lib/models/trustline.js +2 -0
  99. package/lib/models/utils.d.ts +3 -0
  100. package/lib/models/utils.js +19 -0
  101. package/lib/models/vl.d.ts +60 -0
  102. package/lib/models/vl.js +377 -0
  103. package/lib/parse/index.d.ts +3 -0
  104. package/lib/parse/index.js +32 -0
  105. package/lib/parse/ledger/account-order.d.ts +10 -0
  106. package/lib/parse/ledger/account-order.js +39 -0
  107. package/lib/parse/ledger/account-trustline.d.ts +3 -0
  108. package/lib/parse/ledger/account-trustline.js +27 -0
  109. package/lib/parse/ledger/amount.d.ts +3 -0
  110. package/lib/parse/ledger/amount.js +17 -0
  111. package/lib/parse/ledger/currency-amount.d.ts +3 -0
  112. package/lib/parse/ledger/currency-amount.js +13 -0
  113. package/lib/parse/ledger/fields.d.ts +2 -0
  114. package/lib/parse/ledger/fields.js +42 -0
  115. package/lib/parse/ledger/flags.d.ts +4 -0
  116. package/lib/parse/ledger/flags.js +18 -0
  117. package/lib/parse/ledger/index.d.ts +4 -0
  118. package/lib/parse/ledger/index.js +25 -0
  119. package/lib/parse/ledger/ledger.d.ts +2 -0
  120. package/lib/parse/ledger/ledger.js +61 -0
  121. package/lib/parse/ledger/memos.d.ts +3 -0
  122. package/lib/parse/ledger/memos.js +17 -0
  123. package/lib/parse/ledger/nftoken-flags.d.ts +5 -0
  124. package/lib/parse/ledger/nftoken-flags.js +8 -0
  125. package/lib/parse/ledger/nftoken-offer-flags.d.ts +5 -0
  126. package/lib/parse/ledger/nftoken-offer-flags.js +8 -0
  127. package/lib/parse/ledger/orderbook-order.d.ts +16 -0
  128. package/lib/parse/ledger/orderbook-order.js +39 -0
  129. package/lib/parse/ledger/pathfind.d.ts +4 -0
  130. package/lib/parse/ledger/pathfind.js +41 -0
  131. package/lib/parse/ledger/payment-channel.d.ts +16 -0
  132. package/lib/parse/ledger/payment-channel.js +27 -0
  133. package/lib/parse/ledger/ripple-amount.d.ts +3 -0
  134. package/lib/parse/ledger/ripple-amount.js +17 -0
  135. package/lib/parse/outcome/affected_objects.d.ts +6 -0
  136. package/lib/parse/outcome/affected_objects.js +109 -0
  137. package/lib/parse/outcome/balance_changes.d.ts +7 -0
  138. package/lib/parse/outcome/balance_changes.js +103 -0
  139. package/lib/parse/outcome/channel_changes.d.ts +9 -0
  140. package/lib/parse/outcome/channel_changes.js +53 -0
  141. package/lib/parse/outcome/index.d.ts +7 -0
  142. package/lib/parse/outcome/index.js +17 -0
  143. package/lib/parse/outcome/locked_balance_changes.d.ts +7 -0
  144. package/lib/parse/outcome/locked_balance_changes.js +92 -0
  145. package/lib/parse/outcome/nftoken_changes.d.ts +1 -0
  146. package/lib/parse/outcome/nftoken_changes.js +143 -0
  147. package/lib/parse/outcome/nftoken_offer_changes.d.ts +2 -0
  148. package/lib/parse/outcome/nftoken_offer_changes.js +107 -0
  149. package/lib/parse/outcome/orderbook_changes.d.ts +3 -0
  150. package/lib/parse/outcome/orderbook_changes.js +111 -0
  151. package/lib/parse/outcome/orderbook_quality.d.ts +2 -0
  152. package/lib/parse/outcome/orderbook_quality.js +45 -0
  153. package/lib/parse/outcome.d.ts +3 -0
  154. package/lib/parse/outcome.js +80 -0
  155. package/lib/parse/specification/account-delete.d.ts +3 -0
  156. package/lib/parse/specification/account-delete.js +42 -0
  157. package/lib/parse/specification/amendment.d.ts +3 -0
  158. package/lib/parse/specification/amendment.js +14 -0
  159. package/lib/parse/specification/check-cancel.d.ts +3 -0
  160. package/lib/parse/specification/check-cancel.js +39 -0
  161. package/lib/parse/specification/check-cash.d.ts +3 -0
  162. package/lib/parse/specification/check-cash.js +42 -0
  163. package/lib/parse/specification/check-create.d.ts +3 -0
  164. package/lib/parse/specification/check-create.js +45 -0
  165. package/lib/parse/specification/deposit-preauth.d.ts +3 -0
  166. package/lib/parse/specification/deposit-preauth.js +40 -0
  167. package/lib/parse/specification/escrow-cancel.d.ts +3 -0
  168. package/lib/parse/specification/escrow-cancel.js +40 -0
  169. package/lib/parse/specification/escrow-create.d.ts +3 -0
  170. package/lib/parse/specification/escrow-create.js +47 -0
  171. package/lib/parse/specification/escrow-finish.d.ts +3 -0
  172. package/lib/parse/specification/escrow-finish.js +42 -0
  173. package/lib/parse/specification/fee-update.d.ts +3 -0
  174. package/lib/parse/specification/fee-update.js +19 -0
  175. package/lib/parse/specification/nftoken-accept-offer.d.ts +3 -0
  176. package/lib/parse/specification/nftoken-accept-offer.js +41 -0
  177. package/lib/parse/specification/nftoken-burn.d.ts +3 -0
  178. package/lib/parse/specification/nftoken-burn.js +40 -0
  179. package/lib/parse/specification/nftoken-cancel-offer.d.ts +3 -0
  180. package/lib/parse/specification/nftoken-cancel-offer.js +39 -0
  181. package/lib/parse/specification/nftoken-create-offer.d.ts +3 -0
  182. package/lib/parse/specification/nftoken-create-offer.js +50 -0
  183. package/lib/parse/specification/nftoken-mint.d.ts +3 -0
  184. package/lib/parse/specification/nftoken-mint.js +44 -0
  185. package/lib/parse/specification/offer-cancel.d.ts +3 -0
  186. package/lib/parse/specification/offer-cancel.js +38 -0
  187. package/lib/parse/specification/offer-create.d.ts +3 -0
  188. package/lib/parse/specification/offer-create.js +53 -0
  189. package/lib/parse/specification/payment-channel-claim.d.ts +3 -0
  190. package/lib/parse/specification/payment-channel-claim.js +47 -0
  191. package/lib/parse/specification/payment-channel-create.d.ts +3 -0
  192. package/lib/parse/specification/payment-channel-create.js +47 -0
  193. package/lib/parse/specification/payment-channel-fund.d.ts +3 -0
  194. package/lib/parse/specification/payment-channel-fund.js +43 -0
  195. package/lib/parse/specification/payment-channel.d.ts +16 -0
  196. package/lib/parse/specification/payment-channel.js +27 -0
  197. package/lib/parse/specification/payment.d.ts +3 -0
  198. package/lib/parse/specification/payment.js +67 -0
  199. package/lib/parse/specification/settings.d.ts +2 -0
  200. package/lib/parse/specification/settings.js +80 -0
  201. package/lib/parse/specification/ticket-create.d.ts +3 -0
  202. package/lib/parse/specification/ticket-create.js +39 -0
  203. package/lib/parse/specification/trustline.d.ts +3 -0
  204. package/lib/parse/specification/trustline.js +57 -0
  205. package/lib/parse/transaction.d.ts +27 -0
  206. package/lib/parse/transaction.js +114 -0
  207. package/lib/parse/utils.d.ts +6 -0
  208. package/lib/parse/utils.js +38 -0
  209. package/lib/types/amounts.d.ts +16 -0
  210. package/lib/types/amounts.js +2 -0
  211. package/lib/types/index.d.ts +1 -0
  212. package/lib/types/index.js +2 -0
  213. package/lib/v1/common/constants.d.ts +16 -0
  214. package/lib/v1/common/constants.js +6 -0
  215. package/lib/v1/common/errors/index.d.ts +3 -0
  216. package/lib/v1/common/errors/index.js +7 -0
  217. package/lib/v1/common/errors/ripple_error.d.ts +9 -0
  218. package/lib/v1/common/errors/ripple_error.js +28 -0
  219. package/lib/v1/common/errors/utils.d.ts +2 -0
  220. package/lib/v1/common/errors/utils.js +19 -0
  221. package/lib/v1/common/errors/validation_error.d.ts +4 -0
  222. package/lib/v1/common/errors/validation_error.js +7 -0
  223. package/lib/v1/common/index.d.ts +3 -0
  224. package/lib/v1/common/index.js +31 -0
  225. package/lib/v1/common/txflags.d.ts +51 -0
  226. package/lib/v1/common/txflags.js +55 -0
  227. package/lib/v1/common/types/commands/account_info.d.ts +17 -0
  228. package/lib/v1/common/types/commands/account_info.js +2 -0
  229. package/lib/v1/common/types/commands/account_lines.d.ts +17 -0
  230. package/lib/v1/common/types/commands/account_lines.js +2 -0
  231. package/lib/v1/common/types/commands/account_objects.d.ts +26 -0
  232. package/lib/v1/common/types/commands/account_objects.js +2 -0
  233. package/lib/v1/common/types/commands/account_offers.d.ts +24 -0
  234. package/lib/v1/common/types/commands/account_offers.js +2 -0
  235. package/lib/v1/common/types/commands/book_offers.d.ts +23 -0
  236. package/lib/v1/common/types/commands/book_offers.js +2 -0
  237. package/lib/v1/common/types/commands/gateway_balances.d.ts +23 -0
  238. package/lib/v1/common/types/commands/gateway_balances.js +2 -0
  239. package/lib/v1/common/types/commands/index.d.ts +10 -0
  240. package/lib/v1/common/types/commands/index.js +26 -0
  241. package/lib/v1/common/types/commands/ledger.d.ts +18 -0
  242. package/lib/v1/common/types/commands/ledger.js +2 -0
  243. package/lib/v1/common/types/commands/ledger_data.d.ts +10 -0
  244. package/lib/v1/common/types/commands/ledger_data.js +2 -0
  245. package/lib/v1/common/types/commands/ledger_entry.d.ts +29 -0
  246. package/lib/v1/common/types/commands/ledger_entry.js +2 -0
  247. package/lib/v1/common/types/commands/path_find.d.ts +33 -0
  248. package/lib/v1/common/types/commands/path_find.js +2 -0
  249. package/lib/v1/common/types/commands/server_info.d.ts +49 -0
  250. package/lib/v1/common/types/commands/server_info.js +2 -0
  251. package/lib/v1/common/types/objects/account.d.ts +6 -0
  252. package/lib/v1/common/types/objects/account.js +2 -0
  253. package/lib/v1/common/types/objects/adjustments.d.ts +16 -0
  254. package/lib/v1/common/types/objects/adjustments.js +2 -0
  255. package/lib/v1/common/types/objects/amendments.d.ts +4 -0
  256. package/lib/v1/common/types/objects/amendments.js +2 -0
  257. package/lib/v1/common/types/objects/amounts.d.ts +13 -0
  258. package/lib/v1/common/types/objects/amounts.js +2 -0
  259. package/lib/v1/common/types/objects/checks.d.ts +17 -0
  260. package/lib/v1/common/types/objects/checks.js +2 -0
  261. package/lib/v1/common/types/objects/deposits.d.ts +5 -0
  262. package/lib/v1/common/types/objects/deposits.js +2 -0
  263. package/lib/v1/common/types/objects/escrows.d.ts +21 -0
  264. package/lib/v1/common/types/objects/escrows.js +2 -0
  265. package/lib/v1/common/types/objects/fees.d.ts +7 -0
  266. package/lib/v1/common/types/objects/fees.js +2 -0
  267. package/lib/v1/common/types/objects/flags.d.ts +5 -0
  268. package/lib/v1/common/types/objects/flags.js +8 -0
  269. package/lib/v1/common/types/objects/index.d.ts +15 -0
  270. package/lib/v1/common/types/objects/index.js +31 -0
  271. package/lib/v1/common/types/objects/ledger.d.ts +45 -0
  272. package/lib/v1/common/types/objects/ledger.js +2 -0
  273. package/lib/v1/common/types/objects/ledger_data.d.ts +10 -0
  274. package/lib/v1/common/types/objects/ledger_data.js +2 -0
  275. package/lib/v1/common/types/objects/ledger_entries.d.ts +158 -0
  276. package/lib/v1/common/types/objects/ledger_entries.js +2 -0
  277. package/lib/v1/common/types/objects/memos.d.ts +12 -0
  278. package/lib/v1/common/types/objects/memos.js +2 -0
  279. package/lib/v1/common/types/objects/nftokens.d.ts +47 -0
  280. package/lib/v1/common/types/objects/nftokens.js +13 -0
  281. package/lib/v1/common/types/objects/offers.d.ts +15 -0
  282. package/lib/v1/common/types/objects/offers.js +2 -0
  283. package/lib/v1/common/types/objects/orders.d.ts +13 -0
  284. package/lib/v1/common/types/objects/orders.js +2 -0
  285. package/lib/v1/common/types/objects/path_find.d.ts +27 -0
  286. package/lib/v1/common/types/objects/path_find.js +2 -0
  287. package/lib/v1/common/types/objects/payment_channels.d.ts +25 -0
  288. package/lib/v1/common/types/objects/payment_channels.js +2 -0
  289. package/lib/v1/common/types/objects/payments.d.ts +20 -0
  290. package/lib/v1/common/types/objects/payments.js +2 -0
  291. package/lib/v1/common/types/objects/queue_data.d.ts +15 -0
  292. package/lib/v1/common/types/objects/queue_data.js +2 -0
  293. package/lib/v1/common/types/objects/settings.d.ts +34 -0
  294. package/lib/v1/common/types/objects/settings.js +2 -0
  295. package/lib/v1/common/types/objects/signers.d.ts +6 -0
  296. package/lib/v1/common/types/objects/signers.js +2 -0
  297. package/lib/v1/common/types/objects/specification.d.ts +4 -0
  298. package/lib/v1/common/types/objects/specification.js +2 -0
  299. package/lib/v1/common/types/objects/tickets.d.ts +4 -0
  300. package/lib/v1/common/types/objects/tickets.js +2 -0
  301. package/lib/v1/common/types/objects/transactions.d.ts +21 -0
  302. package/lib/v1/common/types/objects/transactions.js +2 -0
  303. package/lib/v1/common/types/objects/trustlines.d.ts +38 -0
  304. package/lib/v1/common/types/objects/trustlines.js +2 -0
  305. package/lib/v1/common/types/pathfind-types.d.ts +59 -0
  306. package/lib/v1/common/types/pathfind-types.js +2 -0
  307. package/lib/v1/common/utils.d.ts +6 -0
  308. package/lib/v1/common/utils.js +58 -0
  309. package/lib/v1/index.d.ts +2 -0
  310. package/lib/v1/index.js +28 -0
  311. package/lib/v1/ledger/index.d.ts +1 -0
  312. package/lib/v1/ledger/index.js +27 -0
  313. package/lib/v1/ledger/parse/account-delete.d.ts +7 -0
  314. package/lib/v1/ledger/parse/account-delete.js +42 -0
  315. package/lib/v1/ledger/parse/account-order.d.ts +10 -0
  316. package/lib/v1/ledger/parse/account-order.js +39 -0
  317. package/lib/v1/ledger/parse/account-trustline.d.ts +3 -0
  318. package/lib/v1/ledger/parse/account-trustline.js +27 -0
  319. package/lib/v1/ledger/parse/amendment.d.ts +5 -0
  320. package/lib/v1/ledger/parse/amendment.js +14 -0
  321. package/lib/v1/ledger/parse/amount.d.ts +3 -0
  322. package/lib/v1/ledger/parse/amount.js +40 -0
  323. package/lib/v1/ledger/parse/cancellation.d.ts +2 -0
  324. package/lib/v1/ledger/parse/cancellation.js +38 -0
  325. package/lib/v1/ledger/parse/check-cancel.d.ts +5 -0
  326. package/lib/v1/ledger/parse/check-cancel.js +39 -0
  327. package/lib/v1/ledger/parse/check-cash.d.ts +8 -0
  328. package/lib/v1/ledger/parse/check-cash.js +42 -0
  329. package/lib/v1/ledger/parse/check-create.d.ts +10 -0
  330. package/lib/v1/ledger/parse/check-create.js +45 -0
  331. package/lib/v1/ledger/parse/currency-amount.d.ts +3 -0
  332. package/lib/v1/ledger/parse/currency-amount.js +13 -0
  333. package/lib/v1/ledger/parse/deposit-preauth.d.ts +6 -0
  334. package/lib/v1/ledger/parse/deposit-preauth.js +40 -0
  335. package/lib/v1/ledger/parse/escrow-cancellation.d.ts +2 -0
  336. package/lib/v1/ledger/parse/escrow-cancellation.js +40 -0
  337. package/lib/v1/ledger/parse/escrow-creation.d.ts +2 -0
  338. package/lib/v1/ledger/parse/escrow-creation.js +47 -0
  339. package/lib/v1/ledger/parse/escrow-execution.d.ts +2 -0
  340. package/lib/v1/ledger/parse/escrow-execution.js +42 -0
  341. package/lib/v1/ledger/parse/fee-update.d.ts +8 -0
  342. package/lib/v1/ledger/parse/fee-update.js +19 -0
  343. package/lib/v1/ledger/parse/fields.d.ts +2 -0
  344. package/lib/v1/ledger/parse/fields.js +42 -0
  345. package/lib/v1/ledger/parse/flags.d.ts +15 -0
  346. package/lib/v1/ledger/parse/flags.js +19 -0
  347. package/lib/v1/ledger/parse/index.d.ts +4 -0
  348. package/lib/v1/ledger/parse/index.js +25 -0
  349. package/lib/v1/ledger/parse/ledger.d.ts +18 -0
  350. package/lib/v1/ledger/parse/ledger.js +77 -0
  351. package/lib/v1/ledger/parse/memos.d.ts +3 -0
  352. package/lib/v1/ledger/parse/memos.js +17 -0
  353. package/lib/v1/ledger/parse/order.d.ts +3 -0
  354. package/lib/v1/ledger/parse/order.js +53 -0
  355. package/lib/v1/ledger/parse/orderbook-order.d.ts +16 -0
  356. package/lib/v1/ledger/parse/orderbook-order.js +66 -0
  357. package/lib/v1/ledger/parse/pathfind.d.ts +3 -0
  358. package/lib/v1/ledger/parse/pathfind.js +66 -0
  359. package/lib/v1/ledger/parse/payment-channel-claim.d.ts +2 -0
  360. package/lib/v1/ledger/parse/payment-channel-claim.js +47 -0
  361. package/lib/v1/ledger/parse/payment-channel-create.d.ts +2 -0
  362. package/lib/v1/ledger/parse/payment-channel-create.js +47 -0
  363. package/lib/v1/ledger/parse/payment-channel-fund.d.ts +2 -0
  364. package/lib/v1/ledger/parse/payment-channel-fund.js +43 -0
  365. package/lib/v1/ledger/parse/payment-channel.d.ts +16 -0
  366. package/lib/v1/ledger/parse/payment-channel.js +27 -0
  367. package/lib/v1/ledger/parse/payment.d.ts +2 -0
  368. package/lib/v1/ledger/parse/payment.js +69 -0
  369. package/lib/v1/ledger/parse/ripple-amount.d.ts +3 -0
  370. package/lib/v1/ledger/parse/ripple-amount.js +40 -0
  371. package/lib/v1/ledger/parse/settings.d.ts +2 -0
  372. package/lib/v1/ledger/parse/settings.js +82 -0
  373. package/lib/v1/ledger/parse/ticket-create.d.ts +2 -0
  374. package/lib/v1/ledger/parse/ticket-create.js +39 -0
  375. package/lib/v1/ledger/parse/transaction.d.ts +3 -0
  376. package/lib/v1/ledger/parse/transaction.js +110 -0
  377. package/lib/v1/ledger/parse/trustline.d.ts +2 -0
  378. package/lib/v1/ledger/parse/trustline.js +57 -0
  379. package/lib/v1/ledger/parse/utils.d.ts +6 -0
  380. package/lib/v1/ledger/parse/utils.js +63 -0
  381. package/lib/v1/ledger/parse_outcome.d.ts +2 -0
  382. package/lib/v1/ledger/parse_outcome.js +80 -0
  383. package/lib/v1/ledger/pathfind-types.d.ts +59 -0
  384. package/lib/v1/ledger/pathfind-types.js +2 -0
  385. package/lib/v1/transaction/payment.d.ts +14 -0
  386. package/lib/v1/transaction/payment.js +130 -0
  387. package/lib/v1/transaction/types.d.ts +40 -0
  388. package/lib/v1/transaction/types.js +2 -0
  389. package/lib/v1/transaction/utils.d.ts +8 -0
  390. package/lib/v1/transaction/utils.js +38 -0
  391. package/lib/validator.d.ts +12 -0
  392. package/lib/validator.js +134 -0
  393. package/lib/wallet.d.ts +17 -0
  394. package/lib/wallet.js +140 -0
  395. package/package.json +62 -0
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.parseNFTokenCreateOffer = exports.parseNFTokenCancelOffer = exports.parseNFTokenAcceptOffer = exports.parseNFTOfferFlags = exports.parseNFTokenFlags = exports.parseNFTokenBurn = exports.parseNFTokenMint = exports.parseOrderbookChanges = exports.parseChannelChanges = exports.parseLockedBalanceChanges = exports.parseBalanceChanges = exports.parseNFTokenOfferChanges = exports.parseNFTokenChanges = exports.parseAffectedObjects = void 0;
21
+ __exportStar(require("./account_info"), exports);
22
+ __exportStar(require("./account_nfts"), exports);
23
+ __exportStar(require("./account_object"), exports);
24
+ __exportStar(require("./ledger"), exports);
25
+ __exportStar(require("./manifest"), exports);
26
+ __exportStar(require("./transaction"), exports);
27
+ __exportStar(require("./account_lines"), exports);
28
+ __exportStar(require("./vl"), exports);
29
+ var affected_objects_1 = require("../parse/outcome/affected_objects");
30
+ Object.defineProperty(exports, "parseAffectedObjects", { enumerable: true, get: function () { return affected_objects_1.parseAffectedObjects; } });
31
+ var nftoken_changes_1 = require("../parse/outcome/nftoken_changes");
32
+ Object.defineProperty(exports, "parseNFTokenChanges", { enumerable: true, get: function () { return nftoken_changes_1.parseNFTokenChanges; } });
33
+ var nftoken_offer_changes_1 = require("../parse/outcome/nftoken_offer_changes");
34
+ Object.defineProperty(exports, "parseNFTokenOfferChanges", { enumerable: true, get: function () { return nftoken_offer_changes_1.parseNFTokenOfferChanges; } });
35
+ var balance_changes_1 = require("../parse/outcome/balance_changes");
36
+ Object.defineProperty(exports, "parseBalanceChanges", { enumerable: true, get: function () { return balance_changes_1.parseBalanceChanges; } });
37
+ var locked_balance_changes_1 = require("../parse/outcome/locked_balance_changes");
38
+ Object.defineProperty(exports, "parseLockedBalanceChanges", { enumerable: true, get: function () { return locked_balance_changes_1.parseLockedBalanceChanges; } });
39
+ var channel_changes_1 = require("../parse/outcome/channel_changes");
40
+ Object.defineProperty(exports, "parseChannelChanges", { enumerable: true, get: function () { return channel_changes_1.parseChannelChanges; } });
41
+ var orderbook_changes_1 = require("../parse/outcome/orderbook_changes");
42
+ Object.defineProperty(exports, "parseOrderbookChanges", { enumerable: true, get: function () { return orderbook_changes_1.parseOrderbookChanges; } });
43
+ const nftoken_burn_1 = __importDefault(require("../parse/specification/nftoken-burn"));
44
+ exports.parseNFTokenBurn = nftoken_burn_1.default;
45
+ const nftoken_mint_1 = __importDefault(require("../parse/specification/nftoken-mint"));
46
+ exports.parseNFTokenMint = nftoken_mint_1.default;
47
+ const nftoken_flags_1 = __importDefault(require("../parse/ledger/nftoken-flags"));
48
+ exports.parseNFTokenFlags = nftoken_flags_1.default;
49
+ const nftoken_offer_flags_1 = __importDefault(require("../parse/ledger/nftoken-offer-flags"));
50
+ exports.parseNFTOfferFlags = nftoken_offer_flags_1.default;
51
+ const nftoken_accept_offer_1 = __importDefault(require("../parse/specification/nftoken-accept-offer"));
52
+ exports.parseNFTokenAcceptOffer = nftoken_accept_offer_1.default;
53
+ const nftoken_cancel_offer_1 = __importDefault(require("../parse/specification/nftoken-cancel-offer"));
54
+ exports.parseNFTokenCancelOffer = nftoken_cancel_offer_1.default;
55
+ const nftoken_create_offer_1 = __importDefault(require("../parse/specification/nftoken-create-offer"));
56
+ exports.parseNFTokenCreateOffer = nftoken_create_offer_1.default;
@@ -0,0 +1,6 @@
1
+ export type LedgerIndex = number | ("validated" | "closed" | "current");
2
+ export type StreamType = "consensus" | "ledger" | "manifests" | "peer_status" | "transactions" | "transactions_proposed" | "server" | "validations";
3
+ export declare function unixTimeToLedgerTime(time: number): number;
4
+ export declare function ledgerTimeToUnixTime(ledgerTime: number): number;
5
+ export declare function ledgerTimeToTimestamp(ledgerTime: number): number;
6
+ export declare function ledgerTimeToISO8601(ledgerTime: number): string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ledgerTimeToISO8601 = exports.ledgerTimeToTimestamp = exports.ledgerTimeToUnixTime = exports.unixTimeToLedgerTime = void 0;
4
+ const RIPPLE_UNIX_DIFF = 946684800;
5
+ function unixTimeToLedgerTime(time) {
6
+ return time - RIPPLE_UNIX_DIFF;
7
+ }
8
+ exports.unixTimeToLedgerTime = unixTimeToLedgerTime;
9
+ function ledgerTimeToUnixTime(ledgerTime) {
10
+ return ledgerTime + RIPPLE_UNIX_DIFF;
11
+ }
12
+ exports.ledgerTimeToUnixTime = ledgerTimeToUnixTime;
13
+ function ledgerTimeToTimestamp(ledgerTime) {
14
+ return ledgerTimeToUnixTime(ledgerTime) * 1000;
15
+ }
16
+ exports.ledgerTimeToTimestamp = ledgerTimeToTimestamp;
17
+ function ledgerTimeToISO8601(ledgerTime) {
18
+ return new Date(ledgerTimeToTimestamp(ledgerTime)).toISOString();
19
+ }
20
+ exports.ledgerTimeToISO8601 = ledgerTimeToISO8601;
@@ -0,0 +1,26 @@
1
+ /// <reference types="node" />
2
+ export interface ManifestInterface {
3
+ Sequence?: number;
4
+ PublicKey?: string;
5
+ publicKey?: string;
6
+ address?: string;
7
+ SigningPubKey?: string;
8
+ signingPubKey?: string;
9
+ Signature?: string;
10
+ Domain?: string;
11
+ domain?: string;
12
+ MasterSignature?: string;
13
+ verifyFields?: Buffer;
14
+ error?: string;
15
+ }
16
+ export declare function decodeManifest(manifest: string): ManifestInterface;
17
+ export declare function parseManifest(manifest: string): ManifestInterface;
18
+ export interface GenerateanifestInterface {
19
+ Sequence: number;
20
+ PublicKey: string;
21
+ SigningPubKey: string;
22
+ Domain?: string;
23
+ SigningPrivateKey: string;
24
+ MasterPrivateKey: string;
25
+ }
26
+ export declare function generateManifest(manifest: GenerateanifestInterface): string;
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.generateManifest = exports.parseManifest = exports.decodeManifest = void 0;
27
+ const ripple_binary_codec_1 = require("ripple-binary-codec");
28
+ const ripple_address_codec_1 = require("ripple-address-codec");
29
+ const Validator = __importStar(require("../validator"));
30
+ function decodeManifest(manifest) {
31
+ const manifestHex = Buffer.from(manifest, "base64").toString("hex").toUpperCase();
32
+ const manifestDecoded = (0, ripple_binary_codec_1.decode)(manifestHex);
33
+ if (!manifestDecoded) {
34
+ return manifestDecoded;
35
+ }
36
+ const { PublicKey, SigningPubKey, Domain } = manifestDecoded;
37
+ if (typeof PublicKey === "string") {
38
+ const publicKeyBuffer = Buffer.from(PublicKey, "hex");
39
+ manifestDecoded.publicKey = (0, ripple_address_codec_1.encodeNodePublic)(publicKeyBuffer);
40
+ manifestDecoded.address = Validator.classicAddressFromValidatorPK(publicKeyBuffer);
41
+ }
42
+ if (typeof SigningPubKey === "string") {
43
+ const signingKeyBuffer = Buffer.from(SigningPubKey, "hex");
44
+ manifestDecoded.signingPubKey = (0, ripple_address_codec_1.encodeNodePublic)(signingKeyBuffer);
45
+ }
46
+ if (typeof Domain === "string") {
47
+ manifestDecoded.domain = Buffer.from(Domain, "hex").toString("utf8");
48
+ }
49
+ return manifestDecoded;
50
+ }
51
+ exports.decodeManifest = decodeManifest;
52
+ function parseManifest(manifest) {
53
+ const buf = Buffer.from(manifest, "base64");
54
+ const decoded = {};
55
+ let cur = 0;
56
+ const verifyFields = [Buffer.from("MAN\x00", "utf-8")];
57
+ let lastSigning = 0;
58
+ if (buf[cur++] !== 0x24) {
59
+ decoded.error = "Missing Sequence Number";
60
+ return decoded;
61
+ }
62
+ decoded.Sequence = (buf[cur] << 24) + (buf[cur + 1] << 16) + (buf[cur + 2] << 8) + buf[cur + 3];
63
+ cur += 4;
64
+ verifyFields.push(buf.slice(lastSigning, cur));
65
+ lastSigning = cur;
66
+ if (buf[cur++] !== 0x71) {
67
+ decoded.error = "Missing Public Key";
68
+ return decoded;
69
+ }
70
+ if (buf[cur++] !== 33) {
71
+ decoded.error = "Missing Public Key size";
72
+ return decoded;
73
+ }
74
+ decoded.PublicKey = buf
75
+ .slice(cur, cur + 33)
76
+ .toString("hex")
77
+ .toUpperCase();
78
+ decoded.publicKey = (0, ripple_address_codec_1.encodeNodePublic)(buf.slice(cur, cur + 33));
79
+ decoded.address = Validator.classicAddressFromValidatorPK(buf.slice(cur, cur + 33));
80
+ cur += 33;
81
+ verifyFields.push(buf.slice(lastSigning, cur));
82
+ lastSigning = cur;
83
+ if (buf[cur++] === 0x73) {
84
+ if (buf[cur++] !== 33) {
85
+ decoded.error = "Missing Signing Public Key size";
86
+ return decoded;
87
+ }
88
+ decoded.SigningPubKey = buf
89
+ .slice(cur, cur + 33)
90
+ .toString("hex")
91
+ .toUpperCase();
92
+ decoded.signingPubKey = (0, ripple_address_codec_1.encodeNodePublic)(buf.slice(cur, cur + 33));
93
+ cur += 33;
94
+ verifyFields.push(buf.slice(lastSigning, cur));
95
+ lastSigning = cur;
96
+ }
97
+ if (buf[cur++] === 0x76) {
98
+ const signatureSize = buf[cur++];
99
+ decoded.Signature = buf
100
+ .slice(cur, cur + signatureSize)
101
+ .toString("hex")
102
+ .toUpperCase();
103
+ cur += signatureSize;
104
+ lastSigning = cur;
105
+ }
106
+ if (buf[cur] === 0x77) {
107
+ cur++;
108
+ const domainSize = buf[cur++];
109
+ decoded.Domain = buf
110
+ .slice(cur, cur + domainSize)
111
+ .toString("hex")
112
+ .toUpperCase();
113
+ decoded.domain = buf.slice(cur, cur + domainSize).toString("utf-8");
114
+ cur += domainSize;
115
+ verifyFields.push(buf.slice(lastSigning, cur));
116
+ lastSigning = cur;
117
+ }
118
+ if (buf[cur++] !== 0x70) {
119
+ decoded.error = "Missing Master Signature";
120
+ return decoded;
121
+ }
122
+ if (buf[cur++] !== 0x12) {
123
+ decoded.error = "Missing Master Signature follow byte";
124
+ return decoded;
125
+ }
126
+ const masterSize = buf[cur++];
127
+ decoded.MasterSignature = buf
128
+ .slice(cur, cur + masterSize)
129
+ .toString("hex")
130
+ .toUpperCase();
131
+ cur += masterSize;
132
+ lastSigning = cur;
133
+ if (cur !== buf.length) {
134
+ decoded.error = "Extra bytes at end of manifest";
135
+ return decoded;
136
+ }
137
+ decoded.verifyFields = Buffer.concat(verifyFields);
138
+ if (decoded.SigningPubKey && decoded.Signature) {
139
+ if (!Validator.verify(decoded.verifyFields, decoded.Signature, decoded.SigningPubKey)) {
140
+ decoded.error = "Ephemeral signature does not match";
141
+ return decoded;
142
+ }
143
+ }
144
+ if (!Validator.verify(decoded.verifyFields, decoded.MasterSignature, decoded.PublicKey)) {
145
+ decoded.error = "Master signature does not match";
146
+ return decoded;
147
+ }
148
+ return decoded;
149
+ }
150
+ exports.parseManifest = parseManifest;
151
+ function generateManifest(manifest) {
152
+ const verifyFields = [Buffer.from("MAN\x00", "utf-8")];
153
+ const secuenceBuffer = Buffer.alloc(5);
154
+ secuenceBuffer.writeUInt8(0x24);
155
+ secuenceBuffer.writeUInt32BE(manifest.Sequence, 1);
156
+ verifyFields.push(secuenceBuffer);
157
+ const publicKeyBuffer = Buffer.alloc(35);
158
+ publicKeyBuffer.writeUInt8(0x71);
159
+ publicKeyBuffer.writeUInt8(manifest.PublicKey.length / 2, 1);
160
+ publicKeyBuffer.write(manifest.PublicKey, 2, "hex");
161
+ verifyFields.push(publicKeyBuffer);
162
+ const signingPubKeyBuffer = Buffer.alloc(35);
163
+ signingPubKeyBuffer.writeUInt8(0x73);
164
+ signingPubKeyBuffer.writeUInt8(manifest.SigningPubKey.length / 2, 1);
165
+ signingPubKeyBuffer.write(manifest.SigningPubKey, 2, "hex");
166
+ verifyFields.push(signingPubKeyBuffer);
167
+ if (manifest.Domain) {
168
+ const domainBuffer = Buffer.alloc(2 + manifest.Domain.length / 2);
169
+ domainBuffer.writeUInt8(0x77);
170
+ domainBuffer.writeUInt8(manifest.Domain.length / 2, 1);
171
+ domainBuffer.write(manifest.Domain, 2, "hex");
172
+ verifyFields.push(domainBuffer);
173
+ }
174
+ const verifyData = Buffer.concat(verifyFields);
175
+ const ephemeralSignature = Validator.sign(verifyData, manifest.SigningPrivateKey);
176
+ const masterSignature = Validator.sign(verifyData, manifest.MasterPrivateKey);
177
+ const manifestBuffer = Buffer.from((0, ripple_binary_codec_1.encode)({
178
+ Sequence: manifest.Sequence,
179
+ PublicKey: manifest.PublicKey,
180
+ SigningPubKey: manifest.SigningPubKey,
181
+ Signature: ephemeralSignature,
182
+ Domain: manifest.Domain,
183
+ MasterSignature: masterSignature,
184
+ }), "hex");
185
+ return manifestBuffer.toString("base64");
186
+ }
187
+ exports.generateManifest = generateManifest;
@@ -0,0 +1,6 @@
1
+ interface AffectedObjectsInterface {
2
+ nftokens?: any;
3
+ nftokenOffers?: any;
4
+ }
5
+ declare function parseAffectedObjects(tx: any): AffectedObjectsInterface | undefined;
6
+ export { parseAffectedObjects };
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAffectedObjects = void 0;
4
+ const nftoken_changes_1 = require("./nftoken_changes");
5
+ const nftoken_offer_changes_1 = require("./nftoken_offer_changes");
6
+ const account_nfts_1 = require("../../models/account_nfts");
7
+ function parseAffectedObjects(tx) {
8
+ return new AffectedObjects(tx).call();
9
+ }
10
+ exports.parseAffectedObjects = parseAffectedObjects;
11
+ class AffectedObjects {
12
+ constructor(tx) {
13
+ this.tx = tx;
14
+ this.affectedObjects = {};
15
+ this.nftChanges = undefined;
16
+ this.nftOfferChanges = undefined;
17
+ }
18
+ call() {
19
+ this.parseNFTokens();
20
+ this.parseNFTokenOffers();
21
+ if (Object.keys(this.affectedObjects).length > 0) {
22
+ return this.affectedObjects;
23
+ }
24
+ return undefined;
25
+ }
26
+ getNFTokenChanges() {
27
+ if (this.nftChanges) {
28
+ return this.nftChanges;
29
+ }
30
+ this.nftChanges = (0, nftoken_changes_1.parseNFTokenChanges)(this.tx);
31
+ return this.nftChanges;
32
+ }
33
+ getNFTokenOfferChanges() {
34
+ if (this.nftOfferChanges) {
35
+ return this.nftOfferChanges;
36
+ }
37
+ this.nftOfferChanges = (0, nftoken_offer_changes_1.parseNFTokenOfferChanges)(this.tx);
38
+ return this.nftOfferChanges;
39
+ }
40
+ parseNFTokens() {
41
+ const nftokens = {};
42
+ const nftokenChanges = this.getNFTokenChanges();
43
+ for (const account in nftokenChanges) {
44
+ for (const nftsChange of nftokenChanges[account]) {
45
+ if (nftokens[nftsChange.nftokenID]) {
46
+ continue;
47
+ }
48
+ const nftokenIDInfo = (0, account_nfts_1.parseNFTokenID)(nftsChange.nftokenID);
49
+ if (nftokenIDInfo) {
50
+ nftokens[nftsChange.nftokenID] = {
51
+ nftokenID: nftsChange.nftokenID,
52
+ flags: (0, account_nfts_1.parseNFTokenFlags)(nftokenIDInfo.Flags),
53
+ transferFee: nftokenIDInfo.TransferFee,
54
+ issuer: nftokenIDInfo.Issuer,
55
+ nftokenTaxon: nftokenIDInfo.NFTokenTaxon,
56
+ sequence: nftokenIDInfo.Sequence,
57
+ };
58
+ }
59
+ }
60
+ }
61
+ const nftokenOfferChanges = this.getNFTokenOfferChanges();
62
+ for (const account in nftokenOfferChanges) {
63
+ for (const nftokenOfferChange of nftokenOfferChanges[account]) {
64
+ if (nftokens[nftokenOfferChange.nftokenID]) {
65
+ continue;
66
+ }
67
+ const nftokenIDInfo = (0, account_nfts_1.parseNFTokenID)(nftokenOfferChange.nftokenID);
68
+ if (nftokenIDInfo) {
69
+ nftokens[nftokenOfferChange.nftokenID] = {
70
+ nftokenID: nftokenOfferChange.nftokenID,
71
+ flags: (0, account_nfts_1.parseNFTokenFlags)(nftokenIDInfo.Flags),
72
+ transferFee: nftokenIDInfo.TransferFee,
73
+ issuer: nftokenIDInfo.Issuer,
74
+ nftokenTaxon: nftokenIDInfo.NFTokenTaxon,
75
+ sequence: nftokenIDInfo.Sequence,
76
+ };
77
+ }
78
+ }
79
+ }
80
+ if (Object.keys(nftokens).length > 0) {
81
+ this.affectedObjects.nftokens = nftokens;
82
+ }
83
+ }
84
+ parseNFTokenOffers() {
85
+ const nftokenOffers = {};
86
+ const nftokenOfferChanges = this.getNFTokenOfferChanges();
87
+ for (const account in nftokenOfferChanges) {
88
+ for (const nftokenOfferChange of nftokenOfferChanges[account]) {
89
+ if (nftokenOffers[nftokenOfferChange.index]) {
90
+ continue;
91
+ }
92
+ nftokenOffers[nftokenOfferChange.index] = {
93
+ index: nftokenOfferChange.index,
94
+ nftokenID: nftokenOfferChange.nftokenID,
95
+ flags: (0, account_nfts_1.parseNFTOfferFlags)(nftokenOfferChange.flags),
96
+ owner: nftokenOfferChange.owner,
97
+ };
98
+ }
99
+ }
100
+ if (Object.keys(nftokenOffers).length > 0) {
101
+ this.affectedObjects.nftokenOffers = nftokenOffers;
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,7 @@
1
+ declare function parseBalanceChanges(metadata: any): {
2
+ [x: string]: any[];
3
+ };
4
+ declare function parseFinalBalances(metadata: any): {
5
+ [x: string]: any[];
6
+ };
7
+ export { parseBalanceChanges, parseFinalBalances };
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.parseFinalBalances = exports.parseBalanceChanges = void 0;
30
+ const _ = __importStar(require("lodash"));
31
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
32
+ const utils_1 = require("../../v1/common/utils");
33
+ function groupByAddress(balanceChanges) {
34
+ var grouped = _.groupBy(balanceChanges, function (node) {
35
+ return node.address;
36
+ });
37
+ return _.mapValues(grouped, function (group) {
38
+ return _.map(group, function (node) {
39
+ return node.balance;
40
+ });
41
+ });
42
+ }
43
+ function parseValue(value) {
44
+ return new bignumber_js_1.default(value.value || value);
45
+ }
46
+ function computeBalanceChange(node) {
47
+ var value = null;
48
+ if (node.newFields.Balance) {
49
+ value = parseValue(node.newFields.Balance);
50
+ }
51
+ else if (node.previousFields.Balance && node.finalFields.Balance) {
52
+ value = parseValue(node.finalFields.Balance).minus(parseValue(node.previousFields.Balance));
53
+ }
54
+ return value === null ? null : value.isZero() ? null : value;
55
+ }
56
+ function parseFinalBalance(node) {
57
+ if (node.newFields.Balance) {
58
+ return parseValue(node.newFields.Balance);
59
+ }
60
+ else if (node.finalFields.Balance) {
61
+ return parseValue(node.finalFields.Balance);
62
+ }
63
+ return null;
64
+ }
65
+ function parseXRPQuantity(node, valueParser) {
66
+ var value = valueParser(node);
67
+ if (value === null) {
68
+ return null;
69
+ }
70
+ return {
71
+ address: node.finalFields.Account || node.newFields.Account,
72
+ balance: {
73
+ counterparty: '',
74
+ currency: 'XRP',
75
+ value: (0, utils_1.dropsToXrp)(value).toString()
76
+ }
77
+ };
78
+ }
79
+ function flipTrustlinePerspective(quantity) {
80
+ var negatedBalance = (new bignumber_js_1.default(quantity.balance.value)).negated();
81
+ return {
82
+ address: quantity.balance.counterparty,
83
+ balance: {
84
+ counterparty: quantity.address,
85
+ currency: quantity.balance.currency,
86
+ value: negatedBalance.toString()
87
+ }
88
+ };
89
+ }
90
+ function parseTrustlineQuantity(node, valueParser) {
91
+ var value = valueParser(node);
92
+ if (value === null) {
93
+ return null;
94
+ }
95
+ var fields = _.isEmpty(node.newFields) ? node.finalFields : node.newFields;
96
+ var result = {
97
+ address: fields.LowLimit.issuer,
98
+ balance: {
99
+ counterparty: fields.HighLimit.issuer,
100
+ currency: fields.Balance.currency,
101
+ value: value.toString()
102
+ }
103
+ };
104
+ return [result, flipTrustlinePerspective(result)];
105
+ }
106
+ function parseQuantities(metadata, valueParser) {
107
+ var values = (0, utils_1.normalizeNodes)(metadata).map(function (node) {
108
+ if (node.entryType === 'AccountRoot') {
109
+ return [parseXRPQuantity(node, valueParser)];
110
+ }
111
+ else if (node.entryType === 'RippleState') {
112
+ return parseTrustlineQuantity(node, valueParser);
113
+ }
114
+ return [];
115
+ });
116
+ return groupByAddress(_.compact(_.flatten(values)));
117
+ }
118
+ function parseBalanceChanges(metadata) {
119
+ return parseQuantities(metadata, computeBalanceChange);
120
+ }
121
+ exports.parseBalanceChanges = parseBalanceChanges;
122
+ function parseFinalBalances(metadata) {
123
+ return parseQuantities(metadata, parseFinalBalance);
124
+ }
125
+ exports.parseFinalBalances = parseFinalBalances;
@@ -0,0 +1,9 @@
1
+ declare function parseChannelChanges(metadata: any): {
2
+ status: string | undefined;
3
+ channelId: any;
4
+ source: any;
5
+ destination: any;
6
+ channelAmountDrops: string;
7
+ channelBalanceDrops: string;
8
+ } | undefined;
9
+ export { parseChannelChanges };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseChannelChanges = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const utils_1 = require("../../v1/common/utils");
9
+ function parsePaymentChannelStatus(node) {
10
+ if (node.diffType === 'CreatedNode') {
11
+ return 'created';
12
+ }
13
+ if (node.diffType === 'ModifiedNode') {
14
+ return 'modified';
15
+ }
16
+ if (node.diffType === 'DeletedNode') {
17
+ return 'deleted';
18
+ }
19
+ return undefined;
20
+ }
21
+ function summarizePaymentChannel(node) {
22
+ const final = (node.diffType === 'CreatedNode') ?
23
+ node.newFields : node.finalFields;
24
+ const prev = node.previousFields || {};
25
+ const summary = {
26
+ status: parsePaymentChannelStatus(node),
27
+ channelId: node.ledgerIndex,
28
+ source: final.Account,
29
+ destination: final.Destination,
30
+ channelAmountDrops: new bignumber_js_1.default(final.Amount || 0).toString(10),
31
+ channelBalanceDrops: new bignumber_js_1.default(final.Balance || 0).toString(10),
32
+ };
33
+ if (prev.Amount) {
34
+ summary.channelAmountChangeDrops = new bignumber_js_1.default(final.Amount)
35
+ .minus(new bignumber_js_1.default(prev.Amount || 0))
36
+ .toString(10);
37
+ }
38
+ if (prev.Balance) {
39
+ summary.channelBalanceChangeDrops = new bignumber_js_1.default(final.Balance)
40
+ .minus(new bignumber_js_1.default(prev.Balance || 0))
41
+ .toString(10);
42
+ }
43
+ if (node.PreviousTxnID) {
44
+ summary.previousTxnId = node.PreviousTxnID;
45
+ }
46
+ return summary;
47
+ }
48
+ function parseChannelChanges(metadata) {
49
+ const paymentChannels = (0, utils_1.normalizeNodes)(metadata)
50
+ .filter(n => {
51
+ return n.entryType === 'PayChannel';
52
+ });
53
+ return (paymentChannels.length === 1) ?
54
+ summarizePaymentChannel(paymentChannels[0]) :
55
+ undefined;
56
+ }
57
+ exports.parseChannelChanges = parseChannelChanges;
@@ -0,0 +1,7 @@
1
+ declare function parseLockedBalanceChanges(metadata: any): {
2
+ [x: string]: any[];
3
+ };
4
+ declare function parseFinalLockedBalances(metadata: any): {
5
+ [x: string]: any[];
6
+ };
7
+ export { parseLockedBalanceChanges, parseFinalLockedBalances };