@ledgerhq/coin-solana 0.35.0-nightly.8 → 0.35.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 (199) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +28 -80
  3. package/lib/__fixtures__/solana-spl-epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v.json +50 -0
  4. package/lib/__tests__/fixtures/helpers.fixture.d.ts +138 -0
  5. package/lib/__tests__/fixtures/helpers.fixture.d.ts.map +1 -0
  6. package/lib/__tests__/fixtures/helpers.fixture.js +124 -0
  7. package/lib/__tests__/fixtures/helpers.fixture.js.map +1 -0
  8. package/lib/__tests__/scan-accounts.test.d.ts +2 -0
  9. package/lib/__tests__/scan-accounts.test.d.ts.map +1 -0
  10. package/lib/__tests__/scan-accounts.test.js +426 -0
  11. package/lib/__tests__/scan-accounts.test.js.map +1 -0
  12. package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts +2 -0
  13. package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts.map +1 -0
  14. package/lib/__tests__/unit/hw-signMessage.unit.test.js +91 -0
  15. package/lib/__tests__/unit/hw-signMessage.unit.test.js.map +1 -0
  16. package/lib/__tests__/unit/nftResolvers.unit.test.d.ts +2 -0
  17. package/lib/__tests__/unit/nftResolvers.unit.test.d.ts.map +1 -0
  18. package/lib/__tests__/unit/nftResolvers.unit.test.js +147 -0
  19. package/lib/__tests__/unit/nftResolvers.unit.test.js.map +1 -0
  20. package/lib/__tests__/unit/utils.unit.test.d.ts +2 -0
  21. package/lib/__tests__/unit/utils.unit.test.d.ts.map +1 -0
  22. package/lib/__tests__/unit/utils.unit.test.js +16 -0
  23. package/lib/__tests__/unit/utils.unit.test.js.map +1 -0
  24. package/lib/__tests__/unit/validator-app.unit.test.d.ts +2 -0
  25. package/lib/__tests__/unit/validator-app.unit.test.d.ts.map +1 -0
  26. package/lib/__tests__/unit/validator-app.unit.test.js +169 -0
  27. package/lib/__tests__/unit/validator-app.unit.test.js.map +1 -0
  28. package/lib/bridge.integration.test.d.ts +4 -0
  29. package/lib/bridge.integration.test.d.ts.map +1 -0
  30. package/lib/bridge.integration.test.js +870 -0
  31. package/lib/bridge.integration.test.js.map +1 -0
  32. package/lib/buildTransaction.test.d.ts +2 -0
  33. package/lib/buildTransaction.test.d.ts.map +1 -0
  34. package/lib/buildTransaction.test.js +164 -0
  35. package/lib/buildTransaction.test.js.map +1 -0
  36. package/lib/cryptoAssetsStore.test.d.ts +2 -0
  37. package/lib/cryptoAssetsStore.test.d.ts.map +1 -0
  38. package/lib/cryptoAssetsStore.test.js +15 -0
  39. package/lib/cryptoAssetsStore.test.js.map +1 -0
  40. package/lib/network/chain/account/parser.d.ts +1 -1
  41. package/lib/network/chain/account/stake.d.ts +23 -23
  42. package/lib/network/chain/account/token.d.ts +7 -7
  43. package/lib/network/chain/instruction/stake/types.d.ts +8 -8
  44. package/lib/network/chain/instruction/system/types.d.ts +10 -10
  45. package/lib/network/chain/web3.integration.test.d.ts +2 -0
  46. package/lib/network/chain/web3.integration.test.d.ts.map +1 -0
  47. package/lib/network/chain/web3.integration.test.js +70 -0
  48. package/lib/network/chain/web3.integration.test.js.map +1 -0
  49. package/lib/offchainMessage/format.unit.test.d.ts +2 -0
  50. package/lib/offchainMessage/format.unit.test.d.ts.map +1 -0
  51. package/lib/offchainMessage/format.unit.test.js +124 -0
  52. package/lib/offchainMessage/format.unit.test.js.map +1 -0
  53. package/lib/preload.test.d.ts +2 -0
  54. package/lib/preload.test.d.ts.map +1 -0
  55. package/lib/preload.test.js +9 -0
  56. package/lib/preload.test.js.map +1 -0
  57. package/lib/prepareTransaction.d.ts.map +1 -1
  58. package/lib/prepareTransaction.js +0 -4
  59. package/lib/prepareTransaction.js.map +1 -1
  60. package/lib/prepareTransaction.test.d.ts +2 -0
  61. package/lib/prepareTransaction.test.d.ts.map +1 -0
  62. package/lib/prepareTransaction.test.js +139 -0
  63. package/lib/prepareTransaction.test.js.map +1 -0
  64. package/lib/signOperation.d.ts.map +1 -1
  65. package/lib/signOperation.js +0 -2
  66. package/lib/signOperation.js.map +1 -1
  67. package/lib/signOperation.test.d.ts +3 -0
  68. package/lib/signOperation.test.d.ts.map +1 -0
  69. package/lib/signOperation.test.js +139 -0
  70. package/lib/signOperation.test.js.map +1 -0
  71. package/lib/signer.d.ts +0 -1
  72. package/lib/signer.d.ts.map +1 -1
  73. package/lib/signer.js.map +1 -1
  74. package/lib/tests/preload.fixtures.d.ts +5 -0
  75. package/lib/tests/preload.fixtures.d.ts.map +1 -0
  76. package/lib/tests/preload.fixtures.js +28 -0
  77. package/lib/tests/preload.fixtures.js.map +1 -0
  78. package/lib/tests/preload.unit.test.d.ts +2 -0
  79. package/lib/tests/preload.unit.test.d.ts.map +1 -0
  80. package/lib/tests/preload.unit.test.js +175 -0
  81. package/lib/tests/preload.unit.test.js.map +1 -0
  82. package/lib/tests/stakes-bridge.unit.test.d.ts +2 -0
  83. package/lib/tests/stakes-bridge.unit.test.d.ts.map +1 -0
  84. package/lib/tests/stakes-bridge.unit.test.js +166 -0
  85. package/lib/tests/stakes-bridge.unit.test.js.map +1 -0
  86. package/lib/tests/test-onchain-data.fixture.d.ts +20 -0
  87. package/lib/tests/test-onchain-data.fixture.d.ts.map +1 -0
  88. package/lib/tests/test-onchain-data.fixture.js +34 -0
  89. package/lib/tests/test-onchain-data.fixture.js.map +1 -0
  90. package/lib/tests/tokens-bridge.unit.test.d.ts +2 -0
  91. package/lib/tests/tokens-bridge.unit.test.d.ts.map +1 -0
  92. package/lib/tests/tokens-bridge.unit.test.js +615 -0
  93. package/lib/tests/tokens-bridge.unit.test.js.map +1 -0
  94. package/lib/tx-fees.js +0 -2
  95. package/lib/tx-fees.js.map +1 -1
  96. package/lib/types.d.ts +1 -2
  97. package/lib/types.d.ts.map +1 -1
  98. package/lib-es/__fixtures__/solana-spl-epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v.json +50 -0
  99. package/lib-es/__tests__/fixtures/helpers.fixture.d.ts +138 -0
  100. package/lib-es/__tests__/fixtures/helpers.fixture.d.ts.map +1 -0
  101. package/lib-es/__tests__/fixtures/helpers.fixture.js +110 -0
  102. package/lib-es/__tests__/fixtures/helpers.fixture.js.map +1 -0
  103. package/lib-es/__tests__/scan-accounts.test.d.ts +2 -0
  104. package/lib-es/__tests__/scan-accounts.test.d.ts.map +1 -0
  105. package/lib-es/__tests__/scan-accounts.test.js +398 -0
  106. package/lib-es/__tests__/scan-accounts.test.js.map +1 -0
  107. package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts +2 -0
  108. package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts.map +1 -0
  109. package/lib-es/__tests__/unit/hw-signMessage.unit.test.js +86 -0
  110. package/lib-es/__tests__/unit/hw-signMessage.unit.test.js.map +1 -0
  111. package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts +2 -0
  112. package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts.map +1 -0
  113. package/lib-es/__tests__/unit/nftResolvers.unit.test.js +142 -0
  114. package/lib-es/__tests__/unit/nftResolvers.unit.test.js.map +1 -0
  115. package/lib-es/__tests__/unit/utils.unit.test.d.ts +2 -0
  116. package/lib-es/__tests__/unit/utils.unit.test.d.ts.map +1 -0
  117. package/lib-es/__tests__/unit/utils.unit.test.js +14 -0
  118. package/lib-es/__tests__/unit/utils.unit.test.js.map +1 -0
  119. package/lib-es/__tests__/unit/validator-app.unit.test.d.ts +2 -0
  120. package/lib-es/__tests__/unit/validator-app.unit.test.d.ts.map +1 -0
  121. package/lib-es/__tests__/unit/validator-app.unit.test.js +144 -0
  122. package/lib-es/__tests__/unit/validator-app.unit.test.js.map +1 -0
  123. package/lib-es/bridge.integration.test.d.ts +4 -0
  124. package/lib-es/bridge.integration.test.d.ts.map +1 -0
  125. package/lib-es/bridge.integration.test.js +864 -0
  126. package/lib-es/bridge.integration.test.js.map +1 -0
  127. package/lib-es/buildTransaction.test.d.ts +2 -0
  128. package/lib-es/buildTransaction.test.d.ts.map +1 -0
  129. package/lib-es/buildTransaction.test.js +162 -0
  130. package/lib-es/buildTransaction.test.js.map +1 -0
  131. package/lib-es/cryptoAssetsStore.test.d.ts +2 -0
  132. package/lib-es/cryptoAssetsStore.test.d.ts.map +1 -0
  133. package/lib-es/cryptoAssetsStore.test.js +13 -0
  134. package/lib-es/cryptoAssetsStore.test.js.map +1 -0
  135. package/lib-es/network/chain/account/parser.d.ts +1 -1
  136. package/lib-es/network/chain/account/stake.d.ts +23 -23
  137. package/lib-es/network/chain/account/token.d.ts +7 -7
  138. package/lib-es/network/chain/instruction/stake/types.d.ts +8 -8
  139. package/lib-es/network/chain/instruction/system/types.d.ts +10 -10
  140. package/lib-es/network/chain/web3.integration.test.d.ts +2 -0
  141. package/lib-es/network/chain/web3.integration.test.d.ts.map +1 -0
  142. package/lib-es/network/chain/web3.integration.test.js +68 -0
  143. package/lib-es/network/chain/web3.integration.test.js.map +1 -0
  144. package/lib-es/offchainMessage/format.unit.test.d.ts +2 -0
  145. package/lib-es/offchainMessage/format.unit.test.d.ts.map +1 -0
  146. package/lib-es/offchainMessage/format.unit.test.js +122 -0
  147. package/lib-es/offchainMessage/format.unit.test.js.map +1 -0
  148. package/lib-es/preload.test.d.ts +2 -0
  149. package/lib-es/preload.test.d.ts.map +1 -0
  150. package/lib-es/preload.test.js +7 -0
  151. package/lib-es/preload.test.js.map +1 -0
  152. package/lib-es/prepareTransaction.d.ts.map +1 -1
  153. package/lib-es/prepareTransaction.js +0 -4
  154. package/lib-es/prepareTransaction.js.map +1 -1
  155. package/lib-es/prepareTransaction.test.d.ts +2 -0
  156. package/lib-es/prepareTransaction.test.d.ts.map +1 -0
  157. package/lib-es/prepareTransaction.test.js +134 -0
  158. package/lib-es/prepareTransaction.test.js.map +1 -0
  159. package/lib-es/signOperation.d.ts.map +1 -1
  160. package/lib-es/signOperation.js +0 -2
  161. package/lib-es/signOperation.js.map +1 -1
  162. package/lib-es/signOperation.test.d.ts +3 -0
  163. package/lib-es/signOperation.test.d.ts.map +1 -0
  164. package/lib-es/signOperation.test.js +135 -0
  165. package/lib-es/signOperation.test.js.map +1 -0
  166. package/lib-es/signer.d.ts +0 -1
  167. package/lib-es/signer.d.ts.map +1 -1
  168. package/lib-es/signer.js.map +1 -1
  169. package/lib-es/tests/preload.fixtures.d.ts +5 -0
  170. package/lib-es/tests/preload.fixtures.d.ts.map +1 -0
  171. package/lib-es/tests/preload.fixtures.js +25 -0
  172. package/lib-es/tests/preload.fixtures.js.map +1 -0
  173. package/lib-es/tests/preload.unit.test.d.ts +2 -0
  174. package/lib-es/tests/preload.unit.test.d.ts.map +1 -0
  175. package/lib-es/tests/preload.unit.test.js +147 -0
  176. package/lib-es/tests/preload.unit.test.js.map +1 -0
  177. package/lib-es/tests/stakes-bridge.unit.test.d.ts +2 -0
  178. package/lib-es/tests/stakes-bridge.unit.test.d.ts.map +1 -0
  179. package/lib-es/tests/stakes-bridge.unit.test.js +161 -0
  180. package/lib-es/tests/stakes-bridge.unit.test.js.map +1 -0
  181. package/lib-es/tests/test-onchain-data.fixture.d.ts +20 -0
  182. package/lib-es/tests/test-onchain-data.fixture.d.ts.map +1 -0
  183. package/lib-es/tests/test-onchain-data.fixture.js +28 -0
  184. package/lib-es/tests/test-onchain-data.fixture.js.map +1 -0
  185. package/lib-es/tests/tokens-bridge.unit.test.d.ts +2 -0
  186. package/lib-es/tests/tokens-bridge.unit.test.d.ts.map +1 -0
  187. package/lib-es/tests/tokens-bridge.unit.test.js +610 -0
  188. package/lib-es/tests/tokens-bridge.unit.test.js.map +1 -0
  189. package/lib-es/tx-fees.js +0 -2
  190. package/lib-es/tx-fees.js.map +1 -1
  191. package/lib-es/types.d.ts +1 -2
  192. package/lib-es/types.d.ts.map +1 -1
  193. package/package.json +9 -9
  194. package/src/prepareTransaction.ts +0 -4
  195. package/src/signOperation.ts +0 -2
  196. package/src/signer.ts +0 -1
  197. package/src/tests/preload.fixtures.ts +1 -1
  198. package/src/tx-fees.ts +0 -2
  199. package/src/types.ts +1 -2
@@ -0,0 +1,161 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { NotEnoughBalance } from "@ledgerhq/errors";
3
+ import { LAST_VALID_BLOCK_HEIGHT_MOCK, LATEST_BLOCKHASH_MOCK } from "../network";
4
+ import { SolanaStakeAccountIsNotDelegatable, SolanaStakeAccountValidatorIsUnchangeable, } from "../errors";
5
+ import { testOnChainData } from "./test-onchain-data.fixture";
6
+ import getTransactionStatus from "../getTransactionStatus";
7
+ import { prepareTransaction } from "../prepareTransaction";
8
+ import { PARSED_PROGRAMS } from "../network/chain/program/constants";
9
+ const baseAccount = {
10
+ balance: new BigNumber(0),
11
+ spendableBalance: new BigNumber(0),
12
+ };
13
+ const mockedVoteAccount = {
14
+ parsed: {
15
+ info: {
16
+ authorizedVoters: [
17
+ {
18
+ authorizedVoter: "EvnRmnMrd69kFdbLMxWkTn1icZ7DCceRhvmb2SJXqDo4",
19
+ epoch: 283,
20
+ },
21
+ ],
22
+ authorizedWithdrawer: "EvnRmnMrd69kFdbLMxWkTn1icZ7DCceRhvmb2SJXqDo4",
23
+ commission: 7,
24
+ epochCredits: [
25
+ {
26
+ credits: "98854605",
27
+ epoch: 283,
28
+ previousCredits: "98728105",
29
+ },
30
+ ],
31
+ lastTimestamp: { slot: 122422797, timestamp: 1645796249 },
32
+ nodePubkey: "EvnRmnMrd69kFdbLMxWkTn1icZ7DCceRhvmb2SJXqDo4",
33
+ priorVoters: [],
34
+ rootSlot: 122422766,
35
+ votes: [{ confirmationCount: 1, slot: 122422797 }],
36
+ },
37
+ type: "vote",
38
+ },
39
+ program: PARSED_PROGRAMS.VOTE,
40
+ space: 3731,
41
+ };
42
+ const baseTx = {
43
+ family: "solana",
44
+ recipient: "",
45
+ amount: new BigNumber(0),
46
+ };
47
+ const baseAPI = {
48
+ getLatestBlockhash: () => Promise.resolve({
49
+ blockhash: LATEST_BLOCKHASH_MOCK,
50
+ lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT_MOCK,
51
+ }),
52
+ getFeeForMessage: (_msg) => Promise.resolve(testOnChainData.fees.lamportsPerSignature),
53
+ getRecentPrioritizationFees: (_) => {
54
+ return Promise.resolve([
55
+ {
56
+ slot: 122422797,
57
+ prioritizationFee: 0,
58
+ },
59
+ {
60
+ slot: 122422797,
61
+ prioritizationFee: 0,
62
+ },
63
+ ]);
64
+ },
65
+ getSimulationComputeUnits: (_ixs, _payer) => Promise.resolve(1000),
66
+ };
67
+ /**
68
+ * Some business logic can not be described in terms of transactions and expected status
69
+ * in the test datasets, like stake activation/deactivation, because stake activation is
70
+ * not determenistic and changes with time. Hence the tests here to mock data
71
+ * to be determenistic.
72
+ */
73
+ describe("solana staking", () => {
74
+ test("stake.delegate :: status is error: stake account is not delegatable", async () => {
75
+ const stakeDelegateModel = {
76
+ kind: "stake.delegate",
77
+ uiState: {
78
+ stakeAccAddr: testOnChainData.unfundedAddress,
79
+ voteAccAddr: testOnChainData.validatorAddress,
80
+ },
81
+ };
82
+ const stakeTests = [
83
+ {
84
+ activationState: "activating",
85
+ txModel: stakeDelegateModel,
86
+ expectedErrors: {
87
+ fee: new NotEnoughBalance(),
88
+ stakeAccAddr: new SolanaStakeAccountIsNotDelegatable(),
89
+ },
90
+ },
91
+ {
92
+ activationState: "active",
93
+ txModel: stakeDelegateModel,
94
+ expectedErrors: {
95
+ fee: new NotEnoughBalance(),
96
+ stakeAccAddr: new SolanaStakeAccountIsNotDelegatable(),
97
+ },
98
+ },
99
+ {
100
+ activationState: "deactivating",
101
+ txModel: {
102
+ ...stakeDelegateModel,
103
+ uiState: {
104
+ ...stakeDelegateModel.uiState,
105
+ voteAccAddr: testOnChainData.unfundedAddress,
106
+ },
107
+ },
108
+ expectedErrors: {
109
+ fee: new NotEnoughBalance(),
110
+ stakeAccAddr: new SolanaStakeAccountValidatorIsUnchangeable(),
111
+ },
112
+ },
113
+ ];
114
+ for (const stakeTest of stakeTests) {
115
+ await runStakeTest(stakeTest);
116
+ }
117
+ });
118
+ });
119
+ async function runStakeTest(stakeTestSpec) {
120
+ const api = {
121
+ ...baseAPI,
122
+ getMinimumBalanceForRentExemption: () => Promise.resolve(testOnChainData.fees.stakeAccountRentExempt),
123
+ getAccountInfo: () => {
124
+ return Promise.resolve({ data: mockedVoteAccount });
125
+ },
126
+ };
127
+ const account = {
128
+ ...baseAccount,
129
+ freshAddress: testOnChainData.fundedSenderAddress,
130
+ solanaResources: {
131
+ stakes: [
132
+ {
133
+ stakeAccAddr: testOnChainData.unfundedAddress,
134
+ delegation: {
135
+ stake: 1,
136
+ voteAccAddr: testOnChainData.validatorAddress,
137
+ },
138
+ activation: {
139
+ state: stakeTestSpec.activationState,
140
+ },
141
+ },
142
+ ],
143
+ unstakeReserve: BigNumber(0),
144
+ },
145
+ };
146
+ const tx = {
147
+ ...baseTx,
148
+ model: stakeTestSpec.txModel,
149
+ };
150
+ const preparedTx = await prepareTransaction(account, tx, api);
151
+ const status = await getTransactionStatus(account, preparedTx);
152
+ const expectedStatus = {
153
+ amount: new BigNumber(0),
154
+ estimatedFees: new BigNumber(testOnChainData.fees.lamportsPerSignature),
155
+ totalSpent: new BigNumber(testOnChainData.fees.lamportsPerSignature),
156
+ errors: stakeTestSpec.expectedErrors,
157
+ warnings: {},
158
+ };
159
+ expect(status).toEqual(expectedStatus);
160
+ }
161
+ //# sourceMappingURL=stakes-bridge.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakes-bridge.unit.test.js","sourceRoot":"","sources":["../../src/tests/stakes-bridge.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAY,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EACL,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;IACzB,gBAAgB,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;CACxB,CAAC;AAEb,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,gBAAgB,EAAE;gBAChB;oBACE,eAAe,EAAE,8CAA8C;oBAC/D,KAAK,EAAE,GAAG;iBACX;aACF;YACD,oBAAoB,EAAE,8CAA8C;YACpE,UAAU,EAAE,CAAC;YACb,YAAY,EAAE;gBACZ;oBACE,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,GAAG;oBACV,eAAe,EAAE,UAAU;iBAC5B;aACF;YACD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE;YACzD,UAAU,EAAE,8CAA8C;YAC1D,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SACnD;QACD,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE,eAAe,CAAC,IAAI;IAC7B,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;CACV,CAAC;AAEjB,MAAM,OAAO,GAAG;IACd,kBAAkB,EAAE,GAAG,EAAE,CACvB,OAAO,CAAC,OAAO,CAAC;QACd,SAAS,EAAE,qBAAqB;QAChC,oBAAoB,EAAE,4BAA4B;KACnD,CAAC;IACJ,gBAAgB,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC/F,2BAA2B,EAAE,CAAC,CAAW,EAAE,EAAE;QAC3C,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB;gBACE,IAAI,EAAE,SAAS;gBACf,iBAAiB,EAAE,CAAC;aACrB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;IACL,CAAC;IACD,yBAAyB,EAAE,CAAC,IAAW,EAAE,MAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;CACnE,CAAC;AAQd;;;;;GAKG;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,kBAAkB,GAEpB;YACF,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE;gBACP,YAAY,EAAE,eAAe,CAAC,eAAe;gBAC7C,WAAW,EAAE,eAAe,CAAC,gBAAgB;aAC9C;SACF,CAAC;QAEF,MAAM,UAAU,GAAoB;YAClC;gBACE,eAAe,EAAE,YAAY;gBAC7B,OAAO,EAAE,kBAAkB;gBAC3B,cAAc,EAAE;oBACd,GAAG,EAAE,IAAI,gBAAgB,EAAE;oBAC3B,YAAY,EAAE,IAAI,kCAAkC,EAAE;iBACvD;aACF;YACD;gBACE,eAAe,EAAE,QAAQ;gBACzB,OAAO,EAAE,kBAAkB;gBAC3B,cAAc,EAAE;oBACd,GAAG,EAAE,IAAI,gBAAgB,EAAE;oBAC3B,YAAY,EAAE,IAAI,kCAAkC,EAAE;iBACvD;aACF;YACD;gBACE,eAAe,EAAE,cAAc;gBAC/B,OAAO,EAAE;oBACP,GAAG,kBAAkB;oBACrB,OAAO,EAAE;wBACP,GAAG,kBAAkB,CAAC,OAAO;wBAC7B,WAAW,EAAE,eAAe,CAAC,eAAe;qBAC7C;iBACF;gBACD,cAAc,EAAE;oBACd,GAAG,EAAE,IAAI,gBAAgB,EAAE;oBAC3B,YAAY,EAAE,IAAI,yCAAyC,EAAE;iBAC9D;aACF;SACF,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,YAAY,CAAC,aAA4B;IACtD,MAAM,GAAG,GAAG;QACV,GAAG,OAAO;QACV,iCAAiC,EAAE,GAAG,EAAE,CACtC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC9D,cAAc,EAAE,GAAG,EAAE;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAS,CAAC,CAAC;QAC7D,CAAC;KACU,CAAC;IAEd,MAAM,OAAO,GAAkB;QAC7B,GAAG,WAAW;QACd,YAAY,EAAE,eAAe,CAAC,mBAAmB;QACjD,eAAe,EAAE;YACf,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,eAAe,CAAC,eAAe;oBAC7C,UAAU,EAAE;wBACV,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,eAAe,CAAC,gBAAgB;qBAC9C;oBACD,UAAU,EAAE;wBACV,KAAK,EAAE,aAAa,CAAC,eAAe;qBACrC;iBACa;aACjB;YACD,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;SAC7B;KACF,CAAC;IAEF,MAAM,EAAE,GAAgB;QACtB,GAAG,MAAM;QACT,KAAK,EAAE,aAAa,CAAC,OAAO;KAC7B,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE/D,MAAM,cAAc,GAAsB;QACxC,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QACxB,aAAa,EAAE,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACvE,UAAU,EAAE,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACpE,MAAM,EAAE,aAAa,CAAC,cAAc;QACpC,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import BigNumber from "bignumber.js";
2
+ export declare const testOnChainData: {
3
+ unfundedAddress: string;
4
+ fundedSenderAddress: string;
5
+ fundedSenderBalance: BigNumber;
6
+ fundedAddress: string;
7
+ wSolSenderAssocTokenAccAddress: string;
8
+ wSolSenderAssocTokenAccBalance: BigNumber;
9
+ wSolFundedAccountAssocTokenAccAddress: string;
10
+ notWSolTokenAccAddress: string;
11
+ validatorAddress: string;
12
+ fees: {
13
+ stakeAccountRentExempt: number;
14
+ systemAccountRentExempt: number;
15
+ lamportsPerSignature: number;
16
+ };
17
+ offEd25519Address: string;
18
+ offEd25519Address2: string;
19
+ };
20
+ //# sourceMappingURL=test-onchain-data.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-onchain-data.fixture.d.ts","sourceRoot":"","sources":["../../src/tests/test-onchain-data.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAuB3B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { SYSTEM_ACCOUNT_RENT_EXEMPT } from "../utils";
3
+ // do not change real properties or the test will break
4
+ export const testOnChainData = {
5
+ // --- real props ---
6
+ unfundedAddress: "7b6Q3ap8qRzfyvDw1Qce3fUV8C7WgFNzJQwYNTJm3KQo",
7
+ // 0/0
8
+ fundedSenderAddress: "AQbkEagmPgmsdAfS4X8V8UyJnXXjVPMvjeD15etqQ3Jh",
9
+ fundedSenderBalance: new BigNumber(83389840),
10
+ // 1000/0
11
+ fundedAddress: "ARRKL4FT4LMwpkhUw4xNbfiHqR7UdePtzGLvkszgydqZ",
12
+ wSolSenderAssocTokenAccAddress: "8RtwWeqdFz4EFuZU3MAadfYMWSdRMamjFrfq6BXkHuNN",
13
+ wSolSenderAssocTokenAccBalance: new BigNumber(7960720),
14
+ // 1000/0, mint - wrapped sol
15
+ wSolFundedAccountAssocTokenAccAddress: "Ax69sAxqBSdT3gMAUqXb8pUvgxSLCiXfTitMALEnFZTS",
16
+ // 0/0
17
+ notWSolTokenAccAddress: "Hsm3S2rhX4HwxYBaCyqgJ1cCtFyFSBu6HLy1bdvh7fKs",
18
+ validatorAddress: "9QU2QSxhb24FUX3Tu2FpczXjpK3VYrvRudywSZaM29mF",
19
+ fees: {
20
+ stakeAccountRentExempt: 2282880,
21
+ systemAccountRentExempt: SYSTEM_ACCOUNT_RENT_EXEMPT,
22
+ lamportsPerSignature: 5000,
23
+ },
24
+ // --- maybe outdated or not real, fine for tests ---
25
+ offEd25519Address: "6D8GtWkKJgToM5UoiByHqjQCCC9Dq1Hh7iNmU4jKSs14",
26
+ offEd25519Address2: "12rqwuEgBYiGhBrDJStCiqEtzQpTTiZbh7teNVLuYcFA",
27
+ };
28
+ //# sourceMappingURL=test-onchain-data.fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-onchain-data.fixture.js","sourceRoot":"","sources":["../../src/tests/test-onchain-data.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEtD,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,sBAAsB;IACtB,eAAe,EAAE,8CAA8C;IAC/D,MAAM;IACN,mBAAmB,EAAE,8CAA8C;IACnE,mBAAmB,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC;IAC5C,SAAS;IACT,aAAa,EAAE,8CAA8C;IAC7D,8BAA8B,EAAE,8CAA8C;IAC9E,8BAA8B,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC;IACtD,6BAA6B;IAC7B,qCAAqC,EAAE,8CAA8C;IACrF,MAAM;IACN,sBAAsB,EAAE,8CAA8C;IACtE,gBAAgB,EAAE,8CAA8C;IAChE,IAAI,EAAE;QACJ,sBAAsB,EAAE,OAAO;QAC/B,uBAAuB,EAAE,0BAA0B;QACnD,oBAAoB,EAAE,IAAI;KAC3B;IACD,sDAAsD;IACtD,iBAAiB,EAAE,8CAA8C;IACjE,kBAAkB,EAAE,8CAA8C;CACnE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tokens-bridge.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens-bridge.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/tokens-bridge.unit.test.ts"],"names":[],"mappings":""}