@ledgerhq/coin-xrp 2.2.0-nightly.1 → 3.0.0-nightly.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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-xrp@2.2.0-nightly.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-xrp
2
+ > @ledgerhq/coin-xrp@2.0.3 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-xrp
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,49 +1,18 @@
1
1
  # @ledgerhq/coin-xrp
2
2
 
3
- ## 2.2.0-nightly.1
3
+ ## 3.0.0-nightly.0
4
4
 
5
- ### Patch Changes
6
-
7
- - Updated dependencies [[`2407a6e`](https://github.com/LedgerHQ/ledger-live/commit/2407a6e1f3153c30c52d4bac4c9334fa95c351da)]:
8
- - @ledgerhq/types-live@6.64.0-nightly.0
9
- - @ledgerhq/coin-framework@2.4.0-nightly.1
10
-
11
- ## 2.2.0-nightly.0
12
-
13
- ### Minor Changes
14
-
15
- - [#9466](https://github.com/LedgerHQ/ledger-live/pull/9466) [`e2630cb`](https://github.com/LedgerHQ/ledger-live/commit/e2630cbec8d94ae037b2bf85cfa200a277ae739f) Thanks [@qperrot](https://github.com/qperrot)! - Tron craftTransaction alpaca implementation
16
-
17
- ### Patch Changes
18
-
19
- - Updated dependencies [[`e2630cb`](https://github.com/LedgerHQ/ledger-live/commit/e2630cbec8d94ae037b2bf85cfa200a277ae739f)]:
20
- - @ledgerhq/coin-framework@2.4.0-nightly.0
21
-
22
- ## 2.1.0
23
-
24
- ### Minor Changes
5
+ ### Major Changes
25
6
 
26
- - [#9470](https://github.com/LedgerHQ/ledger-live/pull/9470) [`5086b4c`](https://github.com/LedgerHQ/ledger-live/commit/5086b4c53e37009cbeec4567be9e095fabca99d4) Thanks [@jprudent](https://github.com/jprudent)! - Fix: iteration on api/listOperations
27
- Fix: end iteration when no cursor provided on logic/listOperations
7
+ - [#9275](https://github.com/LedgerHQ/ledger-live/pull/9275) [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - Update Alpaca api to include generic token type and update list operations
28
8
 
29
9
  ### Patch Changes
30
10
 
31
- - Updated dependencies [[`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76)]:
32
- - @ledgerhq/types-live@6.63.0
33
- - @ledgerhq/coin-framework@2.3.0
34
-
35
- ## 2.1.0-next.0
36
-
37
- ### Minor Changes
38
-
39
11
  - [#9470](https://github.com/LedgerHQ/ledger-live/pull/9470) [`5086b4c`](https://github.com/LedgerHQ/ledger-live/commit/5086b4c53e37009cbeec4567be9e095fabca99d4) Thanks [@jprudent](https://github.com/jprudent)! - Fix: iteration on api/listOperations
40
12
  Fix: end iteration when no cursor provided on logic/listOperations
41
-
42
- ### Patch Changes
43
-
44
- - Updated dependencies [[`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76)]:
45
- - @ledgerhq/types-live@6.63.0-next.0
46
- - @ledgerhq/coin-framework@2.3.0-next.0
13
+ - Updated dependencies [[`fa8b10c`](https://github.com/LedgerHQ/ledger-live/commit/fa8b10cac5603eedd7c2309d2bb544a7d2d1a1a8), [`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76), [`c15d7ea`](https://github.com/LedgerHQ/ledger-live/commit/c15d7ea48e41168726a90a17809175aee5bfa940), [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286)]:
14
+ - @ledgerhq/types-live@6.63.0-nightly.0
15
+ - @ledgerhq/coin-framework@2.3.0-nightly.0
47
16
 
48
17
  ## 2.0.3
49
18
 
@@ -18,12 +18,7 @@ describe("Xrp Api", () => {
18
18
  // Given
19
19
  const amount = BigInt(100);
20
20
  // When
21
- const result = await module.estimateFees({
22
- type: "send",
23
- sender: address,
24
- amount,
25
- recipient: "rKtXXTVno77jhu6tto1MAXjepyuaKaLcqB",
26
- });
21
+ const result = await module.estimateFees(address, amount);
27
22
  // Then
28
23
  expect(result).toEqual(BigInt(10));
29
24
  });
@@ -32,16 +27,14 @@ describe("Xrp Api", () => {
32
27
  it("returns a list regarding address parameter", async () => {
33
28
  // When
34
29
  const [tx, _] = await module.listOperations(address, { minHeight: 200 });
35
- // https://blockexplorer.one/xrp/testnet/address/rh1HPuRVsYYvThxG2Bs1MfjmrVC73S16Fb
36
- // as of 2025-03-18, the address has 287 transactions
37
- expect(tx.length).toBeGreaterThanOrEqual(287);
30
+ // Then
31
+ expect(tx.length).toBe(200);
38
32
  tx.forEach(operation => {
39
33
  const isSenderOrReceipt = operation.senders.includes(address) || operation.recipients.includes(address);
40
34
  expect(isSenderOrReceipt).toBeTruthy();
41
35
  });
42
36
  });
43
- // TO FIX, ops length is 0 for some reason
44
- it.skip("returns all operations", async () => {
37
+ it("returns all operations", async () => {
45
38
  // When
46
39
  const [ops, _] = await module.listOperations(bigAddress, { minHeight: 0 });
47
40
  // Then
@@ -82,14 +75,17 @@ describe("Xrp Api", () => {
82
75
  describe("craftTransaction", () => {
83
76
  it("returns a raw transaction", async () => {
84
77
  // When
85
- const result = await module.craftTransaction({
78
+ const result = await module.craftTransaction(address, {
86
79
  type: "send",
87
- sender: address,
88
80
  recipient: "rKRtUG15iBsCQRgrkeUEg5oX4Ae2zWZ89z",
89
81
  amount: BigInt(10),
82
+ fee: BigInt(1),
83
+ memos: [{ data: "01", format: "02", type: "03" }],
84
+ destinationTag: 123,
90
85
  });
91
86
  // Then
92
- expect(result.length).toEqual(162);
87
+ expect(result.slice(0, 34)).toEqual("12000022800000002400025899201B002D");
88
+ expect(result.slice(38)).toEqual("61400000000000000A68400000000000000181142A6ADC782DAFDDB464E434B684F01416B8A33B208314CA26FB6B0EF6859436C2037BA0A9913208A59B98");
93
89
  });
94
90
  });
95
91
  // To enable this test, you need to fill an `.env` file at the root of this package. Example can be found in `.env.integ.test.example`.
@@ -1 +1 @@
1
- {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAC9B,6DAA+D;AAC/D,qDAAuC;AAEvC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,MAAiB,CAAC;IACtB,MAAM,OAAO,GAAG,oCAAoC,CAAC;IACrD,MAAM,UAAU,GAAG,oCAAoC,CAAC,CAAC,qCAAqC;IAC9F,MAAM,YAAY,GAAG,oCAAoC,CAAC,CAAC,4DAA4D;IACvH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,IAAA,YAAS,EAAC,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,QAAQ;YACR,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACvC,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,OAAO;gBACf,MAAM;gBACN,SAAS,EAAE,oCAAoC;aAChD,CAAC,CAAC;YAEH,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,OAAO;YACP,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAEzE,mFAAmF;YACnF,qDAAqD;YACrD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC9C,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACrB,MAAM,iBAAiB,GACrB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChF,MAAM,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YAC3C,OAAO;YACP,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO;YACP,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,oCAAoC;YACpC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CACxC,kEAAkE,CACnE,CAAC;YACF,8CAA8C;YAC9C,sDAAsD;YACtD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAExC,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEhD,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAErD,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;gBAC3C,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,oCAAoC;gBAC/C,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;aACnB,CAAC,CAAC;YAEH,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uIAAuI;IACvI,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,QAAQ;YACR,MAAM,KAAK,GACT,oKAAoK,CAAC;YACvK,MAAM,QAAQ,GAAG,IAAA,sBAAI,EACnB,IAAA,sCAAgB,EAAC;gBACf,GAAG,IAAA,4BAAM,EAAC,KAAK,CAAC;gBAChB,aAAa,EAAE,SAAS;aACzB,CAAC,EACF,YAAY,CACb,CAAC;YAEF,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAErD,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACpB,sTAAsT,CACvT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
package/lib/api/index.js CHANGED
@@ -13,18 +13,21 @@ function createApi(config) {
13
13
  broadcast: logic_1.broadcast,
14
14
  combine: logic_1.combine,
15
15
  craftTransaction: craft,
16
- estimateFees: () => (0, logic_1.estimateFees)().then(fees => fees.fee),
16
+ estimateFees: estimate,
17
17
  getBalance: logic_1.getBalance,
18
18
  lastBlock: logic_1.lastBlock,
19
19
  listOperations: operations,
20
20
  };
21
21
  }
22
- async function craft(transactionIntent) {
23
- const nextSequenceNumber = await (0, logic_1.getNextValidSequence)(transactionIntent.sender);
24
- const fees = await (0, logic_1.estimateFees)();
25
- const tx = await (0, logic_1.craftTransaction)({ address: transactionIntent.sender, nextSequenceNumber }, { recipient: transactionIntent.recipient, amount: transactionIntent.amount, fee: fees.fee });
22
+ async function craft(address, transaction) {
23
+ const nextSequenceNumber = await (0, logic_1.getNextValidSequence)(address);
24
+ const tx = await (0, logic_1.craftTransaction)({ address, nextSequenceNumber }, transaction);
26
25
  return tx.serializedTransaction;
27
26
  }
27
+ async function estimate(_addr, _amount) {
28
+ const fees = await (0, logic_1.estimateFees)();
29
+ return fees.fee;
30
+ }
28
31
  async function operationsFromHeight(address, minHeight) {
29
32
  async function fetchNextPage(state) {
30
33
  const options = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareTransaction = void 0;
4
- const logic_1 = require("../logic");
4
+ const estimateFees_1 = require("../logic/estimateFees");
5
5
  const prepareTransaction = async (_account, transaction) => {
6
- const { networkInfo } = await (0, logic_1.estimateFees)(transaction.networkInfo);
6
+ const { networkInfo } = await (0, estimateFees_1.estimateFees)(transaction.networkInfo);
7
7
  const fee = transaction.fee || networkInfo.serverFee;
8
8
  if (transaction.networkInfo !== networkInfo || transaction.fee !== fee) {
9
9
  return { ...transaction, networkInfo, fee };
@@ -1 +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"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAE9C,MAAM,kBAAkB,GAAqD,KAAK,EACvF,QAAQ,EACR,WAAW,EACX,EAAE;IACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,2BAAY,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.test.js","sourceRoot":"","sources":["../../src/logic/estimateFees.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AAErC,iDAA8C;AAE9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;CAC3C,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,QAAQ;QACR,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE;gBACJ,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE;iBACjB;aACF;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,GAAE,CAAC;QAEpC,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAA,sBAAS,EAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAA,sBAAS,EAAC,UAAU,CAAC;YAChC,WAAW,EAAE,IAAA,sBAAS,EAAC,IAAI,CAAC;SACP,CAAC;QAExB,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,EAAC,WAAW,CAAC,CAAC;QAE/C,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"estimateFees.test.js","sourceRoot":"","sources":["../../src/logic/estimateFees.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,iDAA8C;AAG9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;CAC3C,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,QAAQ;QACR,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE;gBACJ,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE;iBACjB;aACF;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,GAAE,CAAC;QAEpC,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAA,sBAAS,EAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAA,sBAAS,EAAC,UAAU,CAAC;YAChC,WAAW,EAAE,IAAA,sBAAS,EAAC,IAAI,CAAC;SACP,CAAC;QAExB,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,EAAC,WAAW,CAAC,CAAC;QAE/C,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -16,12 +16,7 @@ describe("Xrp Api", () => {
16
16
  // Given
17
17
  const amount = BigInt(100);
18
18
  // When
19
- const result = await module.estimateFees({
20
- type: "send",
21
- sender: address,
22
- amount,
23
- recipient: "rKtXXTVno77jhu6tto1MAXjepyuaKaLcqB",
24
- });
19
+ const result = await module.estimateFees(address, amount);
25
20
  // Then
26
21
  expect(result).toEqual(BigInt(10));
27
22
  });
@@ -30,16 +25,14 @@ describe("Xrp Api", () => {
30
25
  it("returns a list regarding address parameter", async () => {
31
26
  // When
32
27
  const [tx, _] = await module.listOperations(address, { minHeight: 200 });
33
- // https://blockexplorer.one/xrp/testnet/address/rh1HPuRVsYYvThxG2Bs1MfjmrVC73S16Fb
34
- // as of 2025-03-18, the address has 287 transactions
35
- expect(tx.length).toBeGreaterThanOrEqual(287);
28
+ // Then
29
+ expect(tx.length).toBe(200);
36
30
  tx.forEach(operation => {
37
31
  const isSenderOrReceipt = operation.senders.includes(address) || operation.recipients.includes(address);
38
32
  expect(isSenderOrReceipt).toBeTruthy();
39
33
  });
40
34
  });
41
- // TO FIX, ops length is 0 for some reason
42
- it.skip("returns all operations", async () => {
35
+ it("returns all operations", async () => {
43
36
  // When
44
37
  const [ops, _] = await module.listOperations(bigAddress, { minHeight: 0 });
45
38
  // Then
@@ -80,14 +73,17 @@ describe("Xrp Api", () => {
80
73
  describe("craftTransaction", () => {
81
74
  it("returns a raw transaction", async () => {
82
75
  // When
83
- const result = await module.craftTransaction({
76
+ const result = await module.craftTransaction(address, {
84
77
  type: "send",
85
- sender: address,
86
78
  recipient: "rKRtUG15iBsCQRgrkeUEg5oX4Ae2zWZ89z",
87
79
  amount: BigInt(10),
80
+ fee: BigInt(1),
81
+ memos: [{ data: "01", format: "02", type: "03" }],
82
+ destinationTag: 123,
88
83
  });
89
84
  // Then
90
- expect(result.length).toEqual(162);
85
+ expect(result.slice(0, 34)).toEqual("12000022800000002400025899201B002D");
86
+ expect(result.slice(38)).toEqual("61400000000000000A68400000000000000181142A6ADC782DAFDDB464E434B684F01416B8A33B208314CA26FB6B0EF6859436C2037BA0A9913208A59B98");
91
87
  });
92
88
  });
93
89
  // To enable this test, you need to fill an `.env` file at the root of this package. Example can be found in `.env.integ.test.example`.
@@ -1 +1 @@
1
- {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
@@ -7,18 +7,21 @@ export function createApi(config) {
7
7
  broadcast,
8
8
  combine,
9
9
  craftTransaction: craft,
10
- estimateFees: () => estimateFees().then(fees => fees.fee),
10
+ estimateFees: estimate,
11
11
  getBalance,
12
12
  lastBlock,
13
13
  listOperations: operations,
14
14
  };
15
15
  }
16
- async function craft(transactionIntent) {
17
- const nextSequenceNumber = await getNextValidSequence(transactionIntent.sender);
18
- const fees = await estimateFees();
19
- const tx = await craftTransaction({ address: transactionIntent.sender, nextSequenceNumber }, { recipient: transactionIntent.recipient, amount: transactionIntent.amount, fee: fees.fee });
16
+ async function craft(address, transaction) {
17
+ const nextSequenceNumber = await getNextValidSequence(address);
18
+ const tx = await craftTransaction({ address, nextSequenceNumber }, transaction);
20
19
  return tx.serializedTransaction;
21
20
  }
21
+ async function estimate(_addr, _amount) {
22
+ const fees = await estimateFees();
23
+ return fees.fee;
24
+ }
22
25
  async function operationsFromHeight(address, minHeight) {
23
26
  async function fetchNextPage(state) {
24
27
  const options = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,UAA8B,MAAM,WAAW,CAAC;AACvD,OAAO,EACL,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,GACf,MAAM,UAAU,CAAC;AAGlB,MAAM,UAAU,SAAS,CAAC,MAAiB;IACzC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS;QACT,OAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU;QACV,SAAS;QACT,cAAc,EAAE,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,OAAe,EAAE,WAA2B;IAC/D,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,WAAW,CAAC,CAAC;IAChF,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,OAAe;IACpD,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAYD,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,SAAiB;IAEjB,KAAK,UAAU,aAAa,CAAC,KAAsB;QACjD,MAAM,OAAO,GAA0B;YACrC,KAAK,EAAE,KAAK,CAAC,QAAQ;YACrB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK;SACb,CAAC;QACF,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,mBAAmB,GAAG,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACzB,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,IAAI,mBAAmB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACtD,GAAG,CAAC,UAAU,EAAE,0CAA0C,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACjF,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,OAAO;YACL,GAAG,KAAK;YACR,gBAAgB,EAAE,mBAAmB;YACrC,kBAAkB,EAAE,iBAAiB;YACrC,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,WAAW;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAoB;QAClC,QAAQ,EAAE,GAAG;QACb,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAI,KAAK,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAChC,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,EAAE,SAAS,EAAc;IAEzB,iFAAiF;IACjF,OAAO,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { estimateFees } from "../logic";
1
+ import { estimateFees } from "../logic/estimateFees";
2
2
  export const prepareTransaction = async (_account, transaction) => {
3
3
  const { networkInfo } = await estimateFees(transaction.networkInfo);
4
4
  const fee = transaction.fee || networkInfo.serverFee;
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,CAAC,MAAM,kBAAkB,GAAqD,KAAK,EACvF,QAAQ,EACR,WAAW,EACX,EAAE;IACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,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"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAqD,KAAK,EACvF,QAAQ,EACR,WAAW,EACX,EAAE;IACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.test.js","sourceRoot":"","sources":["../../src/logic/estimateFees.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;CAC3C,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,QAAQ;QACR,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE;gBACJ,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE;iBACjB;aACF;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QAEpC,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;YAChC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC;SACP,CAAC;QAExB,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/C,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"estimateFees.test.js","sourceRoot":"","sources":["../../src/logic/estimateFees.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;CAC3C,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,QAAQ;QACR,kBAAkB,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE;gBACJ,gBAAgB,EAAE;oBAChB,YAAY,EAAE,EAAE;iBACjB;aACF;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QAEpC,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;YAChC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC;SACP,CAAC;QAExB,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/C,OAAO;QACP,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-xrp",
3
- "version": "2.2.0-nightly.1",
3
+ "version": "3.0.0-nightly.0",
4
4
  "description": "Ledger XRP Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -104,12 +104,12 @@
104
104
  "ripple-address-codec": "^5.0.0",
105
105
  "ripple-binary-codec": "^1.3.0",
106
106
  "rxjs": "^7.8.1",
107
- "@ledgerhq/coin-framework": "^2.4.0-nightly.1",
107
+ "@ledgerhq/coin-framework": "^2.3.0-nightly.0",
108
108
  "@ledgerhq/cryptoassets": "^13.13.0",
109
109
  "@ledgerhq/devices": "8.4.4",
110
110
  "@ledgerhq/errors": "^6.19.1",
111
111
  "@ledgerhq/live-network": "^2.0.5",
112
- "@ledgerhq/types-live": "^6.64.0-nightly.0",
112
+ "@ledgerhq/types-live": "^6.63.0-nightly.0",
113
113
  "@ledgerhq/logs": "^6.12.0"
114
114
  },
115
115
  "devDependencies": {
@@ -21,12 +21,7 @@ describe("Xrp Api", () => {
21
21
  const amount = BigInt(100);
22
22
 
23
23
  // When
24
- const result = await module.estimateFees({
25
- type: "send",
26
- sender: address,
27
- amount,
28
- recipient: "rKtXXTVno77jhu6tto1MAXjepyuaKaLcqB",
29
- });
24
+ const result = await module.estimateFees(address, amount);
30
25
 
31
26
  // Then
32
27
  expect(result).toEqual(BigInt(10));
@@ -38,9 +33,8 @@ describe("Xrp Api", () => {
38
33
  // When
39
34
  const [tx, _] = await module.listOperations(address, { minHeight: 200 });
40
35
 
41
- // https://blockexplorer.one/xrp/testnet/address/rh1HPuRVsYYvThxG2Bs1MfjmrVC73S16Fb
42
- // as of 2025-03-18, the address has 287 transactions
43
- expect(tx.length).toBeGreaterThanOrEqual(287);
36
+ // Then
37
+ expect(tx.length).toBe(200);
44
38
  tx.forEach(operation => {
45
39
  const isSenderOrReceipt =
46
40
  operation.senders.includes(address) || operation.recipients.includes(address);
@@ -48,8 +42,7 @@ describe("Xrp Api", () => {
48
42
  });
49
43
  });
50
44
 
51
- // TO FIX, ops length is 0 for some reason
52
- it.skip("returns all operations", async () => {
45
+ it("returns all operations", async () => {
53
46
  // When
54
47
  const [ops, _] = await module.listOperations(bigAddress, { minHeight: 0 });
55
48
  // Then
@@ -99,15 +92,20 @@ describe("Xrp Api", () => {
99
92
  describe("craftTransaction", () => {
100
93
  it("returns a raw transaction", async () => {
101
94
  // When
102
- const result = await module.craftTransaction({
95
+ const result = await module.craftTransaction(address, {
103
96
  type: "send",
104
- sender: address,
105
97
  recipient: "rKRtUG15iBsCQRgrkeUEg5oX4Ae2zWZ89z",
106
98
  amount: BigInt(10),
99
+ fee: BigInt(1),
100
+ memos: [{ data: "01", format: "02", type: "03" }],
101
+ destinationTag: 123,
107
102
  });
108
103
 
109
104
  // Then
110
- expect(result.length).toEqual(162);
105
+ expect(result.slice(0, 34)).toEqual("12000022800000002400025899201B002D");
106
+ expect(result.slice(38)).toEqual(
107
+ "61400000000000000A68400000000000000181142A6ADC782DAFDDB464E434B684F01416B8A33B208314CA26FB6B0EF6859436C2037BA0A9913208A59B98",
108
+ );
111
109
  });
112
110
  });
113
111
 
package/src/api/index.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type {
2
2
  Api,
3
3
  Operation,
4
+ Transaction as ApiTransaction,
4
5
  Pagination,
5
- TransactionIntent,
6
6
  } from "@ledgerhq/coin-framework/api/index";
7
7
  import { log } from "@ledgerhq/logs";
8
8
  import coinConfig, { type XrpConfig } from "../config";
@@ -25,23 +25,24 @@ export function createApi(config: XrpConfig): Api<void> {
25
25
  broadcast,
26
26
  combine,
27
27
  craftTransaction: craft,
28
- estimateFees: () => estimateFees().then(fees => fees.fee),
28
+ estimateFees: estimate,
29
29
  getBalance,
30
30
  lastBlock,
31
31
  listOperations: operations,
32
32
  };
33
33
  }
34
34
 
35
- async function craft(transactionIntent: TransactionIntent<void>): Promise<string> {
36
- const nextSequenceNumber = await getNextValidSequence(transactionIntent.sender);
37
- const fees = await estimateFees();
38
- const tx = await craftTransaction(
39
- { address: transactionIntent.sender, nextSequenceNumber },
40
- { recipient: transactionIntent.recipient, amount: transactionIntent.amount, fee: fees.fee },
41
- );
35
+ async function craft(address: string, transaction: ApiTransaction): Promise<string> {
36
+ const nextSequenceNumber = await getNextValidSequence(address);
37
+ const tx = await craftTransaction({ address, nextSequenceNumber }, transaction);
42
38
  return tx.serializedTransaction;
43
39
  }
44
40
 
41
+ async function estimate(_addr: string, _amount: bigint): Promise<bigint> {
42
+ const fees = await estimateFees();
43
+ return fees.fee;
44
+ }
45
+
45
46
  type PaginationState = {
46
47
  readonly pageSize: number; // must be large enough to avoid unnecessary calls to the underlying explorer
47
48
  readonly maxIterations: number; // a security to avoid infinite loop
@@ -1,6 +1,6 @@
1
1
  import { AccountBridge } from "@ledgerhq/types-live";
2
2
  import { Transaction } from "../types";
3
- import { estimateFees } from "../logic";
3
+ import { estimateFees } from "../logic/estimateFees";
4
4
 
5
5
  export const prepareTransaction: AccountBridge<Transaction>["prepareTransaction"] = async (
6
6
  _account,
@@ -1,6 +1,6 @@
1
1
  import BigNumber from "bignumber.js";
2
- import { NetworkInfo } from "../types";
3
2
  import { estimateFees } from "./estimateFees";
3
+ import { NetworkInfo } from "../types";
4
4
 
5
5
  const mockGetServerInfos = jest.fn();
6
6
  jest.mock("../network", () => ({