@ledgerhq/coin-solana 0.35.0-nightly.6 → 0.35.0-nightly.7

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 (167) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/lib/network/chain/account/parser.d.ts +1 -1
  4. package/lib/network/chain/account/stake.d.ts +23 -23
  5. package/lib/network/chain/account/token.d.ts +7 -7
  6. package/lib/network/chain/instruction/stake/types.d.ts +8 -8
  7. package/lib/network/chain/instruction/system/types.d.ts +10 -10
  8. package/lib-es/network/chain/account/parser.d.ts +1 -1
  9. package/lib-es/network/chain/account/stake.d.ts +23 -23
  10. package/lib-es/network/chain/account/token.d.ts +7 -7
  11. package/lib-es/network/chain/instruction/stake/types.d.ts +8 -8
  12. package/lib-es/network/chain/instruction/system/types.d.ts +10 -10
  13. package/package.json +6 -6
  14. package/lib/__fixtures__/solana-spl-epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v.json +0 -50
  15. package/lib/__tests__/fixtures/helpers.fixture.d.ts +0 -138
  16. package/lib/__tests__/fixtures/helpers.fixture.d.ts.map +0 -1
  17. package/lib/__tests__/fixtures/helpers.fixture.js +0 -124
  18. package/lib/__tests__/fixtures/helpers.fixture.js.map +0 -1
  19. package/lib/__tests__/scan-accounts.test.d.ts +0 -2
  20. package/lib/__tests__/scan-accounts.test.d.ts.map +0 -1
  21. package/lib/__tests__/scan-accounts.test.js +0 -426
  22. package/lib/__tests__/scan-accounts.test.js.map +0 -1
  23. package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts +0 -2
  24. package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts.map +0 -1
  25. package/lib/__tests__/unit/hw-signMessage.unit.test.js +0 -91
  26. package/lib/__tests__/unit/hw-signMessage.unit.test.js.map +0 -1
  27. package/lib/__tests__/unit/nftResolvers.unit.test.d.ts +0 -2
  28. package/lib/__tests__/unit/nftResolvers.unit.test.d.ts.map +0 -1
  29. package/lib/__tests__/unit/nftResolvers.unit.test.js +0 -147
  30. package/lib/__tests__/unit/nftResolvers.unit.test.js.map +0 -1
  31. package/lib/__tests__/unit/utils.unit.test.d.ts +0 -2
  32. package/lib/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  33. package/lib/__tests__/unit/utils.unit.test.js +0 -16
  34. package/lib/__tests__/unit/utils.unit.test.js.map +0 -1
  35. package/lib/__tests__/unit/validator-app.unit.test.d.ts +0 -2
  36. package/lib/__tests__/unit/validator-app.unit.test.d.ts.map +0 -1
  37. package/lib/__tests__/unit/validator-app.unit.test.js +0 -169
  38. package/lib/__tests__/unit/validator-app.unit.test.js.map +0 -1
  39. package/lib/bridge.integration.test.d.ts +0 -4
  40. package/lib/bridge.integration.test.d.ts.map +0 -1
  41. package/lib/bridge.integration.test.js +0 -870
  42. package/lib/bridge.integration.test.js.map +0 -1
  43. package/lib/buildTransaction.test.d.ts +0 -2
  44. package/lib/buildTransaction.test.d.ts.map +0 -1
  45. package/lib/buildTransaction.test.js +0 -164
  46. package/lib/buildTransaction.test.js.map +0 -1
  47. package/lib/cryptoAssetsStore.test.d.ts +0 -2
  48. package/lib/cryptoAssetsStore.test.d.ts.map +0 -1
  49. package/lib/cryptoAssetsStore.test.js +0 -15
  50. package/lib/cryptoAssetsStore.test.js.map +0 -1
  51. package/lib/network/chain/web3.integration.test.d.ts +0 -2
  52. package/lib/network/chain/web3.integration.test.d.ts.map +0 -1
  53. package/lib/network/chain/web3.integration.test.js +0 -70
  54. package/lib/network/chain/web3.integration.test.js.map +0 -1
  55. package/lib/offchainMessage/format.unit.test.d.ts +0 -2
  56. package/lib/offchainMessage/format.unit.test.d.ts.map +0 -1
  57. package/lib/offchainMessage/format.unit.test.js +0 -124
  58. package/lib/offchainMessage/format.unit.test.js.map +0 -1
  59. package/lib/preload.test.d.ts +0 -2
  60. package/lib/preload.test.d.ts.map +0 -1
  61. package/lib/preload.test.js +0 -9
  62. package/lib/preload.test.js.map +0 -1
  63. package/lib/prepareTransaction.test.d.ts +0 -2
  64. package/lib/prepareTransaction.test.d.ts.map +0 -1
  65. package/lib/prepareTransaction.test.js +0 -139
  66. package/lib/prepareTransaction.test.js.map +0 -1
  67. package/lib/signOperation.test.d.ts +0 -3
  68. package/lib/signOperation.test.d.ts.map +0 -1
  69. package/lib/signOperation.test.js +0 -139
  70. package/lib/signOperation.test.js.map +0 -1
  71. package/lib/tests/preload.fixtures.d.ts +0 -5
  72. package/lib/tests/preload.fixtures.d.ts.map +0 -1
  73. package/lib/tests/preload.fixtures.js +0 -28
  74. package/lib/tests/preload.fixtures.js.map +0 -1
  75. package/lib/tests/preload.unit.test.d.ts +0 -2
  76. package/lib/tests/preload.unit.test.d.ts.map +0 -1
  77. package/lib/tests/preload.unit.test.js +0 -175
  78. package/lib/tests/preload.unit.test.js.map +0 -1
  79. package/lib/tests/stakes-bridge.unit.test.d.ts +0 -2
  80. package/lib/tests/stakes-bridge.unit.test.d.ts.map +0 -1
  81. package/lib/tests/stakes-bridge.unit.test.js +0 -166
  82. package/lib/tests/stakes-bridge.unit.test.js.map +0 -1
  83. package/lib/tests/test-onchain-data.fixture.d.ts +0 -20
  84. package/lib/tests/test-onchain-data.fixture.d.ts.map +0 -1
  85. package/lib/tests/test-onchain-data.fixture.js +0 -34
  86. package/lib/tests/test-onchain-data.fixture.js.map +0 -1
  87. package/lib/tests/tokens-bridge.unit.test.d.ts +0 -2
  88. package/lib/tests/tokens-bridge.unit.test.d.ts.map +0 -1
  89. package/lib/tests/tokens-bridge.unit.test.js +0 -615
  90. package/lib/tests/tokens-bridge.unit.test.js.map +0 -1
  91. package/lib-es/__fixtures__/solana-spl-epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v.json +0 -50
  92. package/lib-es/__tests__/fixtures/helpers.fixture.d.ts +0 -138
  93. package/lib-es/__tests__/fixtures/helpers.fixture.d.ts.map +0 -1
  94. package/lib-es/__tests__/fixtures/helpers.fixture.js +0 -110
  95. package/lib-es/__tests__/fixtures/helpers.fixture.js.map +0 -1
  96. package/lib-es/__tests__/scan-accounts.test.d.ts +0 -2
  97. package/lib-es/__tests__/scan-accounts.test.d.ts.map +0 -1
  98. package/lib-es/__tests__/scan-accounts.test.js +0 -398
  99. package/lib-es/__tests__/scan-accounts.test.js.map +0 -1
  100. package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts +0 -2
  101. package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts.map +0 -1
  102. package/lib-es/__tests__/unit/hw-signMessage.unit.test.js +0 -86
  103. package/lib-es/__tests__/unit/hw-signMessage.unit.test.js.map +0 -1
  104. package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts +0 -2
  105. package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts.map +0 -1
  106. package/lib-es/__tests__/unit/nftResolvers.unit.test.js +0 -142
  107. package/lib-es/__tests__/unit/nftResolvers.unit.test.js.map +0 -1
  108. package/lib-es/__tests__/unit/utils.unit.test.d.ts +0 -2
  109. package/lib-es/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  110. package/lib-es/__tests__/unit/utils.unit.test.js +0 -14
  111. package/lib-es/__tests__/unit/utils.unit.test.js.map +0 -1
  112. package/lib-es/__tests__/unit/validator-app.unit.test.d.ts +0 -2
  113. package/lib-es/__tests__/unit/validator-app.unit.test.d.ts.map +0 -1
  114. package/lib-es/__tests__/unit/validator-app.unit.test.js +0 -144
  115. package/lib-es/__tests__/unit/validator-app.unit.test.js.map +0 -1
  116. package/lib-es/bridge.integration.test.d.ts +0 -4
  117. package/lib-es/bridge.integration.test.d.ts.map +0 -1
  118. package/lib-es/bridge.integration.test.js +0 -864
  119. package/lib-es/bridge.integration.test.js.map +0 -1
  120. package/lib-es/buildTransaction.test.d.ts +0 -2
  121. package/lib-es/buildTransaction.test.d.ts.map +0 -1
  122. package/lib-es/buildTransaction.test.js +0 -162
  123. package/lib-es/buildTransaction.test.js.map +0 -1
  124. package/lib-es/cryptoAssetsStore.test.d.ts +0 -2
  125. package/lib-es/cryptoAssetsStore.test.d.ts.map +0 -1
  126. package/lib-es/cryptoAssetsStore.test.js +0 -13
  127. package/lib-es/cryptoAssetsStore.test.js.map +0 -1
  128. package/lib-es/network/chain/web3.integration.test.d.ts +0 -2
  129. package/lib-es/network/chain/web3.integration.test.d.ts.map +0 -1
  130. package/lib-es/network/chain/web3.integration.test.js +0 -68
  131. package/lib-es/network/chain/web3.integration.test.js.map +0 -1
  132. package/lib-es/offchainMessage/format.unit.test.d.ts +0 -2
  133. package/lib-es/offchainMessage/format.unit.test.d.ts.map +0 -1
  134. package/lib-es/offchainMessage/format.unit.test.js +0 -122
  135. package/lib-es/offchainMessage/format.unit.test.js.map +0 -1
  136. package/lib-es/preload.test.d.ts +0 -2
  137. package/lib-es/preload.test.d.ts.map +0 -1
  138. package/lib-es/preload.test.js +0 -7
  139. package/lib-es/preload.test.js.map +0 -1
  140. package/lib-es/prepareTransaction.test.d.ts +0 -2
  141. package/lib-es/prepareTransaction.test.d.ts.map +0 -1
  142. package/lib-es/prepareTransaction.test.js +0 -134
  143. package/lib-es/prepareTransaction.test.js.map +0 -1
  144. package/lib-es/signOperation.test.d.ts +0 -3
  145. package/lib-es/signOperation.test.d.ts.map +0 -1
  146. package/lib-es/signOperation.test.js +0 -135
  147. package/lib-es/signOperation.test.js.map +0 -1
  148. package/lib-es/tests/preload.fixtures.d.ts +0 -5
  149. package/lib-es/tests/preload.fixtures.d.ts.map +0 -1
  150. package/lib-es/tests/preload.fixtures.js +0 -25
  151. package/lib-es/tests/preload.fixtures.js.map +0 -1
  152. package/lib-es/tests/preload.unit.test.d.ts +0 -2
  153. package/lib-es/tests/preload.unit.test.d.ts.map +0 -1
  154. package/lib-es/tests/preload.unit.test.js +0 -147
  155. package/lib-es/tests/preload.unit.test.js.map +0 -1
  156. package/lib-es/tests/stakes-bridge.unit.test.d.ts +0 -2
  157. package/lib-es/tests/stakes-bridge.unit.test.d.ts.map +0 -1
  158. package/lib-es/tests/stakes-bridge.unit.test.js +0 -161
  159. package/lib-es/tests/stakes-bridge.unit.test.js.map +0 -1
  160. package/lib-es/tests/test-onchain-data.fixture.d.ts +0 -20
  161. package/lib-es/tests/test-onchain-data.fixture.d.ts.map +0 -1
  162. package/lib-es/tests/test-onchain-data.fixture.js +0 -28
  163. package/lib-es/tests/test-onchain-data.fixture.js.map +0 -1
  164. package/lib-es/tests/tokens-bridge.unit.test.d.ts +0 -2
  165. package/lib-es/tests/tokens-bridge.unit.test.d.ts.map +0 -1
  166. package/lib-es/tests/tokens-bridge.unit.test.js +0 -610
  167. package/lib-es/tests/tokens-bridge.unit.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.integration.test.js","sourceRoot":"","sources":["../src/bridge.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=buildTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTransaction.test.d.ts","sourceRoot":"","sources":["../src/buildTransaction.test.ts"],"names":[],"mappings":""}
@@ -1,162 +0,0 @@
1
- import { PublicKey, VersionedTransaction, } from "@solana/web3.js";
2
- import { buildTransactionWithAPI } from "./buildTransaction";
3
- import { transaction } from "./__tests__/fixtures/helpers.fixture";
4
- import { DUMMY_SIGNATURE } from "./utils";
5
- // Mock VersionedTransaction
6
- const mockAddSignature = jest.fn();
7
- const mockSerialize = jest.fn().mockReturnValue(new Uint8Array([1, 2, 3]));
8
- let spiedDeserialize = undefined;
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
- function setDeserialize(tx) {
11
- return jest.spyOn(VersionedTransaction, "deserialize").mockReturnValue(tx);
12
- }
13
- describe("Testing buildTransaction", () => {
14
- const ADDRESS = "Hj69wRzkrFuf1Nby4yzPEFHdsmQdMoVYjvDKZSLjZFEp";
15
- const BLOCKHASH = "DJRuRgQP3BeBNH8WVdF9cppBDj7pQNiVr4ZDnqupRtTC";
16
- const LAST_VALID_BLOCK_HEIGHT = 1;
17
- const SIGNATURE = Buffer.from("any random value");
18
- const OLD_BLOCKHASH = "8RgQBB8zzKkv4iuHMo5F9Ku3rRDGjXbQxd1FgiFzqQ97";
19
- const VALID_SIGNATURE = Buffer.from("validSignatureData12345678901234567890123456789012345678901234567890123456789012345678901234567890");
20
- const createMockVersionedTransaction = () => ({
21
- signatures: [DUMMY_SIGNATURE],
22
- message: {
23
- recentBlockhash: BLOCKHASH,
24
- },
25
- addSignature: mockAddSignature,
26
- serialize: mockSerialize,
27
- });
28
- afterEach(() => {
29
- spiedDeserialize?.mockReset();
30
- jest.clearAllMocks();
31
- });
32
- it("should decode raw transaction and use it when user provide it", async () => {
33
- const expectedSolanaTransaction = createMockVersionedTransaction();
34
- spiedDeserialize = setDeserialize(expectedSolanaTransaction);
35
- const rawTransaction = transaction({ raw: "test" });
36
- const [solanaTransaction, recentBlockhash, addSignatureCallback] = await buildTransactionWithAPI(ADDRESS, rawTransaction, api(BLOCKHASH, LAST_VALID_BLOCK_HEIGHT));
37
- expect(solanaTransaction).toEqual(expectedSolanaTransaction);
38
- expect(recentBlockhash).toEqual(expect.objectContaining({
39
- blockhash: BLOCKHASH,
40
- lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT,
41
- }));
42
- addSignatureCallback(SIGNATURE);
43
- expect(mockAddSignature).toHaveBeenCalledTimes(1);
44
- expect(mockAddSignature).toHaveBeenCalledWith(new PublicKey(ADDRESS), SIGNATURE);
45
- expect(spiedDeserialize).toHaveBeenCalledTimes(1);
46
- expect(spiedDeserialize).toHaveBeenCalledWith(Buffer.from(rawTransaction.raw, "base64"));
47
- });
48
- it("should build the transaction when user does not provide raw", async () => {
49
- spiedDeserialize = setDeserialize(createMockVersionedTransaction());
50
- const nonRawTransaction = transaction();
51
- const [solanaTransaction, recentBlockhash, addSignatureCallback] = await buildTransactionWithAPI(ADDRESS, nonRawTransaction, api(BLOCKHASH, LAST_VALID_BLOCK_HEIGHT));
52
- expect(recentBlockhash).toEqual(expect.objectContaining({
53
- blockhash: BLOCKHASH,
54
- lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT,
55
- }));
56
- solanaTransaction.addSignature = jest.fn();
57
- addSignatureCallback(SIGNATURE);
58
- expect(solanaTransaction.addSignature).toHaveBeenCalledTimes(1);
59
- expect(solanaTransaction.addSignature).toHaveBeenCalledWith(new PublicKey(ADDRESS), SIGNATURE);
60
- expect(spiedDeserialize).toHaveBeenCalledTimes(0);
61
- });
62
- it("should update blockhash for raw transaction with different blockhash when only dummy signatures are present", async () => {
63
- const expectedSolanaTransaction = createMockVersionedTransaction();
64
- // Set the transaction to have a different blockhash initially
65
- expectedSolanaTransaction.message.recentBlockhash = OLD_BLOCKHASH;
66
- // Ensure only dummy signatures are present
67
- expectedSolanaTransaction.signatures = [DUMMY_SIGNATURE];
68
- spiedDeserialize = setDeserialize(expectedSolanaTransaction);
69
- const rawTransaction = transaction({ raw: "test" });
70
- const [solanaTransaction, recentBlockhash, addSignatureCallback] = await buildTransactionWithAPI(ADDRESS, rawTransaction, api(BLOCKHASH, LAST_VALID_BLOCK_HEIGHT));
71
- // The blockhash should be updated to the fresh one from the API
72
- expect(solanaTransaction.message.recentBlockhash).toBe(BLOCKHASH);
73
- expect(recentBlockhash).toEqual(expect.objectContaining({
74
- blockhash: BLOCKHASH,
75
- lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT,
76
- }));
77
- addSignatureCallback(SIGNATURE);
78
- expect(mockAddSignature).toHaveBeenCalledTimes(1);
79
- expect(mockAddSignature).toHaveBeenCalledWith(new PublicKey(ADDRESS), SIGNATURE);
80
- expect(spiedDeserialize).toHaveBeenCalledTimes(1);
81
- expect(spiedDeserialize).toHaveBeenCalledWith(Buffer.from(rawTransaction.raw, "base64"));
82
- });
83
- it("should NOT update blockhash for raw transaction with different blockhash when valid signatures are present", async () => {
84
- const expectedSolanaTransaction = createMockVersionedTransaction();
85
- // Set the transaction to have a different blockhash initially
86
- expectedSolanaTransaction.message.recentBlockhash = OLD_BLOCKHASH;
87
- // Set a valid (non-dummy) signature
88
- expectedSolanaTransaction.signatures = [VALID_SIGNATURE];
89
- spiedDeserialize = setDeserialize(expectedSolanaTransaction);
90
- const rawTransaction = transaction({ raw: "test" });
91
- const [solanaTransaction, recentBlockhash, addSignatureCallback] = await buildTransactionWithAPI(ADDRESS, rawTransaction, api(BLOCKHASH, LAST_VALID_BLOCK_HEIGHT));
92
- // The blockhash should remain unchanged because there's a valid signature
93
- expect(solanaTransaction.message.recentBlockhash).toBe(OLD_BLOCKHASH);
94
- expect(recentBlockhash).toEqual(expect.objectContaining({
95
- blockhash: BLOCKHASH,
96
- lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT,
97
- }));
98
- addSignatureCallback(SIGNATURE);
99
- expect(mockAddSignature).toHaveBeenCalledTimes(1);
100
- expect(mockAddSignature).toHaveBeenCalledWith(new PublicKey(ADDRESS), SIGNATURE);
101
- expect(spiedDeserialize).toHaveBeenCalledTimes(1);
102
- expect(spiedDeserialize).toHaveBeenCalledWith(Buffer.from(rawTransaction.raw, "base64"));
103
- });
104
- it("should NOT update blockhash for raw transaction when mix of dummy and valid signatures are present", async () => {
105
- const expectedSolanaTransaction = createMockVersionedTransaction();
106
- // Set the transaction to have a different blockhash initially
107
- expectedSolanaTransaction.message.recentBlockhash = OLD_BLOCKHASH;
108
- // Set a mix of dummy and valid signatures (multisig scenario)
109
- expectedSolanaTransaction.signatures = [DUMMY_SIGNATURE, VALID_SIGNATURE];
110
- spiedDeserialize = setDeserialize(expectedSolanaTransaction);
111
- const rawTransaction = transaction({ raw: "test" });
112
- const [solanaTransaction, recentBlockhash, addSignatureCallback] = await buildTransactionWithAPI(ADDRESS, rawTransaction, api(BLOCKHASH, LAST_VALID_BLOCK_HEIGHT));
113
- // The blockhash should remain unchanged because there's at least one valid signature
114
- expect(solanaTransaction.message.recentBlockhash).toBe(OLD_BLOCKHASH);
115
- expect(recentBlockhash).toEqual(expect.objectContaining({
116
- blockhash: BLOCKHASH,
117
- lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT,
118
- }));
119
- addSignatureCallback(SIGNATURE);
120
- expect(mockAddSignature).toHaveBeenCalledTimes(1);
121
- expect(mockAddSignature).toHaveBeenCalledWith(new PublicKey(ADDRESS), SIGNATURE);
122
- expect(spiedDeserialize).toHaveBeenCalledTimes(1);
123
- expect(spiedDeserialize).toHaveBeenCalledWith(Buffer.from(rawTransaction.raw, "base64"));
124
- });
125
- it("should update blockhash for raw transaction when all signatures are dummy (multiple dummy signatures)", async () => {
126
- const expectedSolanaTransaction = createMockVersionedTransaction();
127
- // Set the transaction to have a different blockhash initially
128
- expectedSolanaTransaction.message.recentBlockhash = OLD_BLOCKHASH;
129
- // Set multiple dummy signatures (multisig scenario with all dummy)
130
- expectedSolanaTransaction.signatures = [DUMMY_SIGNATURE, DUMMY_SIGNATURE, DUMMY_SIGNATURE];
131
- spiedDeserialize = setDeserialize(expectedSolanaTransaction);
132
- const rawTransaction = transaction({ raw: "test" });
133
- const [solanaTransaction, recentBlockhash, addSignatureCallback] = await buildTransactionWithAPI(ADDRESS, rawTransaction, api(BLOCKHASH, LAST_VALID_BLOCK_HEIGHT));
134
- // The blockhash should be updated because all signatures are dummy
135
- expect(solanaTransaction.message.recentBlockhash).toBe(BLOCKHASH);
136
- expect(recentBlockhash).toEqual(expect.objectContaining({
137
- blockhash: BLOCKHASH,
138
- lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT,
139
- }));
140
- addSignatureCallback(SIGNATURE);
141
- expect(mockAddSignature).toHaveBeenCalledTimes(1);
142
- expect(mockAddSignature).toHaveBeenCalledWith(new PublicKey(ADDRESS), SIGNATURE);
143
- expect(spiedDeserialize).toHaveBeenCalledTimes(1);
144
- expect(spiedDeserialize).toHaveBeenCalledWith(Buffer.from(rawTransaction.raw, "base64"));
145
- });
146
- });
147
- function api(blockhash, lastValidBlockHeight) {
148
- const mockBlockhash = {
149
- blockhash: blockhash,
150
- lastValidBlockHeight: lastValidBlockHeight,
151
- };
152
- const mockRecentPrioritizationFees = [];
153
- // Create a mock ChainAPI with only the methods we need
154
- const mockChainApi = {
155
- getLatestBlockhash: jest.fn().mockResolvedValue(mockBlockhash),
156
- getSimulationComputeUnits: jest.fn().mockResolvedValue(null),
157
- getRecentPrioritizationFees: jest.fn().mockResolvedValue(mockRecentPrioritizationFees),
158
- };
159
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
160
- return mockChainApi;
161
- }
162
- //# sourceMappingURL=buildTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTransaction.test.js","sourceRoot":"","sources":["../src/buildTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cryptoAssetsStore.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cryptoAssetsStore.test.d.ts","sourceRoot":"","sources":["../src/cryptoAssetsStore.test.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { CRYPTO_ASSETS_STORE_NO_SET_ERROR_MESSAGE, getCryptoAssetsStore, setCryptoAssetsStoreGetter, } from "./cryptoAssetsStore";
2
- describe("cryptoAssetsStore", () => {
3
- it("should throw an error when CryptoAssetsStoreGetter is not set", () => {
4
- expect(() => getCryptoAssetsStore()).toThrow(CRYPTO_ASSETS_STORE_NO_SET_ERROR_MESSAGE);
5
- });
6
- it("should return the CryptoAssetsStoreGetter set", () => {
7
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
8
- const store = {};
9
- setCryptoAssetsStoreGetter(() => store);
10
- expect(getCryptoAssetsStore()).toEqual(store);
11
- });
12
- });
13
- //# sourceMappingURL=cryptoAssetsStore.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cryptoAssetsStore.test.js","sourceRoot":"","sources":["../src/cryptoAssetsStore.test.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wCAAwC,EACxC,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,yEAAyE;QACzE,MAAM,KAAK,GAAG,EAAuB,CAAC;QACtC,0BAA0B,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=web3.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web3.integration.test.d.ts","sourceRoot":"","sources":["../../../src/network/chain/web3.integration.test.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- import { create } from "superstruct";
2
- import { getChainAPI } from ".";
3
- import { PARSED_PROGRAMS } from "./program/constants";
4
- import { PublicKeyFromString } from "./validators/pubkey";
5
- import { getMaybeTokenAccount } from "./web3";
6
- const api = getChainAPI({
7
- endpoint: "https://solana.coin.ledger.com",
8
- });
9
- const usdcMintAddress = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"; // USDC Mint address
10
- const usdtMintAddress = "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"; // USDT Mint address
11
- const account1 = {
12
- solAccountAddress: "7VHUFJHWu2CuExkJcJrzhQPJ2oygupTWkL2A2For4BmE", // Circle account address
13
- tokenAccountAddress: "3emsAVdmGKERbHjmGfQ6oZ1e35dkf5iYcS6U4CPKFVaa", // Token account owning the supply for Circle
14
- ataAddress: "4kokFKCFMxpCpG41yLYkLEqXW8g1WPfCt2NC9KGivY6N", // Computed ATA address, which is not used to own USDC. Thus the account exists, it has a balance too weak.
15
- };
16
- const account2 = {
17
- solAccountAddress: "HYe4vSaEGqQKnDrxWDrk3o5H2gznv7qtij5G6NNG8WHd",
18
- ataAddress: "HMhsfjwxHcgvfKJatsbhPxhPFKWYPbPUd8FUAGQ79RJ2",
19
- };
20
- describe("getMaybeTokenAccount", () => {
21
- it.each([
22
- {
23
- address: account1.tokenAccountAddress,
24
- mint: usdcMintAddress,
25
- owner: account1.solAccountAddress,
26
- },
27
- {
28
- address: account2.ataAddress,
29
- mint: usdtMintAddress,
30
- owner: account2.solAccountAddress,
31
- },
32
- ])("returns account info", async ({ address, mint, owner }) => {
33
- const accountInfo = await getMaybeTokenAccount(address, api);
34
- expect(accountInfo).toEqual({
35
- isNative: false,
36
- mint: create(mint, PublicKeyFromString),
37
- owner: create(owner, PublicKeyFromString),
38
- state: "initialized",
39
- tokenAmount: expect.objectContaining({
40
- decimals: 6,
41
- }),
42
- });
43
- });
44
- it("returns account info", async () => {
45
- const address = account2.solAccountAddress;
46
- const accountInfo = await getMaybeTokenAccount(address, api);
47
- expect(accountInfo).toBeUndefined();
48
- });
49
- });
50
- describe("findTokenAccAddress", () => {
51
- it.each([
52
- {
53
- // address: account1.tokenAccountAddress, // Token Address --> real one onchain
54
- address: account1.ataAddress, // ATA Address --> doesn't exist onchain
55
- mint: usdcMintAddress,
56
- owner: account1.solAccountAddress,
57
- },
58
- {
59
- address: account2.ataAddress,
60
- mint: usdtMintAddress,
61
- owner: account2.solAccountAddress,
62
- },
63
- ])("returns the expected ATA address", async ({ address, mint, owner }) => {
64
- const ata = await api.findAssocTokenAccAddress(owner, mint, PARSED_PROGRAMS.SPL_TOKEN);
65
- expect(ata).toEqual(address);
66
- });
67
- });
68
- //# sourceMappingURL=web3.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web3.integration.test.js","sourceRoot":"","sources":["../../../src/network/chain/web3.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,GAAG,GAAG,WAAW,CAAC;IACtB,QAAQ,EAAE,gCAAgC;CAC3C,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,8CAA8C,CAAC,CAAC,oBAAoB;AAC5F,MAAM,eAAe,GAAG,8CAA8C,CAAC,CAAC,oBAAoB;AAC5F,MAAM,QAAQ,GAAG;IACf,iBAAiB,EAAE,8CAA8C,EAAE,yBAAyB;IAC5F,mBAAmB,EAAE,8CAA8C,EAAE,6CAA6C;IAClH,UAAU,EAAE,8CAA8C,EAAE,2GAA2G;CACxK,CAAC;AACF,MAAM,QAAQ,GAAG;IACf,iBAAiB,EAAE,8CAA8C;IACjE,UAAU,EAAE,8CAA8C;CAC3D,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,IAAI,CAAC;QACN;YACE,OAAO,EAAE,QAAQ,CAAC,mBAAmB;YACrC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,QAAQ,CAAC,iBAAiB;SAClC;QACD;YACE,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,QAAQ,CAAC,iBAAiB;SAClC;KACF,CAAC,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QAC5D,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE7D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAC1B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC;YACzC,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBACnC,QAAQ,EAAE,CAAC;aACZ,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAE3C,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE7D,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,IAAI,CAAC;QACN;YACE,+EAA+E;YAC/E,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,wCAAwC;YACtE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,QAAQ,CAAC,iBAAiB;SAClC;QACD;YACE,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,QAAQ,CAAC,iBAAiB;SAClC;KACF,CAAC,CAAC,kCAAkC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QAEvF,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=format.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.unit.test.d.ts","sourceRoot":"","sources":["../../src/offchainMessage/format.unit.test.ts"],"names":[],"mappings":""}
@@ -1,122 +0,0 @@
1
- import { PublicKey } from "@solana/web3.js";
2
- import { toOffChainMessage } from "./format";
3
- // hexadecimal of \xffsolana offchain
4
- const SOLANA_HEADER = "ff736f6c616e61206f6666636861696e";
5
- describe("test", () => {
6
- const sharedCases = [
7
- {
8
- value: "hello",
9
- hexadecimal: "68656c6c6f",
10
- messageFormat: "00",
11
- messageLength: "0500",
12
- },
13
- {
14
- value: "bonjour",
15
- hexadecimal: "626f6e6a6f7572",
16
- messageFormat: "00",
17
- messageLength: "0700",
18
- },
19
- {
20
- value: "salam",
21
- hexadecimal: "73616c616d",
22
- messageFormat: "00",
23
- messageLength: "0500",
24
- },
25
- {
26
- value: "Long Off-Chain Test Message.",
27
- hexadecimal: "4c6f6e67204f66662d436861696e2054657374204d6573736167652e",
28
- messageFormat: "00",
29
- messageLength: "1c00",
30
- },
31
- {
32
- value: "Тестовое сообщение в формате UTF-8",
33
- hexadecimal: "d0a2d0b5d181d182d0bed0b2d0bed0b520d181d0bed0bed0b1d189d0b5d0bdd0b8d0b520d0b220d184d0bed180d0bcd0b0d182d0b5205554462d38",
34
- messageFormat: "01",
35
- messageLength: "3b00",
36
- },
37
- ];
38
- const cases = [
39
- ...sharedCases,
40
- {
41
- value: `example.com wants you to sign in with your Solana account: test-account
42
- URI: http://localhost:3000
43
- Version: 1
44
- Network: mainnet
45
- Nonce: once
46
- Issued At: now`,
47
- hexadecimal: "6578616d706c652e636f6d2077616e747320796f7520746f207369676e20696e207769746820796f757220536f6c616e61206163636f756e743a20746573742d6163636f756e740a5552493a20687474703a2f2f6c6f63616c686f73743a333030300a56657273696f6e3a20310a4e6574776f726b3a206d61696e6e65740a4e6f6e63653a206f6e63650a4973737565642041743a206e6f77",
48
- messageFormat: "00",
49
- messageLength: "9900",
50
- },
51
- {
52
- value: `shop.ledger.com wants you to sign in with your Solana account: 2XUhv9PZohcQrwsx3AnYMrHCbssWZuAFdwixd67ZYhYN
53
- URI: http://localhost:3000
54
- Version: 1
55
- Network: mainnet
56
- Nonce: 2XUhv9PZohcQrwsx3AnYMrHCbssWZuAFdwixd67ZYhYN-nonce
57
- Issued At: now`,
58
- hexadecimal: "73686f702e6c65646765722e636f6d2077616e747320796f7520746f207369676e20696e207769746820796f757220536f6c616e61206163636f756e743a20325855687639505a6f6863517277737833416e594d724843627373575a754146647769786436375a5968594e0a5552493a20687474703a2f2f6c6f63616c686f73743a333030300a56657273696f6e3a20310a4e6574776f726b3a206d61696e6e65740a4e6f6e63653a20325855687639505a6f6863517277737833416e594d724843627373575a754146647769786436375a5968594e2d6e6f6e63650a4973737565642041743a206e6f77",
59
- messageFormat: "00",
60
- messageLength: "eb00",
61
- },
62
- ];
63
- const address = "8DpKDisipx6f76cEmuGvCX9TrA3SjeR76HaTRePxHBDe";
64
- const addressHex = new PublicKey(address).toBuffer().toString("hex");
65
- const emptyApplicationDomain = "0000000000000000000000000000000000000000000000000000000000000000";
66
- it.each(cases)('should format message "$value" correctly for off-chain signing on Solana', ({ value, hexadecimal, messageFormat, messageLength }) => {
67
- const result = toOffChainMessage(value, address, false).toString("hex");
68
- expect(result.startsWith(SOLANA_HEADER)).toBe(true);
69
- const version = result.substring(SOLANA_HEADER.length, SOLANA_HEADER.length + 2);
70
- expect(version).toEqual("00");
71
- const applicationDomain = result.substring(SOLANA_HEADER.length + 2, SOLANA_HEADER.length + 66);
72
- expect(applicationDomain).toEqual(emptyApplicationDomain);
73
- const format = result.substring(SOLANA_HEADER.length + 66, SOLANA_HEADER.length + 68);
74
- expect(format).toEqual(messageFormat);
75
- const signerCount = result.substring(SOLANA_HEADER.length + 68, SOLANA_HEADER.length + 70);
76
- expect(signerCount).toEqual("01");
77
- const signerAddress = result.substring(SOLANA_HEADER.length + 70, SOLANA_HEADER.length + 134);
78
- expect(signerAddress).toEqual(addressHex);
79
- const length = result.substring(SOLANA_HEADER.length + 134, SOLANA_HEADER.length + 138);
80
- expect(length).toEqual(messageLength);
81
- // message should end with message parameter
82
- expect(result.substring(SOLANA_HEADER.length + 138)).toEqual(hexadecimal);
83
- });
84
- const legacyCases = [
85
- ...sharedCases,
86
- {
87
- value: `example.com wants you to sign in with your Solana account: test-account
88
- URI: http://localhost:3000
89
- Version: 1
90
- Network: mainnet
91
- Nonce: once
92
- Issued At: now`,
93
- hexadecimal: "6578616d706c652e636f6d2077616e747320796f7520746f207369676e20696e207769746820796f757220536f6c616e61206163636f756e743a20746573742d6163636f756e740a5552493a20687474703a2f2f6c6f63616c686f73743a333030300a56657273696f6e3a20310a4e6574776f726b3a206d61696e6e65740a4e6f6e63653a206f6e63650a4973737565642041743a206e6f77",
94
- messageFormat: "01",
95
- messageLength: "9900",
96
- },
97
- {
98
- value: `shop.ledger.com wants you to sign in with your Solana account: 2XUhv9PZohcQrwsx3AnYMrHCbssWZuAFdwixd67ZYhYN
99
- URI: http://localhost:3000
100
- Version: 1
101
- Network: mainnet
102
- Nonce: 2XUhv9PZohcQrwsx3AnYMrHCbssWZuAFdwixd67ZYhYN-nonce
103
- Issued At: now`,
104
- hexadecimal: "73686f702e6c65646765722e636f6d2077616e747320796f7520746f207369676e20696e207769746820796f757220536f6c616e61206163636f756e743a20325855687639505a6f6863517277737833416e594d724843627373575a754146647769786436375a5968594e0a5552493a20687474703a2f2f6c6f63616c686f73743a333030300a56657273696f6e3a20310a4e6574776f726b3a206d61696e6e65740a4e6f6e63653a20325855687639505a6f6863517277737833416e594d724843627373575a754146647769786436375a5968594e2d6e6f6e63650a4973737565642041743a206e6f77",
105
- messageFormat: "01",
106
- messageLength: "eb00",
107
- },
108
- ];
109
- it.each(legacyCases)('should format message "$value" correctly for off-chain signing on Solana legacy', ({ value, hexadecimal, messageFormat, messageLength }) => {
110
- const result = toOffChainMessage(value, address, true).toString("hex");
111
- expect(result.startsWith(SOLANA_HEADER)).toBe(true);
112
- const version = result.substring(SOLANA_HEADER.length, SOLANA_HEADER.length + 2);
113
- expect(version).toEqual("00");
114
- const format = result.substring(SOLANA_HEADER.length + 2, SOLANA_HEADER.length + 4);
115
- expect(format).toEqual(messageFormat);
116
- const length = result.substring(SOLANA_HEADER.length + 4, SOLANA_HEADER.length + 8);
117
- expect(length).toEqual(messageLength);
118
- // message should end with message parameter
119
- expect(result.substring(SOLANA_HEADER.length + 8)).toEqual(hexadecimal);
120
- });
121
- });
122
- //# sourceMappingURL=format.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.unit.test.js","sourceRoot":"","sources":["../../src/offchainMessage/format.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=preload.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preload.test.d.ts","sourceRoot":"","sources":["../src/preload.test.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { hydrate } from "./preload";
2
- describe("hydrate", () => {
3
- it.each([undefined, null, {}, { version: null }, { version: undefined }, {}])("should return undefined if data is corrupted (%p value)", value => {
4
- expect(hydrate(value, {})).toEqual(undefined);
5
- });
6
- });
7
- //# sourceMappingURL=preload.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preload.test.js","sourceRoot":"","sources":["../src/preload.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAC3E,yDAAyD,EACzD,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,OAAO,CAAC,KAAqC,EAAE,EAAoB,CAAC,CAAC,CAAC,OAAO,CAClF,SAAS,CACV,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=prepareTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.test.d.ts","sourceRoot":"","sources":["../src/prepareTransaction.test.ts"],"names":[],"mappings":""}