@ledgerhq/coin-cardano 0.13.0-nightly.7 → 0.13.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 (59) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +23 -66
  3. package/lib/address.unit.test.d.ts +2 -0
  4. package/lib/address.unit.test.d.ts.map +1 -0
  5. package/lib/address.unit.test.js +21 -0
  6. package/lib/address.unit.test.js.map +1 -0
  7. package/lib/bridge.integration.test.d.ts +4 -0
  8. package/lib/bridge.integration.test.d.ts.map +1 -0
  9. package/lib/bridge.integration.test.js +120 -0
  10. package/lib/bridge.integration.test.js.map +1 -0
  11. package/lib/buildTransaction.test.d.ts +2 -0
  12. package/lib/buildTransaction.test.d.ts.map +1 -0
  13. package/lib/buildTransaction.test.js +172 -0
  14. package/lib/buildTransaction.test.js.map +1 -0
  15. package/lib/getTransactionStatus/getTransactionStatus.test.d.ts +2 -0
  16. package/lib/getTransactionStatus/getTransactionStatus.test.d.ts.map +1 -0
  17. package/lib/getTransactionStatus/getTransactionStatus.test.js +149 -0
  18. package/lib/getTransactionStatus/getTransactionStatus.test.js.map +1 -0
  19. package/lib/getTransactionStatus/handler.test.d.ts +2 -0
  20. package/lib/getTransactionStatus/handler.test.d.ts.map +1 -0
  21. package/lib/getTransactionStatus/handler.test.js +51 -0
  22. package/lib/getTransactionStatus/handler.test.js.map +1 -0
  23. package/lib/logic.unit.test.d.ts +2 -0
  24. package/lib/logic.unit.test.d.ts.map +1 -0
  25. package/lib/logic.unit.test.js +55 -0
  26. package/lib/logic.unit.test.js.map +1 -0
  27. package/lib/synchronisation.unit.test.d.ts +2 -0
  28. package/lib/synchronisation.unit.test.d.ts.map +1 -0
  29. package/lib/synchronisation.unit.test.js +150 -0
  30. package/lib/synchronisation.unit.test.js.map +1 -0
  31. package/lib-es/address.unit.test.d.ts +2 -0
  32. package/lib-es/address.unit.test.d.ts.map +1 -0
  33. package/lib-es/address.unit.test.js +19 -0
  34. package/lib-es/address.unit.test.js.map +1 -0
  35. package/lib-es/bridge.integration.test.d.ts +4 -0
  36. package/lib-es/bridge.integration.test.d.ts.map +1 -0
  37. package/lib-es/bridge.integration.test.js +114 -0
  38. package/lib-es/bridge.integration.test.js.map +1 -0
  39. package/lib-es/buildTransaction.test.d.ts +2 -0
  40. package/lib-es/buildTransaction.test.d.ts.map +1 -0
  41. package/lib-es/buildTransaction.test.js +167 -0
  42. package/lib-es/buildTransaction.test.js.map +1 -0
  43. package/lib-es/getTransactionStatus/getTransactionStatus.test.d.ts +2 -0
  44. package/lib-es/getTransactionStatus/getTransactionStatus.test.d.ts.map +1 -0
  45. package/lib-es/getTransactionStatus/getTransactionStatus.test.js +121 -0
  46. package/lib-es/getTransactionStatus/getTransactionStatus.test.js.map +1 -0
  47. package/lib-es/getTransactionStatus/handler.test.d.ts +2 -0
  48. package/lib-es/getTransactionStatus/handler.test.d.ts.map +1 -0
  49. package/lib-es/getTransactionStatus/handler.test.js +26 -0
  50. package/lib-es/getTransactionStatus/handler.test.js.map +1 -0
  51. package/lib-es/logic.unit.test.d.ts +2 -0
  52. package/lib-es/logic.unit.test.d.ts.map +1 -0
  53. package/lib-es/logic.unit.test.js +50 -0
  54. package/lib-es/logic.unit.test.js.map +1 -0
  55. package/lib-es/synchronisation.unit.test.d.ts +2 -0
  56. package/lib-es/synchronisation.unit.test.d.ts.map +1 -0
  57. package/lib-es/synchronisation.unit.test.js +145 -0
  58. package/lib-es/synchronisation.unit.test.js.map +1 -0
  59. package/package.json +9 -9
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-cardano@0.13.0-nightly.6 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-cardano
2
+ > @ledgerhq/coin-cardano@0.13.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-cardano
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,76 +1,31 @@
1
1
  # @ledgerhq/coin-cardano
2
2
 
3
- ## 0.13.0-nightly.7
3
+ ## 0.13.0
4
4
 
5
- ### Patch Changes
6
-
7
- - Updated dependencies [[`b4ceaff`](https://github.com/LedgerHQ/ledger-live/commit/b4ceaff2ecf68d8a14e09801c76ab0b014c45286), [`f392f69`](https://github.com/LedgerHQ/ledger-live/commit/f392f6912f445cc2f7cf4dfcfd030fa3da76f736), [`cbc0648`](https://github.com/LedgerHQ/ledger-live/commit/cbc064885d8e0459e40d327a2e5389204b3ec705)]:
8
- - @ledgerhq/cryptoassets@13.31.0-nightly.7
9
- - @ledgerhq/types-live@6.87.0-nightly.5
10
- - @ledgerhq/live-env@2.19.0-nightly.2
11
- - @ledgerhq/coin-framework@6.7.0-nightly.7
12
- - @ledgerhq/live-network@2.0.20-nightly.3
13
-
14
- ## 0.13.0-nightly.6
15
-
16
- ### Patch Changes
17
-
18
- - Updated dependencies [[`51995e9`](https://github.com/LedgerHQ/ledger-live/commit/51995e96a9e1fafe14c7cbe45ce0b1ec8ebd106b)]:
19
- - @ledgerhq/types-live@6.87.0-nightly.4
20
- - @ledgerhq/coin-framework@6.7.0-nightly.6
21
- - @ledgerhq/cryptoassets@13.31.0-nightly.6
22
-
23
- ## 0.13.0-nightly.5
24
-
25
- ### Patch Changes
26
-
27
- - Updated dependencies [[`cadf2e1`](https://github.com/LedgerHQ/ledger-live/commit/cadf2e1dfb09248d3f77d96f94ae774425dbca75)]:
28
- - @ledgerhq/live-env@2.19.0-nightly.1
29
- - @ledgerhq/coin-framework@6.7.0-nightly.5
30
- - @ledgerhq/cryptoassets@13.31.0-nightly.5
31
- - @ledgerhq/live-network@2.0.20-nightly.2
32
-
33
- ## 0.13.0-nightly.4
34
-
35
- ### Patch Changes
36
-
37
- - Updated dependencies [[`7744980`](https://github.com/LedgerHQ/ledger-live/commit/774498090411f1a6d6c06395dda1fc7cd24adf24), [`759064d`](https://github.com/LedgerHQ/ledger-live/commit/759064d4815c636af2d73ba548a85b4f53e7b491)]:
38
- - @ledgerhq/types-live@6.87.0-nightly.3
39
- - @ledgerhq/errors@6.27.0-nightly.0
40
- - @ledgerhq/coin-framework@6.7.0-nightly.4
41
- - @ledgerhq/cryptoassets@13.31.0-nightly.4
42
- - @ledgerhq/devices@8.6.2-nightly.0
43
- - @ledgerhq/live-network@2.0.20-nightly.1
44
-
45
- ## 0.13.0-nightly.3
46
-
47
- ### Patch Changes
48
-
49
- - Updated dependencies [[`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445)]:
50
- - @ledgerhq/types-live@6.87.0-nightly.2
51
- - @ledgerhq/coin-framework@6.7.0-nightly.3
52
- - @ledgerhq/cryptoassets@13.31.0-nightly.3
5
+ ### Minor Changes
53
6
 
54
- ## 0.13.0-nightly.2
7
+ - [#12015](https://github.com/LedgerHQ/ledger-live/pull/12015) [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b) Thanks [@Justkant](https://github.com/Justkant)! - feat: new signRawTransaction to support any XRP transaction with wallet-api
55
8
 
56
9
  ### Patch Changes
57
10
 
58
- - Updated dependencies [[`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6)]:
59
- - @ledgerhq/coin-framework@6.7.0-nightly.2
60
- - @ledgerhq/cryptoassets@13.31.0-nightly.2
11
+ - Updated dependencies [[`ea16f59`](https://github.com/LedgerHQ/ledger-live/commit/ea16f592e85019a1b77287a7f2b975c6fcffc74c), [`b88faa1`](https://github.com/LedgerHQ/ledger-live/commit/b88faa18e2f5cd309b54fc3157a44db606846cc5), [`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`a9aacdb`](https://github.com/LedgerHQ/ledger-live/commit/a9aacdb330700f0a294833f7d77de17f179229b2), [`3979c07`](https://github.com/LedgerHQ/ledger-live/commit/3979c0715e4f54165c89d00ebe1441e064e1a110), [`f1f3845`](https://github.com/LedgerHQ/ledger-live/commit/f1f3845942e4cbce9c585dc65f6170ddbc319f19), [`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`89ac0ed`](https://github.com/LedgerHQ/ledger-live/commit/89ac0eddc145dcf5c7cf240aa8be4301372c8f33), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6), [`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445), [`1d9860c`](https://github.com/LedgerHQ/ledger-live/commit/1d9860cd1688131d391579955b40c6710b667db8), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`db25e21`](https://github.com/LedgerHQ/ledger-live/commit/db25e212b87dea426b153c6f1d988cead63c8c46), [`c8dbf40`](https://github.com/LedgerHQ/ledger-live/commit/c8dbf402268359e225a94782420111e786f875fa), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
12
+ - @ledgerhq/cryptoassets@13.31.0
13
+ - @ledgerhq/types-live@6.87.0
14
+ - @ledgerhq/coin-framework@6.7.0
15
+ - @ledgerhq/live-env@2.19.0
16
+ - @ledgerhq/types-cryptoassets@7.29.0
17
+ - @ledgerhq/live-network@2.0.20
61
18
 
62
- ## 0.13.0-nightly.1
19
+ ## 0.13.0-next.1
63
20
 
64
21
  ### Patch Changes
65
22
 
66
- - Updated dependencies [[`ea16f59`](https://github.com/LedgerHQ/ledger-live/commit/ea16f592e85019a1b77287a7f2b975c6fcffc74c), [`a9aacdb`](https://github.com/LedgerHQ/ledger-live/commit/a9aacdb330700f0a294833f7d77de17f179229b2), [`f1f3845`](https://github.com/LedgerHQ/ledger-live/commit/f1f3845942e4cbce9c585dc65f6170ddbc319f19), [`89ac0ed`](https://github.com/LedgerHQ/ledger-live/commit/89ac0eddc145dcf5c7cf240aa8be4301372c8f33), [`db25e21`](https://github.com/LedgerHQ/ledger-live/commit/db25e212b87dea426b153c6f1d988cead63c8c46)]:
67
- - @ledgerhq/cryptoassets@13.31.0-nightly.1
68
- - @ledgerhq/types-live@6.87.0-nightly.1
69
- - @ledgerhq/live-env@2.19.0-nightly.0
70
- - @ledgerhq/coin-framework@6.7.0-nightly.1
71
- - @ledgerhq/live-network@2.0.20-nightly.0
23
+ - Updated dependencies [[`b88faa1`](https://github.com/LedgerHQ/ledger-live/commit/b88faa18e2f5cd309b54fc3157a44db606846cc5)]:
24
+ - @ledgerhq/types-live@6.87.0-next.1
25
+ - @ledgerhq/coin-framework@6.7.0-next.1
26
+ - @ledgerhq/cryptoassets@13.31.0-next.1
72
27
 
73
- ## 0.13.0-nightly.0
28
+ ## 0.13.0-next.0
74
29
 
75
30
  ### Minor Changes
76
31
 
@@ -78,11 +33,13 @@
78
33
 
79
34
  ### Patch Changes
80
35
 
81
- - Updated dependencies [[`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
82
- - @ledgerhq/cryptoassets@13.31.0-nightly.0
83
- - @ledgerhq/types-live@6.87.0-nightly.0
84
- - @ledgerhq/coin-framework@6.7.0-nightly.0
85
- - @ledgerhq/types-cryptoassets@7.29.0-nightly.0
36
+ - Updated dependencies [[`ea16f59`](https://github.com/LedgerHQ/ledger-live/commit/ea16f592e85019a1b77287a7f2b975c6fcffc74c), [`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`a9aacdb`](https://github.com/LedgerHQ/ledger-live/commit/a9aacdb330700f0a294833f7d77de17f179229b2), [`3979c07`](https://github.com/LedgerHQ/ledger-live/commit/3979c0715e4f54165c89d00ebe1441e064e1a110), [`f1f3845`](https://github.com/LedgerHQ/ledger-live/commit/f1f3845942e4cbce9c585dc65f6170ddbc319f19), [`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`89ac0ed`](https://github.com/LedgerHQ/ledger-live/commit/89ac0eddc145dcf5c7cf240aa8be4301372c8f33), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6), [`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445), [`1d9860c`](https://github.com/LedgerHQ/ledger-live/commit/1d9860cd1688131d391579955b40c6710b667db8), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`db25e21`](https://github.com/LedgerHQ/ledger-live/commit/db25e212b87dea426b153c6f1d988cead63c8c46), [`c8dbf40`](https://github.com/LedgerHQ/ledger-live/commit/c8dbf402268359e225a94782420111e786f875fa), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
37
+ - @ledgerhq/cryptoassets@13.31.0-next.0
38
+ - @ledgerhq/types-live@6.87.0-next.0
39
+ - @ledgerhq/coin-framework@6.7.0-next.0
40
+ - @ledgerhq/live-env@2.19.0-next.0
41
+ - @ledgerhq/types-cryptoassets@7.29.0-next.0
42
+ - @ledgerhq/live-network@2.0.20-next.0
86
43
 
87
44
  ## 0.12.3
88
45
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=address.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.unit.test.d.ts","sourceRoot":"","sources":["../src/address.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const logic_1 = require("./logic");
4
+ const types_1 = require("./types");
5
+ describe("address validation", () => {
6
+ it("should check for invalid address", () => {
7
+ const isValid = (0, logic_1.isValidAddress)("bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23", types_1.NetworkId.mainnet);
8
+ expect(isValid).toEqual(false);
9
+ });
10
+ it("should check for valid byron address", () => {
11
+ const isValidByronAddress1 = (0, logic_1.isValidAddress)("Ae2tdPwUPEZFBgKrLT9pn8JPJVbefcL4kuznpQxQpxKfTVuHJ9gLAmxKk4w", types_1.NetworkId.mainnet);
12
+ expect(isValidByronAddress1).toEqual(true);
13
+ const isValidByronAddress2 = (0, logic_1.isValidAddress)("DdzFFzCqrhst6mdc3hmFeWu77FZdYNjV7tTGVtEBXQzE3iCqyZWn9SSWCBrjRbbhj94VHAyGU96khi8qGM1B29nGs1jZRZEWKg2MwbVb", types_1.NetworkId.mainnet);
14
+ expect(isValidByronAddress2).toEqual(true);
15
+ });
16
+ it("should check for valid shelley address", () => {
17
+ const isValidShelleyAddress = (0, logic_1.isValidAddress)("addr1q8mgw8geggkl2hs0m6rq3pgt69uxttpqcgu6euxje5tt6plxjtjrnskhhtt03g6l3sr98p9t8mtlajr26vmwjzep77pqxn8cms", types_1.NetworkId.mainnet);
18
+ expect(isValidShelleyAddress).toEqual(true);
19
+ });
20
+ });
21
+ //# sourceMappingURL=address.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.unit.test.js","sourceRoot":"","sources":["../src/address.unit.test.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AACzC,mCAAoC;AAEpC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,4CAA4C,EAAE,iBAAS,CAAC,OAAO,CAAC,CAAC;QAChG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,oBAAoB,GAAG,IAAA,sBAAc,EACzC,6DAA6D,EAC7D,iBAAS,CAAC,OAAO,CAClB,CAAC;QACF,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,oBAAoB,GAAG,IAAA,sBAAc,EACzC,0GAA0G,EAC1G,iBAAS,CAAC,OAAO,CAClB,CAAC;QACF,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,qBAAqB,GAAG,IAAA,sBAAc,EAC1C,yGAAyG,EACzG,iBAAS,CAAC,OAAO,CAClB,CAAC;QAEF,MAAM,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Transaction } from "./types";
2
+ import type { DatasetTest } from "@ledgerhq/types-live";
3
+ export declare const dataset: DatasetTest<Transaction>;
4
+ //# sourceMappingURL=bridge.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.integration.test.d.ts","sourceRoot":"","sources":["../src/bridge.integration.test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAUxD,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAkG5C,CAAC"}
@@ -0,0 +1,120 @@
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.dataset = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const rawAccount_1_1 = require("./datasets/rawAccount.1");
9
+ const scanAccounts_1 = require("./datasets/scanAccounts");
10
+ const errors_1 = require("./errors");
11
+ const transaction_1 = require("./transaction");
12
+ const buffer_1 = require("buffer");
13
+ // NOTE: overrides polyfill set here libs/ledger-live-common/jest.polyfills.js
14
+ Object.defineProperty(globalThis, "Buffer", {
15
+ value: buffer_1.Buffer,
16
+ writable: true,
17
+ configurable: true,
18
+ });
19
+ exports.dataset = {
20
+ implementations: ["js"],
21
+ currencies: {
22
+ cardano_testnet: {
23
+ scanAccounts: scanAccounts_1.cardanoScanAccounts,
24
+ accounts: [
25
+ {
26
+ raw: rawAccount_1_1.cardanoRawAccount1,
27
+ transactions: [
28
+ {
29
+ name: "amount less then minimum",
30
+ transaction: (0, transaction_1.fromTransactionRaw)({
31
+ family: "cardano",
32
+ recipient: "addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
33
+ amount: "0.1",
34
+ mode: "send",
35
+ poolId: undefined,
36
+ }),
37
+ expectedStatus: {
38
+ amount: new bignumber_js_1.default("0.1"),
39
+ errors: {
40
+ amount: new errors_1.CardanoMinAmountError(),
41
+ },
42
+ },
43
+ },
44
+ /* // FIXME broken test
45
+ {
46
+ name: "token amount more than balance",
47
+ transaction: fromTransactionRaw({
48
+ family: "cardano",
49
+ recipient:
50
+ "addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
51
+ amount: "101",
52
+ subAccountId:
53
+ "js:2:cardano_testnet:806499588e0c4a58f4119f7e6e096bf42c3f774a528d2acec9e82ceebf87d1ceb3d4f3622dd2c77c65cc89c123f79337db22cf8a69f122e36dab1bf5083bf82d:cardano+cardano_testnet%2Fnative%2F47be64fcc8a7fe5321b976282ce4e43e4d29015f6613cfabcea28eab54657374",
54
+ mode: "send",
55
+ poolId: undefined,
56
+ }),
57
+ expectedStatus: {
58
+ amount: new BigNumber("101"),
59
+ errors: {
60
+ amount: new NotEnoughBalance(),
61
+ },
62
+ },
63
+ },
64
+ {
65
+ name: "send max token",
66
+ transaction: fromTransactionRaw({
67
+ family: "cardano",
68
+ recipient:
69
+ "addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
70
+ amount: "0",
71
+ subAccountId:
72
+ "js:2:cardano_testnet:806499588e0c4a58f4119f7e6e096bf42c3f774a528d2acec9e82ceebf87d1ceb3d4f3622dd2c77c65cc89c123f79337db22cf8a69f122e36dab1bf5083bf82d:cardano+cardano_testnet%2Fnative%2F47be64fcc8a7fe5321b976282ce4e43e4d29015f6613cfabcea28eab54657374",
73
+ mode: "send",
74
+ useAllAmount: true,
75
+ poolId: undefined,
76
+ }),
77
+ expectedStatus: {
78
+ amount: new BigNumber("100"),
79
+ totalSpent: new BigNumber("100"),
80
+ errors: {},
81
+ warnings: {},
82
+ },
83
+ },
84
+ */
85
+ {
86
+ name: "delegate to invalid poolId",
87
+ transaction: (0, transaction_1.fromTransactionRaw)({
88
+ family: "cardano",
89
+ recipient: "",
90
+ amount: "0",
91
+ mode: "delegate",
92
+ poolId: "efae72c07a26e4542ba55ef59d35ad45ffaaac312865e3a758ede",
93
+ }),
94
+ expectedStatus: {
95
+ errors: {
96
+ poolId: new errors_1.CardanoInvalidPoolId(),
97
+ },
98
+ },
99
+ },
100
+ {
101
+ name: "delegate valid poolId",
102
+ transaction: (0, transaction_1.fromTransactionRaw)({
103
+ family: "cardano",
104
+ recipient: "",
105
+ amount: "0",
106
+ mode: "delegate",
107
+ poolId: "efae72c07a26e4542ba55ef59d35ad45ffaaac312865e3a758ede997",
108
+ }),
109
+ expectedStatus: {},
110
+ },
111
+ ],
112
+ },
113
+ ],
114
+ },
115
+ },
116
+ };
117
+ describe("Cardano bridge", () => {
118
+ test.todo("This is an empty test to make jest command pass. Remove it once there is a real test.");
119
+ });
120
+ //# sourceMappingURL=bridge.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.integration.test.js","sourceRoot":"","sources":["../src/bridge.integration.test.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,0DAA6D;AAC7D,0DAA8D;AAC9D,qCAAuE;AACvE,+CAAmD;AAGnD,mCAAkD;AAElD,8EAA8E;AAC9E,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE;IAC1C,KAAK,EAAE,eAAc;IACrB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEU,QAAA,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,UAAU,EAAE;QACV,eAAe,EAAE;YACf,YAAY,EAAE,kCAAmB;YACjC,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,iCAAkB;oBACvB,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE,0BAA0B;4BAChC,WAAW,EAAE,IAAA,gCAAkB,EAAC;gCAC9B,MAAM,EAAE,SAAS;gCACjB,SAAS,EACP,8GAA8G;gCAChH,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,MAAM;gCACZ,MAAM,EAAE,SAAS;6BAClB,CAAC;4BACF,cAAc,EAAE;gCACd,MAAM,EAAE,IAAI,sBAAS,CAAC,KAAK,CAAC;gCAC5B,MAAM,EAAE;oCACN,MAAM,EAAE,IAAI,8BAAqB,EAAE;iCACpC;6BACF;yBACF;wBACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAwCE;wBACF;4BACE,IAAI,EAAE,4BAA4B;4BAClC,WAAW,EAAE,IAAA,gCAAkB,EAAC;gCAC9B,MAAM,EAAE,SAAS;gCACjB,SAAS,EAAE,EAAE;gCACb,MAAM,EAAE,GAAG;gCACX,IAAI,EAAE,UAAU;gCAChB,MAAM,EAAE,uDAAuD;6BAChE,CAAC;4BACF,cAAc,EAAE;gCACd,MAAM,EAAE;oCACN,MAAM,EAAE,IAAI,6BAAoB,EAAE;iCACnC;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,uBAAuB;4BAC7B,WAAW,EAAE,IAAA,gCAAkB,EAAC;gCAC9B,MAAM,EAAE,SAAS;gCACjB,SAAS,EAAE,EAAE;gCACb,MAAM,EAAE,GAAG;gCACX,IAAI,EAAE,UAAU;gCAChB,MAAM,EAAE,0DAA0D;6BACnE,CAAC;4BACF,cAAc,EAAE,EAAE;yBACnB;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,IAAI,CACP,uFAAuF,CACxF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildTransaction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransaction.test.d.ts","sourceRoot":"","sources":["../src/buildTransaction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
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 bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const accounts_1 = require("./fixtures/accounts");
8
+ const buildTransaction_1 = require("./buildTransaction");
9
+ const typhonjs_1 = require("@stricahq/typhonjs");
10
+ const protocolParams_1 = require("./fixtures/protocolParams");
11
+ describe("buildTransaction", () => {
12
+ const txPayload = {
13
+ family: "cardano",
14
+ recipient: "addr_test1qz7jw975stagnvs00wsjny6y6gpazn86yvwcm2vy02j3up7mt68vuzvz4nzgs00x0shrgywvy674v6r2zcs8fxvvq27qfjq8np",
15
+ amount: new bignumber_js_1.default(2e6),
16
+ mode: "send",
17
+ poolId: undefined,
18
+ protocolParams: (0, protocolParams_1.getProtocolParams)(),
19
+ };
20
+ describe("certificates", () => {
21
+ it("should not add abstain when there is no delegation", async () => {
22
+ // account with no delegation
23
+ const account = (0, accounts_1.getCardanoTestnetAccount)({ delegation: undefined });
24
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
25
+ const certificates = transaction.getCertificates();
26
+ expect(certificates).toEqual([]);
27
+ });
28
+ it("should not add abstain when there is no rewards", async () => {
29
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
30
+ delegation: {
31
+ dRepHex: undefined,
32
+ rewards: new bignumber_js_1.default(0), // no rewards
33
+ },
34
+ });
35
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
36
+ const certificates = transaction.getCertificates();
37
+ expect(certificates).toEqual([]);
38
+ });
39
+ it("should not add abstain vote when dRepHex is present", async () => {
40
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
41
+ delegation: {
42
+ dRepHex: "drepHex", // drepHex present
43
+ rewards: new bignumber_js_1.default(10e6),
44
+ },
45
+ });
46
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
47
+ const certificates = transaction.getCertificates();
48
+ expect(certificates).toEqual([]);
49
+ });
50
+ it("should add abstain when drepHex is absent and rewards is available", async () => {
51
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
52
+ delegation: {
53
+ dRepHex: undefined, // drepHex absent
54
+ rewards: new bignumber_js_1.default(10e6), // rewards available
55
+ },
56
+ });
57
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
58
+ const certificates = transaction.getCertificates();
59
+ expect(certificates.some(c => c.type === typhonjs_1.types.CertificateType.VOTE_DELEGATION &&
60
+ c.cert.dRep.type === typhonjs_1.types.DRepType.ABSTAIN)).toBe(true);
61
+ });
62
+ });
63
+ describe("withdrawals", () => {
64
+ it("should not add withdrawal when there is no delegation", async () => {
65
+ const account = (0, accounts_1.getCardanoTestnetAccount)({ delegation: undefined });
66
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
67
+ const withdrawals = transaction.getWithdrawals();
68
+ expect(withdrawals.length).toBe(0);
69
+ });
70
+ it("should not add withdrawal if no rewards", async () => {
71
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
72
+ delegation: {
73
+ rewards: new bignumber_js_1.default(0), // no rewards
74
+ },
75
+ });
76
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
77
+ const withdrawals = transaction.getWithdrawals();
78
+ expect(withdrawals.length).toBe(0);
79
+ });
80
+ it("should not add withdrawal when dRepHex is absent", async () => {
81
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
82
+ delegation: {
83
+ dRepHex: undefined, // drepHex absent
84
+ rewards: new bignumber_js_1.default(10e6), // rewards available
85
+ },
86
+ });
87
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
88
+ const withdrawals = transaction.getWithdrawals();
89
+ expect(withdrawals.length).toBe(0);
90
+ });
91
+ it("should add withdrawal when dRepHex and rewards both are available", async () => {
92
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
93
+ delegation: {
94
+ dRepHex: "drepHex", // drepHex present
95
+ rewards: new bignumber_js_1.default(10e6), // rewards available
96
+ },
97
+ });
98
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayload);
99
+ const withdrawals = transaction.getWithdrawals();
100
+ expect(withdrawals.length).toBe(1);
101
+ });
102
+ });
103
+ describe("undelegate transaction", () => {
104
+ it("should build a undelegate transaction with correct deposit", async () => {
105
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
106
+ delegation: {
107
+ status: true,
108
+ deposit: (3e6).toString(),
109
+ rewards: new bignumber_js_1.default(0),
110
+ },
111
+ });
112
+ const txPayloadUndelegate = {
113
+ family: "cardano",
114
+ recipient: "",
115
+ amount: new bignumber_js_1.default(0),
116
+ mode: "undelegate",
117
+ poolId: undefined,
118
+ protocolParams: (0, protocolParams_1.getProtocolParams)(),
119
+ };
120
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayloadUndelegate);
121
+ const deregisterCertificate = transaction
122
+ .getCertificates()
123
+ .find(c => c.type === typhonjs_1.types.CertificateType.STAKE_KEY_DE_REGISTRATION);
124
+ expect(deregisterCertificate).toBeDefined();
125
+ expect(deregisterCertificate.cert.deposit.toString()).toBe(account.cardanoResources.delegation?.deposit);
126
+ });
127
+ });
128
+ describe("delegate transaction", () => {
129
+ it("should build delegate transaction with stake key registration", async () => {
130
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
131
+ delegation: undefined, // stake key not registered
132
+ });
133
+ const txPayloadDelegate = {
134
+ family: "cardano",
135
+ recipient: "",
136
+ amount: new bignumber_js_1.default(0),
137
+ mode: "delegate",
138
+ poolId: "7df262feae9201d1b2e32d4c825ca91b29fbafb2b8e556f6efb7f549",
139
+ protocolParams: (0, protocolParams_1.getProtocolParams)(),
140
+ };
141
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayloadDelegate);
142
+ const registerCertificate = transaction
143
+ .getCertificates()
144
+ .find(c => c.type === typhonjs_1.types.CertificateType.STAKE_KEY_REGISTRATION);
145
+ expect(registerCertificate).toBeDefined();
146
+ expect(registerCertificate.cert.deposit.toString()).toBe(transaction.protocolParams.stakeKeyDeposit.toString());
147
+ });
148
+ it("should build delegate transaction without stake key registration", async () => {
149
+ const account = (0, accounts_1.getCardanoTestnetAccount)({
150
+ delegation: {
151
+ status: true, // stake key already registered
152
+ deposit: (2e6).toString(),
153
+ rewards: new bignumber_js_1.default(0),
154
+ },
155
+ });
156
+ const txPayloadDelegate = {
157
+ family: "cardano",
158
+ recipient: "",
159
+ amount: new bignumber_js_1.default(0),
160
+ mode: "delegate",
161
+ poolId: "7df262feae9201d1b2e32d4c825ca91b29fbafb2b8e556f6efb7f549",
162
+ protocolParams: (0, protocolParams_1.getProtocolParams)(),
163
+ };
164
+ const transaction = await (0, buildTransaction_1.buildTransaction)(account, txPayloadDelegate);
165
+ const registerCertificate = transaction
166
+ .getCertificates()
167
+ .find(c => c.type === typhonjs_1.types.CertificateType.STAKE_KEY_REGISTRATION);
168
+ expect(registerCertificate).toBeUndefined();
169
+ });
170
+ });
171
+ });
172
+ //# sourceMappingURL=buildTransaction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransaction.test.js","sourceRoot":"","sources":["../src/buildTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getTransactionStatus.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionStatus.test.d.ts","sourceRoot":"","sources":["../../src/getTransactionStatus/getTransactionStatus.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ /* eslint @typescript-eslint/consistent-type-assertions: 0 */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
31
+ const getTransactionStatus_1 = require("./getTransactionStatus");
32
+ const sanction = __importStar(require("@ledgerhq/coin-framework/sanction/index"));
33
+ const errors_1 = require("@ledgerhq/coin-framework/sanction/errors");
34
+ const mode = __importStar(require("./handler"));
35
+ const config_1 = __importDefault(require("../config"));
36
+ describe("getTransactionStatus", () => {
37
+ it("should return not enough funds error when there are no utxos", async () => {
38
+ const initialAccount = {
39
+ pendingOperations: [],
40
+ cardanoResources: {
41
+ utxos: [],
42
+ },
43
+ };
44
+ const sendTx = {
45
+ amount: new bignumber_js_1.default(1000000),
46
+ recipient: "addr1qxqm3nxwzf70ke9jqa2zrtrevjznpv6yykptxnv34perjc8a7zgxmpv5pgk4hhhe0m9kfnlsf5pt7d2ahkxaul2zygrq3nura9",
47
+ mode: "send",
48
+ family: "cardano",
49
+ poolId: undefined,
50
+ };
51
+ const sendTxRes = await (0, getTransactionStatus_1.getTransactionStatus)(initialAccount, sendTx);
52
+ expect(sendTxRes.errors.amount.name).toBe("CardanoNotEnoughFunds");
53
+ const delegateTx = {
54
+ amount: new bignumber_js_1.default(0),
55
+ recipient: "",
56
+ mode: "delegate",
57
+ family: "cardano",
58
+ poolId: "d0f48f07e4e5eb8040a988085f7ea3bd32d71a2e2998d53e9bbc959a",
59
+ };
60
+ const delegateTxRes = await (0, getTransactionStatus_1.getTransactionStatus)(initialAccount, delegateTx);
61
+ expect(delegateTxRes.errors.amount.name).toBe("CardanoNotEnoughFunds");
62
+ const undelegateTx = {
63
+ amount: new bignumber_js_1.default(0),
64
+ recipient: "",
65
+ mode: "undelegate",
66
+ family: "cardano",
67
+ poolId: undefined,
68
+ };
69
+ const undelegateTxRes = await (0, getTransactionStatus_1.getTransactionStatus)(initialAccount, undelegateTx);
70
+ expect(undelegateTxRes.errors.amount.name).toBe("CardanoNotEnoughFunds");
71
+ });
72
+ it("should return as sender error only sanctioned utxo addresses", async () => {
73
+ const sanctionedAddresses = [
74
+ "addr1eKHLg16K8UTAak8srh6LiTRufkT2uziFKekkfZBxcRNMED",
75
+ "addr1UvY42XTJHMPHDEDch9UWagjhipLjke37Uqm7qzfcSkdPHT",
76
+ ];
77
+ jest.spyOn(sanction, "isAddressSanctioned").mockImplementation((_, address) => {
78
+ return Promise.resolve(sanctionedAddresses.includes(address));
79
+ });
80
+ const utxos = [
81
+ {
82
+ address: "addr1eKHLg16K8UTAak8srh6LiTRufkT2uziFKekkfZBxcRNMED",
83
+ },
84
+ {
85
+ address: "addr1UvY42XTJHMPHDEDch9UWagjhipLjke37Uqm7qzfcSkdPHT",
86
+ },
87
+ {
88
+ address: "addr1QDz6DDTAk5CNig91MNxgTKXUpYoAbz6WnyZ7AztJUXsDDK",
89
+ },
90
+ {
91
+ address: "addr1Fwc4rtTcbrhmcq3iqDJZULdyxU8nJmam3Jx6oknhY5Jqm2",
92
+ },
93
+ ];
94
+ const account = {
95
+ pendingOperations: [],
96
+ cardanoResources: {
97
+ utxos: utxos,
98
+ },
99
+ };
100
+ const transaction = {};
101
+ const status = await (0, getTransactionStatus_1.getTransactionStatus)(account, transaction);
102
+ expect(status.errors).toEqual({
103
+ sender: new errors_1.AddressesSanctionedError("AddressesSanctionedError", {
104
+ addresses: sanctionedAddresses,
105
+ }),
106
+ });
107
+ });
108
+ it("should return as no sender error when no utxo address is sanctioned", async () => {
109
+ const maxFeesWarning = (0, bignumber_js_1.default)(1000000);
110
+ jest.spyOn(config_1.default, "getCoinConfig").mockReturnValue({
111
+ maxFeesWarning: maxFeesWarning,
112
+ maxFeesError: maxFeesWarning.multipliedBy(2),
113
+ });
114
+ jest.spyOn(mode, "getTransactionStatusByTransactionMode").mockResolvedValue({
115
+ errors: {},
116
+ warnings: {},
117
+ amount: (0, bignumber_js_1.default)(0),
118
+ totalSpent: (0, bignumber_js_1.default)(0),
119
+ estimatedFees: maxFeesWarning,
120
+ });
121
+ jest.spyOn(sanction, "isAddressSanctioned").mockResolvedValue(false);
122
+ const utxos = [
123
+ {
124
+ address: "addr1eKHLg16K8UTAak8srh6LiTRufkT2uziFKekkfZBxcRNMED",
125
+ },
126
+ {
127
+ address: "addr1UvY42XTJHMPHDEDch9UWagjhipLjke37Uqm7qzfcSkdPHT",
128
+ },
129
+ {
130
+ address: "addr1QDz6DDTAk5CNig91MNxgTKXUpYoAbz6WnyZ7AztJUXsDDK",
131
+ },
132
+ {
133
+ address: "addr1Fwc4rtTcbrhmcq3iqDJZULdyxU8nJmam3Jx6oknhY5Jqm2",
134
+ },
135
+ ];
136
+ const account = {
137
+ pendingOperations: [],
138
+ cardanoResources: {
139
+ utxos: utxos,
140
+ },
141
+ };
142
+ const transaction = {
143
+ mode: "send",
144
+ };
145
+ const status = await (0, getTransactionStatus_1.getTransactionStatus)(account, transaction);
146
+ expect(status.errors).toEqual({});
147
+ });
148
+ });
149
+ //# sourceMappingURL=getTransactionStatus.test.js.map