@ledgerhq/coin-mina 1.3.0-nightly.7 → 1.3.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 (107) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +21 -63
  3. package/lib/api/index.integ.test.d.ts +2 -0
  4. package/lib/api/index.integ.test.d.ts.map +1 -0
  5. package/lib/api/index.integ.test.js +57 -0
  6. package/lib/api/index.integ.test.js.map +1 -0
  7. package/lib/api/rosetta/utils.test.d.ts +2 -0
  8. package/lib/api/rosetta/utils.test.d.ts.map +1 -0
  9. package/lib/api/rosetta/utils.test.js +82 -0
  10. package/lib/api/rosetta/utils.test.js.map +1 -0
  11. package/lib/bridge/broadcast.test.d.ts +2 -0
  12. package/lib/bridge/broadcast.test.d.ts.map +1 -0
  13. package/lib/bridge/broadcast.test.js +36 -0
  14. package/lib/bridge/broadcast.test.js.map +1 -0
  15. package/lib/bridge/buildTransaction.test.d.ts +2 -0
  16. package/lib/bridge/buildTransaction.test.d.ts.map +1 -0
  17. package/lib/bridge/buildTransaction.test.js +57 -0
  18. package/lib/bridge/buildTransaction.test.js.map +1 -0
  19. package/lib/bridge/createTransaction.test.d.ts +2 -0
  20. package/lib/bridge/createTransaction.test.d.ts.map +1 -0
  21. package/lib/bridge/createTransaction.test.js +24 -0
  22. package/lib/bridge/createTransaction.test.js.map +1 -0
  23. package/lib/bridge/getTransactionStatus.test.d.ts +2 -0
  24. package/lib/bridge/getTransactionStatus.test.d.ts.map +1 -0
  25. package/lib/bridge/getTransactionStatus.test.js +138 -0
  26. package/lib/bridge/getTransactionStatus.test.js.map +1 -0
  27. package/lib/bridge/index.test.d.ts +2 -0
  28. package/lib/bridge/index.test.d.ts.map +1 -0
  29. package/lib/bridge/index.test.js +32 -0
  30. package/lib/bridge/index.test.js.map +1 -0
  31. package/lib/bridge/prepareTransaction.test.d.ts +2 -0
  32. package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
  33. package/lib/bridge/prepareTransaction.test.js +43 -0
  34. package/lib/bridge/prepareTransaction.test.js.map +1 -0
  35. package/lib/bridge/signOperation.test.d.ts +2 -0
  36. package/lib/bridge/signOperation.test.d.ts.map +1 -0
  37. package/lib/bridge/signOperation.test.js +129 -0
  38. package/lib/bridge/signOperation.test.js.map +1 -0
  39. package/lib/bridge/synchronisation.test.d.ts +2 -0
  40. package/lib/bridge/synchronisation.test.d.ts.map +1 -0
  41. package/lib/bridge/synchronisation.test.js +164 -0
  42. package/lib/bridge/synchronisation.test.js.map +1 -0
  43. package/lib/common-logic/index.test.d.ts +2 -0
  44. package/lib/common-logic/index.test.d.ts.map +1 -0
  45. package/lib/common-logic/index.test.js +181 -0
  46. package/lib/common-logic/index.test.js.map +1 -0
  47. package/lib/signer/getAddress.test.d.ts +2 -0
  48. package/lib/signer/getAddress.test.d.ts.map +1 -0
  49. package/lib/signer/getAddress.test.js +106 -0
  50. package/lib/signer/getAddress.test.js.map +1 -0
  51. package/lib/test/testUtils.test.d.ts +2 -0
  52. package/lib/test/testUtils.test.d.ts.map +1 -0
  53. package/lib/test/testUtils.test.js +11 -0
  54. package/lib/test/testUtils.test.js.map +1 -0
  55. package/lib-es/api/index.integ.test.d.ts +2 -0
  56. package/lib-es/api/index.integ.test.d.ts.map +1 -0
  57. package/lib-es/api/index.integ.test.js +55 -0
  58. package/lib-es/api/index.integ.test.js.map +1 -0
  59. package/lib-es/api/rosetta/utils.test.d.ts +2 -0
  60. package/lib-es/api/rosetta/utils.test.d.ts.map +1 -0
  61. package/lib-es/api/rosetta/utils.test.js +80 -0
  62. package/lib-es/api/rosetta/utils.test.js.map +1 -0
  63. package/lib-es/bridge/broadcast.test.d.ts +2 -0
  64. package/lib-es/bridge/broadcast.test.d.ts.map +1 -0
  65. package/lib-es/bridge/broadcast.test.js +31 -0
  66. package/lib-es/bridge/broadcast.test.js.map +1 -0
  67. package/lib-es/bridge/buildTransaction.test.d.ts +2 -0
  68. package/lib-es/bridge/buildTransaction.test.d.ts.map +1 -0
  69. package/lib-es/bridge/buildTransaction.test.js +55 -0
  70. package/lib-es/bridge/buildTransaction.test.js.map +1 -0
  71. package/lib-es/bridge/createTransaction.test.d.ts +2 -0
  72. package/lib-es/bridge/createTransaction.test.d.ts.map +1 -0
  73. package/lib-es/bridge/createTransaction.test.js +19 -0
  74. package/lib-es/bridge/createTransaction.test.js.map +1 -0
  75. package/lib-es/bridge/getTransactionStatus.test.d.ts +2 -0
  76. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +1 -0
  77. package/lib-es/bridge/getTransactionStatus.test.js +133 -0
  78. package/lib-es/bridge/getTransactionStatus.test.js.map +1 -0
  79. package/lib-es/bridge/index.test.d.ts +2 -0
  80. package/lib-es/bridge/index.test.d.ts.map +1 -0
  81. package/lib-es/bridge/index.test.js +30 -0
  82. package/lib-es/bridge/index.test.js.map +1 -0
  83. package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
  84. package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
  85. package/lib-es/bridge/prepareTransaction.test.js +38 -0
  86. package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
  87. package/lib-es/bridge/signOperation.test.d.ts +2 -0
  88. package/lib-es/bridge/signOperation.test.d.ts.map +1 -0
  89. package/lib-es/bridge/signOperation.test.js +127 -0
  90. package/lib-es/bridge/signOperation.test.js.map +1 -0
  91. package/lib-es/bridge/synchronisation.test.d.ts +2 -0
  92. package/lib-es/bridge/synchronisation.test.d.ts.map +1 -0
  93. package/lib-es/bridge/synchronisation.test.js +159 -0
  94. package/lib-es/bridge/synchronisation.test.js.map +1 -0
  95. package/lib-es/common-logic/index.test.d.ts +2 -0
  96. package/lib-es/common-logic/index.test.d.ts.map +1 -0
  97. package/lib-es/common-logic/index.test.js +179 -0
  98. package/lib-es/common-logic/index.test.js.map +1 -0
  99. package/lib-es/signer/getAddress.test.d.ts +2 -0
  100. package/lib-es/signer/getAddress.test.d.ts.map +1 -0
  101. package/lib-es/signer/getAddress.test.js +101 -0
  102. package/lib-es/signer/getAddress.test.js.map +1 -0
  103. package/lib-es/test/testUtils.test.d.ts +2 -0
  104. package/lib-es/test/testUtils.test.d.ts.map +1 -0
  105. package/lib-es/test/testUtils.test.js +9 -0
  106. package/lib-es/test/testUtils.test.js.map +1 -0
  107. package/package.json +8 -8
@@ -0,0 +1,101 @@
1
+ import resolver from "./getAddress";
2
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/lib/currencies";
3
+ describe("Mina getAddress resolver", () => {
4
+ // Mock the signer context
5
+ const mockSigner = {
6
+ getAddress: jest.fn(),
7
+ signTransaction: jest.fn(),
8
+ };
9
+ const commonOptions = {
10
+ currency: getCryptoCurrencyById("mina"),
11
+ derivationMode: "minabip44",
12
+ };
13
+ const mockSignerContext = jest.fn(async (deviceId, callback) => {
14
+ return callback(mockSigner);
15
+ });
16
+ beforeEach(() => {
17
+ jest.clearAllMocks();
18
+ });
19
+ it("should call the signer with the correct account number", async () => {
20
+ const options = {
21
+ ...commonOptions,
22
+ path: "44'/12586'/0'/0/0",
23
+ verify: false,
24
+ };
25
+ // Mock response from signer
26
+ mockSigner.getAddress.mockResolvedValue({
27
+ publicKey: "testPublicKey123",
28
+ });
29
+ const getAddress = resolver(mockSignerContext);
30
+ await getAddress("device1", options);
31
+ expect(mockSigner.getAddress).toHaveBeenCalledWith(0, false);
32
+ });
33
+ it("should pass the verify flag correctly", async () => {
34
+ const options = {
35
+ path: "44'/12586'/2'/0/0",
36
+ verify: true,
37
+ ...commonOptions,
38
+ };
39
+ // Mock response from signer
40
+ mockSigner.getAddress.mockResolvedValue({
41
+ publicKey: "testPublicKey456",
42
+ });
43
+ const getAddress = resolver(mockSignerContext);
44
+ await getAddress("device1", options);
45
+ expect(mockSigner.getAddress).toHaveBeenCalledWith(2, true);
46
+ });
47
+ it("should default to verify=false when not provided", async () => {
48
+ const options = {
49
+ path: "44'/12586'/1'/0/0",
50
+ ...commonOptions,
51
+ };
52
+ // Mock response from signer
53
+ mockSigner.getAddress.mockResolvedValue({
54
+ publicKey: "testPublicKey789",
55
+ });
56
+ const getAddress = resolver(mockSignerContext);
57
+ await getAddress("device1", options);
58
+ expect(mockSigner.getAddress).toHaveBeenCalledWith(1, false);
59
+ });
60
+ it("should return the correct address format", async () => {
61
+ const options = {
62
+ path: "44'/12586'/3'/0/0",
63
+ ...commonOptions,
64
+ };
65
+ const expectedPublicKey = "minaPublicKeyABC123";
66
+ // Mock response from signer
67
+ mockSigner.getAddress.mockResolvedValue({
68
+ publicKey: expectedPublicKey,
69
+ });
70
+ const getAddress = resolver(mockSignerContext);
71
+ const result = await getAddress("device1", options);
72
+ expect(result).toEqual({
73
+ address: expectedPublicKey,
74
+ publicKey: expectedPublicKey,
75
+ path: options.path,
76
+ });
77
+ });
78
+ it("should throw an error for invalid path", async () => {
79
+ const options = {
80
+ path: "44'/789'/0'/0/0", // Invalid coin type for Mina
81
+ verify: false,
82
+ ...commonOptions,
83
+ };
84
+ const getAddress = resolver(mockSignerContext);
85
+ await expect(getAddress("device1", options)).rejects.toThrow();
86
+ });
87
+ it("should throw an error when publicKey is undefined", async () => {
88
+ const options = {
89
+ path: "44'/12586'/0'/0/0",
90
+ verify: false,
91
+ ...commonOptions,
92
+ };
93
+ // Mock response from signer with undefined publicKey
94
+ mockSigner.getAddress.mockResolvedValue({
95
+ publicKey: undefined,
96
+ });
97
+ const getAddress = resolver(mockSignerContext);
98
+ await expect(getAddress("device1", options)).rejects.toThrow("[mina] getAddress: expected publicKey to be defined");
99
+ });
100
+ });
101
+ //# sourceMappingURL=getAddress.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddress.test.js","sourceRoot":"","sources":["../../src/signer/getAddress.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=testUtils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.test.d.ts","sourceRoot":"","sources":["../../src/test/testUtils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { getRandomTransferID } from "./testUtils";
2
+ describe("testUtils", () => {
3
+ it("getRandomTransferID", () => {
4
+ const id = getRandomTransferID();
5
+ expect(id).toBeDefined();
6
+ expect(id.length).toBeGreaterThan(0);
7
+ });
8
+ });
9
+ //# sourceMappingURL=testUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.test.js","sourceRoot":"","sources":["../../src/test/testUtils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;QACjC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-mina",
3
- "version": "1.3.0-nightly.7",
3
+ "version": "1.3.0",
4
4
  "description": "Mina Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -108,14 +108,14 @@
108
108
  "invariant": "^2.2.2",
109
109
  "lodash": "^4.17.21",
110
110
  "rxjs": "^7.8.1",
111
- "@ledgerhq/coin-framework": "^6.7.0-nightly.7",
112
- "@ledgerhq/cryptoassets": "^13.31.0-nightly.7",
113
- "@ledgerhq/devices": "8.6.2-nightly.0",
114
- "@ledgerhq/errors": "^6.27.0-nightly.0",
115
- "@ledgerhq/live-network": "^2.0.20-nightly.3",
111
+ "@ledgerhq/coin-framework": "^6.7.0",
112
+ "@ledgerhq/cryptoassets": "^13.31.0",
113
+ "@ledgerhq/devices": "8.6.1",
114
+ "@ledgerhq/errors": "^6.26.0",
115
+ "@ledgerhq/live-network": "^2.0.20",
116
116
  "@ledgerhq/logs": "^6.13.0",
117
- "@ledgerhq/types-cryptoassets": "^7.29.0-nightly.0",
118
- "@ledgerhq/types-live": "^6.87.0-nightly.5"
117
+ "@ledgerhq/types-cryptoassets": "^7.29.0",
118
+ "@ledgerhq/types-live": "^6.87.0"
119
119
  },
120
120
  "devDependencies": {
121
121
  "@types/bs58check": "^2.1.2",