@bithomp/xrpl-api 2.7.15 → 3.0.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 (210) hide show
  1. package/lib/common/errors/index.d.ts +2 -2
  2. package/lib/common/errors/index.js +3 -3
  3. package/lib/common/errors/validation_error.d.ts +2 -2
  4. package/lib/common/errors/validation_error.js +2 -2
  5. package/lib/common/errors/xrpl_api_error.d.ts +9 -0
  6. package/lib/common/errors/xrpl_api_error.js +28 -0
  7. package/lib/common/utils.d.ts +1 -0
  8. package/lib/common/utils.js +17 -1
  9. package/lib/ledger/account_info.js +7 -0
  10. package/lib/ledger/account_offers.d.ts +1 -1
  11. package/lib/ledger/ledger.d.ts +1 -1
  12. package/lib/ledger/transaction.d.ts +3 -3
  13. package/lib/ledger/transaction.js +4 -4
  14. package/lib/models/account_info.d.ts +1 -1
  15. package/lib/models/account_nfts.js +2 -1
  16. package/lib/models/account_object.d.ts +1 -1
  17. package/lib/models/account_offers.d.ts +9 -0
  18. package/lib/models/account_offers.js +2 -0
  19. package/lib/models/account_uritokens.d.ts +1 -1
  20. package/lib/models/path_find.d.ts +11 -0
  21. package/lib/models/path_find.js +2 -0
  22. package/lib/models/transaction.d.ts +1 -1
  23. package/lib/models/vl.js +1 -1
  24. package/lib/parse/index.d.ts +1 -0
  25. package/lib/parse/index.js +2 -1
  26. package/lib/parse/ledger/account-order.d.ts +1 -1
  27. package/lib/parse/ledger/account-order.js +1 -1
  28. package/lib/parse/ledger/account-trustline.d.ts +1 -1
  29. package/lib/parse/ledger/amount.d.ts +1 -1
  30. package/lib/parse/ledger/currency-amount.d.ts +1 -1
  31. package/lib/parse/ledger/emit_details.d.ts +1 -1
  32. package/lib/parse/ledger/import.d.ts +1 -1
  33. package/lib/parse/ledger/index.d.ts +1 -1
  34. package/lib/parse/ledger/index.js +2 -2
  35. package/lib/parse/ledger/ledger.d.ts +1 -1
  36. package/lib/parse/ledger/memos.d.ts +3 -2
  37. package/lib/parse/ledger/memos.js +12 -1
  38. package/lib/parse/ledger/nftoken-flags.d.ts +1 -1
  39. package/lib/parse/ledger/nftoken-flags.js +1 -1
  40. package/lib/parse/ledger/nftoken-offer-flags.d.ts +1 -1
  41. package/lib/parse/ledger/nftoken-offer-flags.js +1 -1
  42. package/lib/parse/ledger/orderbook-order.d.ts +7 -2
  43. package/lib/parse/ledger/orderbook-order.js +1 -1
  44. package/lib/parse/ledger/pathfind.d.ts +3 -3
  45. package/lib/parse/ledger/ripple-amount.d.ts +1 -1
  46. package/lib/parse/ledger/uritoken-flags.d.ts +1 -1
  47. package/lib/parse/ledger/uritoken-flags.js +1 -1
  48. package/lib/parse/outcome/balance_changes.js +1 -1
  49. package/lib/parse/outcome/channel_changes.js +1 -1
  50. package/lib/parse/outcome/escrow_changes.d.ts +1 -1
  51. package/lib/parse/outcome/escrow_changes.js +3 -4
  52. package/lib/parse/outcome/locked_balance_changes.js +1 -1
  53. package/lib/parse/outcome/orderbook_changes.js +1 -1
  54. package/lib/parse/outcome/unl_report_changes.js +1 -1
  55. package/lib/parse/outcome.d.ts +1 -1
  56. package/lib/parse/specification/account-delete.d.ts +1 -1
  57. package/lib/parse/specification/account-delete.js +13 -7
  58. package/lib/parse/specification/amendment.d.ts +1 -1
  59. package/lib/parse/specification/amendment.js +2 -5
  60. package/lib/parse/specification/check-cancel.d.ts +1 -1
  61. package/lib/parse/specification/check-cancel.js +2 -5
  62. package/lib/parse/specification/check-cash.d.ts +1 -1
  63. package/lib/parse/specification/check-cash.js +2 -2
  64. package/lib/parse/specification/check-create.d.ts +1 -1
  65. package/lib/parse/specification/check-create.js +13 -4
  66. package/lib/parse/specification/deposit-preauth.d.ts +1 -1
  67. package/lib/parse/specification/deposit-preauth.js +2 -5
  68. package/lib/parse/specification/escrow-cancel.d.ts +1 -1
  69. package/lib/parse/specification/escrow-cancel.js +2 -5
  70. package/lib/parse/specification/escrow-create.d.ts +1 -1
  71. package/lib/parse/specification/escrow-create.js +2 -5
  72. package/lib/parse/specification/escrow-finish.d.ts +1 -1
  73. package/lib/parse/specification/escrow-finish.js +2 -5
  74. package/lib/parse/specification/fee-update.d.ts +1 -1
  75. package/lib/parse/specification/fee-update.js +2 -2
  76. package/lib/parse/specification/import.d.ts +1 -1
  77. package/lib/parse/specification/import.js +2 -5
  78. package/lib/parse/specification/invoke.d.ts +1 -1
  79. package/lib/parse/specification/invoke.js +2 -5
  80. package/lib/parse/specification/nftoken-accept-offer.d.ts +1 -1
  81. package/lib/parse/specification/nftoken-accept-offer.js +2 -5
  82. package/lib/parse/specification/nftoken-burn.d.ts +1 -1
  83. package/lib/parse/specification/nftoken-burn.js +2 -5
  84. package/lib/parse/specification/nftoken-cancel-offer.d.ts +1 -1
  85. package/lib/parse/specification/nftoken-cancel-offer.js +2 -5
  86. package/lib/parse/specification/nftoken-create-offer.d.ts +1 -1
  87. package/lib/parse/specification/nftoken-create-offer.js +12 -3
  88. package/lib/parse/specification/nftoken-mint.d.ts +1 -1
  89. package/lib/parse/specification/nftoken-mint.js +2 -2
  90. package/lib/parse/specification/offer-cancel.d.ts +1 -1
  91. package/lib/parse/specification/offer-cancel.js +2 -5
  92. package/lib/parse/specification/offer-create.d.ts +1 -1
  93. package/lib/parse/specification/offer-create.js +2 -2
  94. package/lib/parse/specification/payment-channel-claim.d.ts +1 -1
  95. package/lib/parse/specification/payment-channel-claim.js +2 -2
  96. package/lib/parse/specification/payment-channel-create.d.ts +1 -1
  97. package/lib/parse/specification/payment-channel-create.js +13 -5
  98. package/lib/parse/specification/payment-channel-fund.d.ts +1 -1
  99. package/lib/parse/specification/payment-channel-fund.js +2 -2
  100. package/lib/parse/specification/payment.d.ts +1 -1
  101. package/lib/parse/specification/payment.js +3 -7
  102. package/lib/parse/specification/remit.d.ts +1 -1
  103. package/lib/parse/specification/remit.js +2 -2
  104. package/lib/parse/specification/settings.js +2 -2
  105. package/lib/parse/specification/ticket-create.d.ts +1 -1
  106. package/lib/parse/specification/ticket-create.js +2 -5
  107. package/lib/parse/specification/trustline.d.ts +1 -1
  108. package/lib/parse/specification/trustline.js +2 -5
  109. package/lib/parse/specification/unl-report.d.ts +1 -1
  110. package/lib/parse/specification/unl-report.js +2 -5
  111. package/lib/parse/specification/uritoken-burn.d.ts +1 -1
  112. package/lib/parse/specification/uritoken-burn.js +2 -5
  113. package/lib/parse/specification/uritoken-buy.d.ts +1 -1
  114. package/lib/parse/specification/uritoken-buy.js +2 -5
  115. package/lib/parse/specification/uritoken-cancel-sell-offer.d.ts +1 -1
  116. package/lib/parse/specification/uritoken-cancel-sell-offer.js +2 -5
  117. package/lib/parse/specification/uritoken-create-sell-offer.d.ts +2 -2
  118. package/lib/parse/specification/uritoken-create-sell-offer.js +12 -6
  119. package/lib/parse/specification/uritoken-mint.d.ts +3 -3
  120. package/lib/parse/specification/uritoken-mint.js +14 -5
  121. package/lib/parse/transaction.d.ts +19 -19
  122. package/lib/parse/utils.d.ts +10 -1
  123. package/lib/parse/utils.js +49 -1
  124. package/lib/types/account.d.ts +15 -0
  125. package/lib/types/account.js +2 -0
  126. package/lib/types/adjustments.d.ts +16 -0
  127. package/lib/types/adjustments.js +2 -0
  128. package/lib/types/amendments.d.ts +4 -0
  129. package/lib/types/amendments.js +2 -0
  130. package/lib/types/checks.d.ts +18 -0
  131. package/lib/types/checks.js +2 -0
  132. package/lib/types/deposits.d.ts +5 -0
  133. package/lib/types/deposits.js +2 -0
  134. package/lib/types/emit_details.d.ts +7 -0
  135. package/lib/types/emit_details.js +2 -0
  136. package/lib/types/escrows.d.ts +23 -0
  137. package/lib/types/escrows.js +2 -0
  138. package/lib/types/fees.d.ts +7 -0
  139. package/lib/types/fees.js +2 -0
  140. package/lib/types/flags.d.ts +5 -0
  141. package/lib/types/flags.js +8 -0
  142. package/lib/types/hooks.d.ts +14 -0
  143. package/lib/types/hooks.js +2 -0
  144. package/lib/types/import.d.ts +23 -0
  145. package/lib/types/import.js +2 -0
  146. package/lib/types/index.d.ts +24 -1
  147. package/lib/types/index.js +38 -0
  148. package/lib/types/invoke.d.ts +6 -0
  149. package/lib/types/invoke.js +2 -0
  150. package/lib/types/ledger.d.ts +45 -0
  151. package/lib/types/ledger.js +2 -0
  152. package/lib/types/ledger_data.d.ts +10 -0
  153. package/lib/types/ledger_data.js +2 -0
  154. package/lib/types/ledger_entries.d.ts +158 -0
  155. package/lib/types/ledger_entries.js +2 -0
  156. package/lib/types/memos.d.ts +12 -0
  157. package/lib/types/memos.js +2 -0
  158. package/lib/types/nftokens.d.ts +50 -0
  159. package/lib/types/nftokens.js +13 -0
  160. package/lib/types/offers.d.ts +15 -0
  161. package/lib/types/offers.js +2 -0
  162. package/lib/types/outcome.d.ts +33 -0
  163. package/lib/types/outcome.js +2 -0
  164. package/lib/types/path_find.d.ts +28 -0
  165. package/lib/types/path_find.js +2 -0
  166. package/lib/types/payment_channels.d.ts +25 -0
  167. package/lib/types/payment_channels.js +2 -0
  168. package/lib/types/payments.d.ts +11 -0
  169. package/lib/types/payments.js +2 -0
  170. package/lib/types/queue_data.d.ts +15 -0
  171. package/lib/types/queue_data.js +2 -0
  172. package/lib/types/remits.d.ts +18 -0
  173. package/lib/types/remits.js +2 -0
  174. package/lib/types/settings.d.ts +34 -0
  175. package/lib/types/settings.js +2 -0
  176. package/lib/types/signers.d.ts +6 -0
  177. package/lib/types/signers.js +2 -0
  178. package/lib/types/specification.d.ts +4 -0
  179. package/lib/types/specification.js +2 -0
  180. package/lib/types/tickets.d.ts +4 -0
  181. package/lib/types/tickets.js +2 -0
  182. package/lib/types/transactions.d.ts +21 -0
  183. package/lib/types/transactions.js +2 -0
  184. package/lib/types/trustlines.d.ts +38 -0
  185. package/lib/types/trustlines.js +2 -0
  186. package/lib/types/unl_reports.d.ts +7 -0
  187. package/lib/types/unl_reports.js +2 -0
  188. package/lib/types/uri_tokens.d.ts +7 -0
  189. package/lib/types/uri_tokens.js +6 -0
  190. package/lib/types/uritokens.d.ts +39 -0
  191. package/lib/types/uritokens.js +6 -0
  192. package/lib/v1/common/types/objects/account.d.ts +2 -2
  193. package/lib/v1/common/types/objects/checks.d.ts +3 -2
  194. package/lib/v1/common/types/objects/nftokens.d.ts +3 -1
  195. package/lib/v1/common/types/objects/payment_channels.d.ts +3 -3
  196. package/lib/v1/common/types/objects/uritokens.d.ts +5 -2
  197. package/lib/v1/common/types/objects/uritokens.js +1 -1
  198. package/lib/v1/transaction/payment.d.ts +2 -2
  199. package/lib/v1/transaction/payment.js +9 -9
  200. package/lib/v1/transaction/types.d.ts +1 -34
  201. package/lib/v1/transaction/utils.d.ts +2 -3
  202. package/lib/v1/transaction/utils.js +19 -15
  203. package/lib/v1/types.d.ts +9 -0
  204. package/lib/v1/types.js +2 -0
  205. package/lib/v1/utils.d.ts +7 -0
  206. package/lib/v1/utils.js +42 -0
  207. package/lib/validator.js +5 -4
  208. package/lib/wallet.d.ts +3 -0
  209. package/lib/wallet.js +26 -1
  210. package/package.json +20 -20
package/lib/wallet.js CHANGED
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.hashSignedTx = exports.DEFAULT_DEFINITIONS = exports.XrplDefinitions = exports.XrplDefinitionsBase = exports.signTransaction = exports.checksumClassicAddress = exports.isValidClassicAddress = exports.generateAddress = void 0;
29
+ exports.hashSignedTx = exports.DEFAULT_DEFINITIONS = exports.XrplDefinitions = exports.XrplDefinitionsBase = exports.verifyTransaction = exports.signTransaction = exports.checksumClassicAddress = exports.isValidClassicAddress = exports.generateAddress = exports.walletFromSeed = exports.isValidSecret = void 0;
30
30
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
31
31
  const omitBy_1 = __importDefault(require("lodash/omitBy"));
32
32
  const Crypto = __importStar(require("crypto"));
@@ -43,6 +43,24 @@ var HashPrefix;
43
43
  (function (HashPrefix) {
44
44
  HashPrefix[HashPrefix["TRANSACTION_ID"] = 1415073280] = "TRANSACTION_ID";
45
45
  })(HashPrefix || (HashPrefix = {}));
46
+ function isValidSecret(secret) {
47
+ try {
48
+ (0, ripple_keypairs_1.deriveKeypair)(secret);
49
+ return true;
50
+ }
51
+ catch (err) {
52
+ }
53
+ return false;
54
+ }
55
+ exports.isValidSecret = isValidSecret;
56
+ function walletFromSeed(seed) {
57
+ const decodedSeed = (0, ripple_address_codec_1.decodeSeed)(seed);
58
+ const wallet = xrpl_1.Wallet.fromSeed(seed, {
59
+ algorithm: decodedSeed.type === "ed25519" ? xrpl_1.ECDSA.ed25519 : xrpl_1.ECDSA.secp256k1,
60
+ });
61
+ return wallet;
62
+ }
63
+ exports.walletFromSeed = walletFromSeed;
46
64
  function generateAddress() {
47
65
  const wallet = xrpl_1.Wallet.generate();
48
66
  const { publicKey, privateKey, classicAddress, seed } = wallet;
@@ -110,6 +128,13 @@ function signTransaction(wallet, transaction, multisign, definitions, validateTx
110
128
  };
111
129
  }
112
130
  exports.signTransaction = signTransaction;
131
+ function verifyTransaction(wallet, signedTransaction) {
132
+ const tx = typeof signedTransaction === "string" ? (0, ripple_binary_codec_1.decode)(signedTransaction) : signedTransaction;
133
+ const messageHex = (0, ripple_binary_codec_1.encodeForSigning)(tx);
134
+ const signature = tx.TxnSignature;
135
+ return (0, ripple_keypairs_1.verify)(messageHex, signature, wallet.publicKey);
136
+ }
137
+ exports.verifyTransaction = verifyTransaction;
113
138
  function computeSignature(tx, privateKey, signAs, definitions) {
114
139
  if (signAs) {
115
140
  const classicAddress = (0, ripple_address_codec_1.isValidXAddress)(signAs) ? (0, ripple_address_codec_1.xAddressToClassicAddress)(signAs).classicAddress : signAs;
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@bithomp/xrpl-api",
3
- "version": "2.7.15",
3
+ "version": "3.0.0",
4
4
  "description": "A Bithomp JavaScript/TypeScript library for interacting with the XRP Ledger",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "author": "Bithomp AB",
8
8
  "license": "GPL-3.0",
9
- "-publishConfig": {
10
- "registry": "https://npm.pkg.github.com/"
11
- },
12
9
  "repository": {
13
10
  "type": "git",
14
11
  "url": "git+https://github.com/Bithomp/xrpl-api.git"
15
12
  },
13
+ "engines": {
14
+ "node": ">=16.0.0"
15
+ },
16
16
  "keywords": [
17
17
  "xrpl",
18
18
  "ws",
@@ -48,14 +48,14 @@
48
48
  "lib/**/*"
49
49
  ],
50
50
  "dependencies": {
51
- "axios": "^1.6.2",
51
+ "axios": "^1.6.7",
52
52
  "base-x": "^4.0.0",
53
53
  "bignumber.js": "^9.1.2",
54
54
  "elliptic": "^6.5.4",
55
55
  "lodash": "^4.17.21",
56
- "ripple-address-codec": "^4.3.1",
57
- "ripple-binary-codec": "^1.11.0",
58
- "xrpl": "^2.14.0"
56
+ "ripple-address-codec": "^5.0.0",
57
+ "ripple-binary-codec": "^2.0.0",
58
+ "xrpl": "^3.0.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/chai": "^4.3.11",
@@ -63,21 +63,21 @@
63
63
  "@types/lodash": "^4.14.202",
64
64
  "@types/mocha": "^10.0.6",
65
65
  "@types/nconf": "^0.10.6",
66
- "@types/node": "^20.10.3",
67
- "@typescript-eslint/eslint-plugin": "^6.13.2",
68
- "@typescript-eslint/parser": "^6.13.2",
69
- "chai": "^4.3.10",
66
+ "@types/node": "^20.11.19",
67
+ "@typescript-eslint/eslint-plugin": "^7.0.2",
68
+ "@typescript-eslint/parser": "^7.0.2",
69
+ "chai": "^4.4.1",
70
70
  "chai-as-promised": "^7.1.1",
71
- "eslint": "^8.55.0",
71
+ "eslint": "^8.56.0",
72
72
  "eslint-config-prettier": "^9.1.0",
73
- "eslint-plugin-chai-friendly": "^0.7.2",
74
- "eslint-plugin-import": "^2.29.0",
75
- "eslint-plugin-n": "^16.3.1",
73
+ "eslint-plugin-chai-friendly": "^0.7.4",
74
+ "eslint-plugin-import": "^2.29.1",
75
+ "eslint-plugin-n": "^16.6.2",
76
76
  "eslint-plugin-promise": "^6.1.1",
77
- "mocha": "^10.2.0",
77
+ "mocha": "^10.3.0",
78
78
  "nconf": "^0.12.1",
79
- "ts-jest": "^29.1.1",
80
- "ts-node": "^10.9.1",
81
- "typescript": "^5.3.2"
79
+ "ts-jest": "^29.1.2",
80
+ "ts-node": "^10.9.2",
81
+ "typescript": "^5.3.3"
82
82
  }
83
83
  }