@ledgerhq/coin-xrp 6.2.0-next.0 → 6.2.0-next.1

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 (190) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +1 -3
  3. package/CHANGELOG.md +11 -0
  4. package/lib/api/index.d.ts +11 -2
  5. package/lib/api/index.d.ts.map +1 -1
  6. package/lib/api/index.integ.test.js +7 -24
  7. package/lib/api/index.integ.test.js.map +1 -1
  8. package/lib/api/index.js +5 -15
  9. package/lib/api/index.js.map +1 -1
  10. package/lib/api/index.test.js +9 -18
  11. package/lib/api/index.test.js.map +1 -1
  12. package/lib/bridge/broadcast.d.ts +4 -0
  13. package/lib/bridge/broadcast.d.ts.map +1 -0
  14. package/lib/bridge/broadcast.js +11 -0
  15. package/lib/bridge/broadcast.js.map +1 -0
  16. package/lib/bridge/createTransaction.d.ts +4 -0
  17. package/lib/bridge/createTransaction.d.ts.map +1 -0
  18. package/lib/bridge/createTransaction.js +18 -0
  19. package/lib/bridge/createTransaction.js.map +1 -0
  20. package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
  21. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  22. package/lib/bridge/estimateMaxSpendable.js +26 -0
  23. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  24. package/lib/bridge/getTransactionStatus.d.ts +4 -0
  25. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  26. package/lib/{logic → bridge}/getTransactionStatus.js +19 -15
  27. package/lib/bridge/getTransactionStatus.js.map +1 -0
  28. package/lib/bridge/index.d.ts +11 -0
  29. package/lib/bridge/index.d.ts.map +1 -0
  30. package/lib/bridge/index.js +47 -0
  31. package/lib/bridge/index.js.map +1 -0
  32. package/lib/bridge/prepareTransaction.d.ts +4 -0
  33. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  34. package/lib/bridge/prepareTransaction.js +14 -0
  35. package/lib/bridge/prepareTransaction.js.map +1 -0
  36. package/lib/bridge/signOperation.d.ts +5 -0
  37. package/lib/bridge/signOperation.d.ts.map +1 -0
  38. package/lib/bridge/signOperation.js +76 -0
  39. package/lib/bridge/signOperation.js.map +1 -0
  40. package/lib/bridge/synchronization.d.ts +3 -0
  41. package/lib/bridge/synchronization.d.ts.map +1 -0
  42. package/lib/bridge/synchronization.js +85 -0
  43. package/lib/bridge/synchronization.js.map +1 -0
  44. package/lib/bridge/synchronization.test.d.ts +2 -0
  45. package/lib/bridge/synchronization.test.d.ts.map +1 -0
  46. package/lib/bridge/synchronization.test.js +140 -0
  47. package/lib/bridge/synchronization.test.js.map +1 -0
  48. package/lib/{transaction.d.ts → bridge/transaction.d.ts} +1 -1
  49. package/lib/bridge/transaction.d.ts.map +1 -0
  50. package/lib/bridge/transaction.js.map +1 -0
  51. package/lib/index.d.ts +1 -0
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +3 -0
  54. package/lib/index.js.map +1 -1
  55. package/lib/logic/combine.d.ts.map +1 -1
  56. package/lib/logic/combine.js +3 -8
  57. package/lib/logic/combine.js.map +1 -1
  58. package/lib/logic/getBalance.d.ts.map +1 -1
  59. package/lib/logic/getBalance.js +1 -13
  60. package/lib/logic/getBalance.js.map +1 -1
  61. package/lib/logic/getBalance.test.js +1 -14
  62. package/lib/logic/getBalance.test.js.map +1 -1
  63. package/lib/logic/index.d.ts +1 -2
  64. package/lib/logic/index.d.ts.map +1 -1
  65. package/lib/logic/index.js +2 -3
  66. package/lib/logic/index.js.map +1 -1
  67. package/lib/logic/utils.d.ts +1 -0
  68. package/lib/logic/utils.d.ts.map +1 -1
  69. package/lib/logic/utils.js +10 -14
  70. package/lib/logic/utils.js.map +1 -1
  71. package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
  72. package/lib/test/bridgeDatasetTest.js +7 -7
  73. package/lib/test/bridgeDatasetTest.js.map +1 -1
  74. package/lib/types/model.d.ts +0 -7
  75. package/lib/types/model.d.ts.map +1 -1
  76. package/lib-es/api/index.d.ts +11 -2
  77. package/lib-es/api/index.d.ts.map +1 -1
  78. package/lib-es/api/index.integ.test.js +7 -24
  79. package/lib-es/api/index.integ.test.js.map +1 -1
  80. package/lib-es/api/index.js +6 -16
  81. package/lib-es/api/index.js.map +1 -1
  82. package/lib-es/api/index.test.js +9 -18
  83. package/lib-es/api/index.test.js.map +1 -1
  84. package/lib-es/bridge/broadcast.d.ts +4 -0
  85. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  86. package/lib-es/bridge/broadcast.js +7 -0
  87. package/lib-es/bridge/broadcast.js.map +1 -0
  88. package/lib-es/bridge/createTransaction.d.ts +4 -0
  89. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  90. package/lib-es/bridge/createTransaction.js +11 -0
  91. package/lib-es/bridge/createTransaction.js.map +1 -0
  92. package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
  93. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  94. package/lib-es/bridge/estimateMaxSpendable.js +19 -0
  95. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  96. package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
  97. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  98. package/lib-es/{logic → bridge}/getTransactionStatus.js +14 -13
  99. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  100. package/lib-es/bridge/index.d.ts +11 -0
  101. package/lib-es/bridge/index.d.ts.map +1 -0
  102. package/lib-es/bridge/index.js +41 -0
  103. package/lib-es/bridge/index.js.map +1 -0
  104. package/lib-es/bridge/prepareTransaction.d.ts +4 -0
  105. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  106. package/lib-es/bridge/prepareTransaction.js +10 -0
  107. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  108. package/lib-es/bridge/signOperation.d.ts +5 -0
  109. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  110. package/lib-es/bridge/signOperation.js +72 -0
  111. package/lib-es/bridge/signOperation.js.map +1 -0
  112. package/lib-es/bridge/synchronization.d.ts +3 -0
  113. package/lib-es/bridge/synchronization.d.ts.map +1 -0
  114. package/lib-es/bridge/synchronization.js +78 -0
  115. package/lib-es/bridge/synchronization.js.map +1 -0
  116. package/lib-es/bridge/synchronization.test.d.ts +2 -0
  117. package/lib-es/bridge/synchronization.test.d.ts.map +1 -0
  118. package/lib-es/bridge/synchronization.test.js +135 -0
  119. package/lib-es/bridge/synchronization.test.js.map +1 -0
  120. package/lib-es/{transaction.d.ts → bridge/transaction.d.ts} +1 -1
  121. package/lib-es/bridge/transaction.d.ts.map +1 -0
  122. package/lib-es/bridge/transaction.js.map +1 -0
  123. package/lib-es/index.d.ts +1 -0
  124. package/lib-es/index.d.ts.map +1 -1
  125. package/lib-es/index.js +1 -0
  126. package/lib-es/index.js.map +1 -1
  127. package/lib-es/logic/combine.d.ts.map +1 -1
  128. package/lib-es/logic/combine.js +3 -8
  129. package/lib-es/logic/combine.js.map +1 -1
  130. package/lib-es/logic/getBalance.d.ts.map +1 -1
  131. package/lib-es/logic/getBalance.js +2 -14
  132. package/lib-es/logic/getBalance.js.map +1 -1
  133. package/lib-es/logic/getBalance.test.js +1 -14
  134. package/lib-es/logic/getBalance.test.js.map +1 -1
  135. package/lib-es/logic/index.d.ts +1 -2
  136. package/lib-es/logic/index.d.ts.map +1 -1
  137. package/lib-es/logic/index.js +1 -2
  138. package/lib-es/logic/index.js.map +1 -1
  139. package/lib-es/logic/utils.d.ts +1 -0
  140. package/lib-es/logic/utils.d.ts.map +1 -1
  141. package/lib-es/logic/utils.js +8 -13
  142. package/lib-es/logic/utils.js.map +1 -1
  143. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
  144. package/lib-es/test/bridgeDatasetTest.js +7 -7
  145. package/lib-es/test/bridgeDatasetTest.js.map +1 -1
  146. package/lib-es/types/model.d.ts +0 -7
  147. package/lib-es/types/model.d.ts.map +1 -1
  148. package/package.json +5 -5
  149. package/src/api/index.integ.test.ts +8 -24
  150. package/src/api/index.test.ts +22 -23
  151. package/src/api/index.ts +19 -28
  152. package/src/bridge/broadcast.ts +11 -0
  153. package/src/bridge/createTransaction.ts +13 -0
  154. package/src/bridge/estimateMaxSpendable.ts +25 -0
  155. package/src/{logic → bridge}/getTransactionStatus.ts +21 -18
  156. package/src/bridge/index.ts +59 -0
  157. package/src/bridge/prepareTransaction.ts +18 -0
  158. package/src/bridge/signOperation.ts +100 -0
  159. package/src/bridge/synchronization.test.ts +153 -0
  160. package/src/bridge/synchronization.ts +108 -0
  161. package/src/{transaction.ts → bridge/transaction.ts} +1 -1
  162. package/src/index.ts +1 -0
  163. package/src/logic/combine.ts +3 -10
  164. package/src/logic/getBalance.test.ts +1 -14
  165. package/src/logic/getBalance.ts +2 -18
  166. package/src/logic/index.ts +6 -2
  167. package/src/logic/utils.ts +8 -24
  168. package/src/test/bridgeDatasetTest.ts +7 -8
  169. package/src/types/model.ts +0 -11
  170. package/lib/logic/getTransactionStatus.d.ts +0 -3
  171. package/lib/logic/getTransactionStatus.d.ts.map +0 -1
  172. package/lib/logic/getTransactionStatus.js.map +0 -1
  173. package/lib/logic/getTransactionStatus.test.d.ts +0 -2
  174. package/lib/logic/getTransactionStatus.test.d.ts.map +0 -1
  175. package/lib/logic/getTransactionStatus.test.js +0 -184
  176. package/lib/logic/getTransactionStatus.test.js.map +0 -1
  177. package/lib/transaction.d.ts.map +0 -1
  178. package/lib/transaction.js.map +0 -1
  179. package/lib-es/logic/getTransactionStatus.d.ts +0 -3
  180. package/lib-es/logic/getTransactionStatus.d.ts.map +0 -1
  181. package/lib-es/logic/getTransactionStatus.js.map +0 -1
  182. package/lib-es/logic/getTransactionStatus.test.d.ts +0 -2
  183. package/lib-es/logic/getTransactionStatus.test.d.ts.map +0 -1
  184. package/lib-es/logic/getTransactionStatus.test.js +0 -159
  185. package/lib-es/logic/getTransactionStatus.test.js.map +0 -1
  186. package/lib-es/transaction.d.ts.map +0 -1
  187. package/lib-es/transaction.js.map +0 -1
  188. package/src/logic/getTransactionStatus.test.ts +0 -215
  189. /package/lib/{transaction.js → bridge/transaction.js} +0 -0
  190. /package/lib-es/{transaction.js → bridge/transaction.js} +0 -0
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareTransaction = void 0;
4
+ const logic_1 = require("../logic");
5
+ const prepareTransaction = async (_account, transaction) => {
6
+ const { networkInfo } = await (0, logic_1.estimateFees)(transaction.networkInfo);
7
+ const fee = transaction.fee || networkInfo.serverFee;
8
+ if (transaction.networkInfo !== networkInfo || transaction.fee !== fee) {
9
+ return { ...transaction, networkInfo, fee };
10
+ }
11
+ return transaction;
12
+ };
13
+ exports.prepareTransaction = prepareTransaction;
14
+ //# sourceMappingURL=prepareTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;AAEA,oCAAwC;AAEjC,MAAM,kBAAkB,GAAqD,KAAK,EACvF,QAAQ,EACR,WAAW,EACX,EAAE;IACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,oBAAY,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;IAErD,IAAI,WAAW,CAAC,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACvE,OAAO,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
@@ -0,0 +1,5 @@
1
+ import { AccountBridge } from "@ledgerhq/types-live";
2
+ import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
+ import { Transaction, XrpSigner } from "../types";
4
+ export declare const buildSignOperation: (signerContext: SignerContext<XrpSigner>) => AccountBridge<Transaction>["signOperation"];
5
+ //# sourceMappingURL=signOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAa,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,WAAW,EAAgB,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhE,eAAO,MAAM,kBAAkB,kBACb,aAAa,CAAC,SAAS,CAAC,KAAG,aAAa,CAAC,WAAW,CAAC,CAAC,eAAe,CAyFjF,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSignOperation = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const ripple_binary_codec_1 = require("ripple-binary-codec");
6
+ const errors_1 = require("@ledgerhq/errors");
7
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
8
+ const logic_1 = require("../logic");
9
+ const buildSignOperation = (signerContext) => ({ account, deviceId, transaction }) => new rxjs_1.Observable(o => {
10
+ (0, logic_1.removeCachedRecipientIsNew)(transaction.recipient);
11
+ async function main() {
12
+ const { fee } = transaction;
13
+ if (!fee)
14
+ throw new errors_1.FeeNotLoaded();
15
+ try {
16
+ o.next({
17
+ type: "device-signature-requested",
18
+ });
19
+ const nextSequenceNumber = await (0, logic_1.getNextValidSequence)(account.freshAddress);
20
+ const signature = await signerContext(deviceId, async (signer) => {
21
+ const { freshAddressPath: derivationPath } = account;
22
+ const { publicKey } = await signer.getAddress(derivationPath);
23
+ const { xrplTransaction, serializedTransaction } = await (0, logic_1.craftTransaction)({
24
+ address: account.freshAddress,
25
+ nextSequenceNumber,
26
+ }, {
27
+ recipient: transaction.recipient,
28
+ amount: BigInt(transaction.amount.toString()),
29
+ fee: BigInt(fee.toString()),
30
+ destinationTag: transaction.tag,
31
+ }, publicKey);
32
+ const transactionSignature = await signer.signTransaction(derivationPath, serializedTransaction);
33
+ return (0, ripple_binary_codec_1.encode)({
34
+ ...xrplTransaction,
35
+ SigningPubKey: publicKey,
36
+ TxnSignature: transactionSignature,
37
+ }).toUpperCase();
38
+ });
39
+ o.next({
40
+ type: "device-signature-granted",
41
+ });
42
+ const hash = "";
43
+ const operation = {
44
+ id: (0, operation_1.encodeOperationId)(account.id, hash, "OUT"),
45
+ hash,
46
+ accountId: account.id,
47
+ type: "OUT",
48
+ value: transaction.amount,
49
+ fee,
50
+ blockHash: null,
51
+ blockHeight: null,
52
+ senders: [account.freshAddress],
53
+ recipients: [transaction.recipient],
54
+ date: new Date(),
55
+ transactionSequenceNumber: nextSequenceNumber,
56
+ extra: {},
57
+ };
58
+ o.next({
59
+ type: "signed",
60
+ signedOperation: {
61
+ operation,
62
+ signature,
63
+ },
64
+ });
65
+ }
66
+ catch (e) {
67
+ if (e instanceof Error) {
68
+ throw new Error(e?.data?.resultMessage);
69
+ }
70
+ throw e;
71
+ }
72
+ }
73
+ main().then(() => o.complete(), e => o.error(e));
74
+ });
75
+ exports.buildSignOperation = buildSignOperation;
76
+ //# sourceMappingURL=signOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { GetAccountShape } from "@ledgerhq/coin-framework/bridge/jsHelpers";
2
+ export declare const getAccountShape: GetAccountShape;
3
+ //# sourceMappingURL=synchronization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAUtF,eAAO,MAAM,eAAe,EAAE,eAgD7B,CAAC"}
@@ -0,0 +1,85 @@
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.getAccountShape = void 0;
7
+ const index_1 = require("@ledgerhq/coin-framework/account/index");
8
+ const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
9
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
10
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
11
+ const logic_1 = require("../logic");
12
+ const network_1 = require("../network");
13
+ const getAccountShape = async (info) => {
14
+ const { address, initialAccount, currency, derivationMode } = info;
15
+ const accountId = (0, index_1.encodeAccountId)({
16
+ type: "js",
17
+ version: "2",
18
+ currencyId: currency.id,
19
+ xpubOrAddress: address,
20
+ derivationMode,
21
+ });
22
+ const accountInfo = await (0, network_1.getAccountInfo)(address);
23
+ if (accountInfo.isNewAccount) {
24
+ return {
25
+ id: accountId,
26
+ xpub: address,
27
+ blockHeight: 0,
28
+ balance: new bignumber_js_1.default(0),
29
+ spendableBalance: new bignumber_js_1.default(0),
30
+ operations: [],
31
+ operationsCount: 0,
32
+ };
33
+ }
34
+ const oldOperations = initialAccount?.operations || [];
35
+ const blockHeight = oldOperations.length ? (oldOperations[0].blockHeight || 0) + 1 : 0;
36
+ const serverInfo = await (0, network_1.getServerInfos)();
37
+ const ledgers = serverInfo.info.complete_ledgers.split("-");
38
+ const maxLedgerVersion = Number(ledgers[1]);
39
+ const balance = new bignumber_js_1.default(accountInfo.balance);
40
+ const spendableBalance = await calculateSpendableBalance(accountInfo, serverInfo);
41
+ const newOperations = await filterOperations(accountId, address, blockHeight);
42
+ const operations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
43
+ const shape = {
44
+ id: accountId,
45
+ xpub: address,
46
+ blockHeight: maxLedgerVersion,
47
+ balance,
48
+ spendableBalance,
49
+ operations,
50
+ operationsCount: operations.length,
51
+ };
52
+ return shape;
53
+ };
54
+ exports.getAccountShape = getAccountShape;
55
+ async function filterOperations(accountId, address, blockHeight) {
56
+ const [operations, _] = await (0, logic_1.listOperations)(address, { minHeight: blockHeight });
57
+ return operations.map(op => adaptCoreOperationToLiveOperation(accountId, op));
58
+ }
59
+ function adaptCoreOperationToLiveOperation(accountId, op) {
60
+ return {
61
+ id: (0, operation_1.encodeOperationId)(accountId, op.tx.hash, op.type),
62
+ hash: op.tx.hash,
63
+ accountId,
64
+ type: op.type,
65
+ value: new bignumber_js_1.default(op.value.toString()),
66
+ fee: new bignumber_js_1.default(op.tx.fees.toString()),
67
+ blockHash: op.tx.block.hash,
68
+ blockHeight: op.tx.block.height,
69
+ senders: op.senders,
70
+ recipients: op.recipients,
71
+ date: op.tx.date,
72
+ transactionSequenceNumber: op.details?.sequence,
73
+ extra: {},
74
+ };
75
+ }
76
+ async function calculateSpendableBalance(account, serverInfo) {
77
+ const reserveMinXRP = (0, logic_1.parseAPIValue)(serverInfo.info.validated_ledger.reserve_base_xrp.toString());
78
+ const reservePerTrustline = (0, logic_1.parseAPIValue)(serverInfo.info.validated_ledger.reserve_inc_xrp.toString());
79
+ const trustlines = account.ownerCount;
80
+ const spendableBalance = new bignumber_js_1.default(account.balance)
81
+ .minus(reserveMinXRP)
82
+ .minus(reservePerTrustline.times(trustlines));
83
+ return spendableBalance;
84
+ }
85
+ //# sourceMappingURL=synchronization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=synchronization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.test.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,140 @@
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
+ const index_1 = require("@ledgerhq/cryptoassets/index");
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const synchronization_1 = require("./synchronization");
9
+ const mockGetServerInfos = jest.fn().mockResolvedValue({
10
+ info: {
11
+ complete_ledgers: "1-2",
12
+ validated_ledger: {
13
+ reserve_base_xrp: "0",
14
+ reserve_inc_xrp: "0",
15
+ },
16
+ },
17
+ });
18
+ const mockGetAccountInfo = jest.fn().mockResolvedValue({
19
+ isNewAccount: true,
20
+ balance: "0",
21
+ ownerCount: 0,
22
+ sequence: 0,
23
+ });
24
+ const mockGetTransactions = jest.fn();
25
+ jest.mock("../network", () => ({
26
+ getServerInfos: () => mockGetServerInfos(),
27
+ getAccountInfo: () => mockGetAccountInfo(),
28
+ getTransactions: () => mockGetTransactions(),
29
+ }));
30
+ describe("getAccountShape", () => {
31
+ beforeEach(() => {
32
+ mockGetServerInfos.mockClear();
33
+ mockGetAccountInfo.mockClear();
34
+ mockGetTransactions.mockClear();
35
+ });
36
+ it("returns early when account is new", async () => {
37
+ // Given
38
+ mockGetAccountInfo.mockResolvedValue({
39
+ isNewAccount: true,
40
+ balance: "0",
41
+ ownerCount: 0,
42
+ sequence: 0,
43
+ });
44
+ // When
45
+ const account = await (0, synchronization_1.getAccountShape)({
46
+ address: "address",
47
+ currency: (0, index_1.getCryptoCurrencyById)("ripple"),
48
+ derivationMode: "",
49
+ index: 0,
50
+ }, {});
51
+ // Then
52
+ expect(mockGetAccountInfo).toHaveBeenCalledTimes(1);
53
+ expect(mockGetServerInfos).toHaveBeenCalledTimes(0);
54
+ expect(mockGetTransactions).toHaveBeenCalledTimes(0);
55
+ expect(account).toEqual({
56
+ id: "js:2:ripple:address:",
57
+ xpub: "address",
58
+ blockHeight: 0,
59
+ balance: new bignumber_js_1.default(0),
60
+ spendableBalance: new bignumber_js_1.default(0),
61
+ operations: [],
62
+ operationsCount: 0,
63
+ });
64
+ });
65
+ const someMarker = { ledger: 1, seq: 1 };
66
+ function mockNetworkTxs(txs) {
67
+ return {
68
+ account: "account",
69
+ ledger_index_max: 1,
70
+ ledger_index_min: 1,
71
+ limit: 1,
72
+ validated: false,
73
+ transactions: txs,
74
+ marker: someMarker,
75
+ error: "",
76
+ };
77
+ }
78
+ it("convert correctly operations", async () => {
79
+ // Given
80
+ mockGetAccountInfo.mockResolvedValue({
81
+ isNewAccount: false,
82
+ balance: "0",
83
+ ownerCount: 0,
84
+ sequence: 0,
85
+ });
86
+ mockGetTransactions.mockResolvedValue(mockNetworkTxs([
87
+ {
88
+ ledger_hash: "HASH_VALUE_BLOCK",
89
+ hash: "HASH_VALUE",
90
+ meta: { delivered_amount: "100" },
91
+ tx_json: {
92
+ TransactionType: "Payment",
93
+ Fee: "10",
94
+ ledger_index: 1,
95
+ date: 1000,
96
+ Account: "account_addr",
97
+ Destination: "destination_addr",
98
+ Sequence: 1,
99
+ },
100
+ },
101
+ ]));
102
+ // When
103
+ const account = await (0, synchronization_1.getAccountShape)({
104
+ address: "address",
105
+ currency: (0, index_1.getCryptoCurrencyById)("ripple"),
106
+ derivationMode: "",
107
+ index: 0,
108
+ }, {});
109
+ // Then
110
+ expect(mockGetAccountInfo).toHaveBeenCalledTimes(1);
111
+ expect(mockGetServerInfos).toHaveBeenCalled();
112
+ expect(mockGetTransactions).toHaveBeenCalledTimes(1);
113
+ expect(account).toEqual({
114
+ id: "js:2:ripple:address:",
115
+ xpub: "address",
116
+ blockHeight: 2,
117
+ operationsCount: 1,
118
+ balance: new bignumber_js_1.default(0),
119
+ spendableBalance: new bignumber_js_1.default(0),
120
+ operations: [
121
+ {
122
+ accountId: "js:2:ripple:address:",
123
+ blockHash: "HASH_VALUE_BLOCK",
124
+ blockHeight: 1,
125
+ date: new Date("2000-01-01T00:16:40.000Z"),
126
+ hash: "HASH_VALUE",
127
+ id: "js:2:ripple:address:-HASH_VALUE-IN",
128
+ recipients: ["destination_addr"],
129
+ senders: ["account_addr"],
130
+ transactionSequenceNumber: 1,
131
+ type: "IN",
132
+ value: new bignumber_js_1.default("100"),
133
+ fee: new bignumber_js_1.default("10"),
134
+ extra: {},
135
+ },
136
+ ],
137
+ });
138
+ });
139
+ });
140
+ //# sourceMappingURL=synchronization.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Transaction, TransactionRaw } from "./types";
1
+ import type { Transaction, TransactionRaw } from "../types";
2
2
  import type { Account } from "@ledgerhq/types-live";
3
3
  export declare const formatTransaction: ({ amount, recipient, fee, tag, useAllAmount }: Transaction, account: Account) => string;
4
4
  export declare const fromTransactionRaw: (tr: TransactionRaw) => Transaction;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,eAAO,MAAM,iBAAiB,kDACmB,WAAW,WACjD,OAAO,KACf,MAiB6B,CAAC;AAEjC,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAgBvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAgBjD,CAAC;;uEAvD+C,WAAW,WACjD,OAAO,KACf,MAAM;6BAmB8B,cAAc,KAAG,WAAW;0BAkB/B,WAAW,KAAG,cAAc;;;;;AAkBhE,wBAOE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,oEAA8E;AAC9E,oFAK4D;AAE5D,kEAA4E;AAC5E,qEAA+E;AAExE,MAAM,iBAAiB,GAAG,CAC/B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAe,EAC1D,OAAgB,EACR,EAAE,CAAC;OAEX,YAAY;IACV,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,IAAA,0BAAkB,EAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;QAC/D,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,CACP;KACK,SAAS;WAEZ,CAAC,GAAG;IACF,CAAC,CAAC,GAAG;IACL,CAAC,CAAC,IAAA,0BAAkB,EAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;QAC5D,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,CACP,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AApBpB,QAAA,iBAAiB,qBAoBG;AAE1B,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IACpE,MAAM,MAAM,GAAG,IAAA,sCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IAC3B,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,GAAG,EAAE,EAAE,CAAC,GAAG;QACX,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1C,aAAa,EAAE,EAAE,CAAC,aAAa;QAC/B,6IAA6I;QAC7I,WAAW,EAAE,WAAW,IAAI;YAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI,wBAAS,CAAC,WAAW,CAAC,SAAS,CAAC;YAC/C,WAAW,EAAE,IAAI,wBAAS,CAAC,WAAW,CAAC,WAAW,CAAC;SACpD;KACF,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B;AAEK,MAAM,gBAAgB,GAAG,CAAC,CAAc,EAAkB,EAAE;IACjE,MAAM,MAAM,GAAG,IAAA,oCAAsB,EAAC,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACpC,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,6IAA6I;QAC7I,WAAW,EAAE,WAAW,IAAI;YAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC3C,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;SAChD;KACF,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B;AAEF,kBAAe;IACb,iBAAiB,EAAjB,yBAAiB;IACjB,kBAAkB,EAAlB,0BAAkB;IAClB,gBAAgB,EAAhB,wBAAgB;IAChB,wBAAwB,EAAxB,4CAAwB;IACxB,sBAAsB,EAAtB,0CAAsB;IACtB,uBAAuB,EAAvB,oCAAuB;CACxB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./types";
2
+ export { createBridges } from "./bridge/index";
2
3
  export type { XrpCoinConfig } from "./config";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
package/lib/index.js CHANGED
@@ -14,5 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createBridges = void 0;
17
18
  __exportStar(require("./types"), exports);
19
+ var index_1 = require("./bridge/index");
20
+ Object.defineProperty(exports, "createBridges", { enumerable: true, get: function () { return index_1.createBridges; } });
18
21
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,wCAA+C;AAAtC,sGAAA,aAAa,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../src/logic/combine.ts"],"names":[],"mappings":"AAQA,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB1F"}
1
+ {"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../src/logic/combine.ts"],"names":[],"mappings":"AAQA,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1F"}
@@ -4,15 +4,10 @@ exports.combine = combine;
4
4
  const ripple_binary_codec_1 = require("ripple-binary-codec");
5
5
  function combine(transaction, signature, publicKey) {
6
6
  const xrplTransaction = (0, ripple_binary_codec_1.decode)(transaction);
7
- let transactionWithSignature = { ...xrplTransaction };
7
+ let transactionWithSignature = { ...xrplTransaction, TxnSignature: signature };
8
8
  if (publicKey) {
9
- transactionWithSignature = {
10
- ...transactionWithSignature,
11
- SigningPubKey: publicKey,
12
- };
9
+ transactionWithSignature = { ...transactionWithSignature, SigningPubKey: publicKey };
13
10
  }
14
- transactionWithSignature = { ...transactionWithSignature, TxnSignature: signature };
15
- const encoded = (0, ripple_binary_codec_1.encode)(transactionWithSignature).toUpperCase();
16
- return encoded;
11
+ return (0, ripple_binary_codec_1.encode)(transactionWithSignature);
17
12
  }
18
13
  //# sourceMappingURL=combine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combine.js","sourceRoot":"","sources":["../../src/logic/combine.ts"],"names":[],"mappings":";;AAQA,0BAgBC;AAxBD,6DAAqD;AAQrD,SAAgB,OAAO,CAAC,WAAmB,EAAE,SAAiB,EAAE,SAAkB;IAChF,MAAM,eAAe,GAAe,IAAA,4BAAM,EAAC,WAAW,CAAC,CAAC;IAExD,IAAI,wBAAwB,GAAmB,EAAE,GAAG,eAAe,EAAS,CAAC;IAE7E,IAAI,SAAS,EAAE,CAAC;QACd,wBAAwB,GAAG;YACzB,GAAG,wBAAwB;YAC3B,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,wBAAwB,GAAG,EAAE,GAAG,wBAAwB,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IAEpF,MAAM,OAAO,GAAG,IAAA,4BAAM,EAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"combine.js","sourceRoot":"","sources":["../../src/logic/combine.ts"],"names":[],"mappings":";;AAQA,0BASC;AAjBD,6DAAqD;AAQrD,SAAgB,OAAO,CAAC,WAAmB,EAAE,SAAiB,EAAE,SAAkB;IAChF,MAAM,eAAe,GAAe,IAAA,4BAAM,EAAC,WAAW,CAAC,CAAC;IACxD,IAAI,wBAAwB,GAAmB,EAAE,GAAG,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IAE/F,IAAI,SAAS,EAAE,CAAC;QACd,wBAAwB,GAAG,EAAE,GAAG,wBAAwB,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;IACvF,CAAC;IAED,OAAO,IAAA,4BAAM,EAAC,wBAAwB,CAAC,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAkB9E"}
1
+ {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAG9E"}
@@ -2,20 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBalance = getBalance;
4
4
  const network_1 = require("../network");
5
- const common_1 = require("./common");
6
5
  async function getBalance(address) {
7
6
  const accountInfo = await (0, network_1.getAccountInfo)(address);
8
- const serverInfo = await (0, network_1.getServerInfos)();
9
- const reserveMinXRP = (0, common_1.parseAPIValue)(serverInfo.info.validated_ledger.reserve_base_xrp.toString());
10
- const reservePerTrustline = (0, common_1.parseAPIValue)(serverInfo.info.validated_ledger.reserve_inc_xrp.toString());
11
- const trustlines = accountInfo.ownerCount;
12
- const locked = reserveMinXRP.plus(reservePerTrustline.times(trustlines));
13
- return [
14
- {
15
- value: BigInt(accountInfo.balance),
16
- asset: { type: "native" },
17
- locked: BigInt(locked.toString()),
18
- },
19
- ];
7
+ return [{ value: BigInt(accountInfo.balance), asset: { type: "native" } }];
20
8
  }
21
9
  //# sourceMappingURL=getBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":";;AAKA,gCAkBC;AAtBD,wCAA4D;AAE5D,qCAAyC;AAElC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAc,GAAE,CAAC;IAE1C,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClG,MAAM,mBAAmB,GAAG,IAAA,sBAAa,EACvC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAC5D,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAE1C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,OAAO;QACL;YACE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAClC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":";;AAIA,gCAGC;AAND,wCAA4C;AAGrC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -3,39 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const faker_1 = require("@faker-js/faker");
4
4
  const getBalance_1 = require("./getBalance");
5
5
  const mockGetAccountInfo = jest.fn();
6
- const mockGetServerInfos = jest.fn();
7
6
  jest.mock("../network", () => ({
8
7
  getAccountInfo: (address) => mockGetAccountInfo(address),
9
- getServerInfos: () => mockGetServerInfos(),
10
8
  }));
11
9
  describe("getBalance", () => {
12
10
  afterEach(() => {
13
11
  mockGetAccountInfo.mockClear();
14
- mockGetServerInfos.mockClear();
15
12
  });
16
13
  it("returns the balance from Explorer", async () => {
17
- mockGetServerInfos.mockResolvedValue({
18
- info: {
19
- validated_ledger: {
20
- reserve_base_xrp: 23,
21
- reserve_inc_xrp: 5,
22
- },
23
- },
24
- });
25
14
  // Given
26
15
  const balance = faker_1.faker.number.bigInt(100_000_000);
27
16
  const address = "ACCOUNT_ADDRESS";
28
17
  mockGetAccountInfo.mockResolvedValue({
29
18
  balance,
30
- ownerCount: 0,
31
19
  });
32
20
  // When
33
21
  const result = await (0, getBalance_1.getBalance)(address);
34
22
  // Then
35
23
  expect(mockGetAccountInfo).toHaveBeenCalledTimes(1);
36
- expect(mockGetServerInfos).toHaveBeenCalledTimes(1);
37
24
  expect(mockGetAccountInfo.mock.lastCall[0]).toEqual(address);
38
- expect(result).toEqual([{ value: balance, asset: { type: "native" }, locked: 23000000n }]);
25
+ expect(result).toEqual([{ value: balance, asset: { type: "native" } }]);
39
26
  });
40
27
  });
41
28
  //# sourceMappingURL=getBalance.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,6CAA0C;AAE1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAChE,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;CAC3C,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,SAAS,EAAE,CAAC;QAC/B,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE;gBACJ,gBAAgB,EAAE;oBAChB,gBAAgB,EAAE,EAAE;oBACpB,eAAe,EAAE,CAAC;iBACnB;aACF;SACF,CAAC,CAAC;QACH,QAAQ;QACR,MAAM,OAAO,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAClC,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,OAAO;YACP,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC;QAEzC,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getBalance.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,6CAA0C;AAE1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;CACjE,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,QAAQ;QACR,MAAM,OAAO,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAClC,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC;QAEzC,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -6,7 +6,6 @@ export { estimateFees } from "./estimateFees";
6
6
  export { getBalance } from "./getBalance";
7
7
  export { lastBlock } from "./lastBlock";
8
8
  export { listOperations } from "./listOperations";
9
- export { getTransactionStatus } from "./getTransactionStatus";
10
- export { RIPPLE_EPOCH, cachedRecipientIsNew, getNextValidSequence } from "./utils";
9
+ export { RIPPLE_EPOCH, cachedRecipientIsNew, getNextValidSequence, removeCachedRecipientIsNew, } from "./utils";
11
10
  export { parseAPIValue } from "./common";
12
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseAPIValue = exports.getNextValidSequence = exports.cachedRecipientIsNew = exports.RIPPLE_EPOCH = exports.getTransactionStatus = exports.listOperations = exports.lastBlock = exports.getBalance = exports.estimateFees = exports.craftTransaction = exports.combine = exports.broadcast = void 0;
3
+ exports.parseAPIValue = exports.removeCachedRecipientIsNew = exports.getNextValidSequence = exports.cachedRecipientIsNew = exports.RIPPLE_EPOCH = exports.listOperations = exports.lastBlock = exports.getBalance = exports.estimateFees = exports.craftTransaction = exports.combine = exports.broadcast = void 0;
4
4
  var broadcast_1 = require("./broadcast");
5
5
  Object.defineProperty(exports, "broadcast", { enumerable: true, get: function () { return broadcast_1.broadcast; } });
6
6
  var combine_1 = require("./combine");
@@ -15,12 +15,11 @@ var lastBlock_1 = require("./lastBlock");
15
15
  Object.defineProperty(exports, "lastBlock", { enumerable: true, get: function () { return lastBlock_1.lastBlock; } });
16
16
  var listOperations_1 = require("./listOperations");
17
17
  Object.defineProperty(exports, "listOperations", { enumerable: true, get: function () { return listOperations_1.listOperations; } });
18
- var getTransactionStatus_1 = require("./getTransactionStatus");
19
- Object.defineProperty(exports, "getTransactionStatus", { enumerable: true, get: function () { return getTransactionStatus_1.getTransactionStatus; } });
20
18
  var utils_1 = require("./utils");
21
19
  Object.defineProperty(exports, "RIPPLE_EPOCH", { enumerable: true, get: function () { return utils_1.RIPPLE_EPOCH; } });
22
20
  Object.defineProperty(exports, "cachedRecipientIsNew", { enumerable: true, get: function () { return utils_1.cachedRecipientIsNew; } });
23
21
  Object.defineProperty(exports, "getNextValidSequence", { enumerable: true, get: function () { return utils_1.getNextValidSequence; } });
22
+ Object.defineProperty(exports, "removeCachedRecipientIsNew", { enumerable: true, get: function () { return utils_1.removeCachedRecipientIsNew; } });
24
23
  var common_1 = require("./common");
25
24
  Object.defineProperty(exports, "parseAPIValue", { enumerable: true, get: function () { return common_1.parseAPIValue; } });
26
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,iCAAmF;AAA1E,qGAAA,YAAY,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAEjE,mCAAyC;AAAhC,uGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iCAKiB;AAJf,qGAAA,YAAY,OAAA;AACZ,6GAAA,oBAAoB,OAAA;AACpB,6GAAA,oBAAoB,OAAA;AACpB,mHAAA,0BAA0B,OAAA;AAG5B,mCAAyC;AAAhC,uGAAA,aAAa,OAAA"}
@@ -5,4 +5,5 @@ export declare const RIPPLE_EPOCH = 946684800;
5
5
  export declare const validateTag: (tag: BigNumber) => boolean;
6
6
  export declare const getNextValidSequence: (address: string) => Promise<number>;
7
7
  export declare const cachedRecipientIsNew: (recipient: string) => Promise<boolean>;
8
+ export declare const removeCachedRecipientIsNew: (recipient: string) => void;
8
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,eAAO,MAAM,UAAU,WAAoC,CAAC;AAE5D,kEAAkE;AAClE,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,WAAW,QAAS,SAAS,YAIzC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAmB,MAAM,oBAGzD,CAAC;AAsBF,eAAO,MAAM,oBAAoB,cAAqB,MAAM,KAAG,OAAO,CAAC,OAAO,CAe7E,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,eAAO,MAAM,UAAU,WAAoC,CAAC;AAE5D,kEAAkE;AAClE,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,WAAW,QAAS,SAAS,YAIzC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAmB,MAAM,oBAGzD,CAAC;AAcF,eAAO,MAAM,oBAAoB,cAAqB,MAAM,qBAI3D,CAAC;AACF,eAAO,MAAM,0BAA0B,cAAe,MAAM,SAE3D,CAAC"}