@ledgerhq/coin-tester-solana 1.2.0 → 1.2.1-nightly.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @ledgerhq/coin-tester-solana
2
2
 
3
+ ## 1.2.1-nightly.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`7a1b8c8`](https://github.com/LedgerHQ/ledger-live/commit/7a1b8c8e59383efb02676cfe647c5889a31372bc), [`0c5070b`](https://github.com/LedgerHQ/ledger-live/commit/0c5070ba6effeacbcb6a009d86738c39a9a831d2), [`fa8e7c5`](https://github.com/LedgerHQ/ledger-live/commit/fa8e7c547d5c996fbcbe8a0351b250d13074a4d2)]:
8
+ - @ledgerhq/types-live@6.74.0-nightly.0
9
+ - @ledgerhq/coin-solana@0.26.0-nightly.0
10
+ - @ledgerhq/live-signer-solana@0.3.0-nightly.0
11
+ - @ledgerhq/coin-framework@5.3.1-nightly.0
12
+ - @ledgerhq/coin-tester@0.7.0-nightly.1
13
+
3
14
  ## 1.2.0
4
15
 
5
16
  ### Minor Changes
@@ -0,0 +1,14 @@
1
+ {
2
+ "account": {
3
+ "data": [
4
+ "AQAAAOSL3TZoGcIclCdCLoZ87A7nQMsCxVnANuucD5AKYBHPAAAAAAAAAAAJAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
5
+ "base64"
6
+ ],
7
+ "executable": false,
8
+ "lamports": 1461600,
9
+ "owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
10
+ "rentEpoch": 0,
11
+ "space": 82
12
+ },
13
+ "pubkey": "3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y"
14
+ }
@@ -15,6 +15,7 @@ services:
15
15
  # Start local validator, and import well known token account
16
16
  # USDC: `spl-token create-token --decimals 6 --mint-authority GP9eo3dqHU3e7kGVvqNVzLym7BsTLTfmkuhEr6vqh6TQ -ul`
17
17
  # CWIF: `spl-token create-token --decimals 2 --mint-authority GP9eo3dqHU3e7kGVvqNVzLym7BsTLTfmkuhEr6vqh6TQ --transfer-fee-basis-points 400 --transfer-fee-maximum-fee 99999999999999900 --program-2022 -ul`
18
+ # VIRTUAL: `spl-token create-token --decimals 9 --mint-authority GP9eo3dqHU3e7kGVvqNVzLym7BsTLTfmkuhEr6vqh6TQ -ul`
18
19
  # Tokens with random mint addresses but controllable mint authority are created. Store their account as JSON with `solana account --output json <token_address> -ul` and update the token address
19
20
  # with whatever token account imported in the test validator.
20
21
  # Note: These commands need an up-and-running test validator node. By precomputing those files we avoid the burden of having to create multiple instances.
@@ -22,4 +23,5 @@ services:
22
23
  solana-test-validator
23
24
  --account EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v /ledger/usdc.json
24
25
  --account 7atgF8KQo4wJrD5ATGX7t1V2zVvykPJbFfNeVf1icFv1 /ledger/cwif.json
26
+ --account 3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y /ledger/virtual.json
25
27
  --reset
@@ -1,10 +1,11 @@
1
- import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
1
+ import { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
2
  import { TokenAccount } from "@ledgerhq/types-live";
3
3
  import { SolanaAccount } from "@ledgerhq/coin-solana/types";
4
4
  export declare const RECIPIENT = "Hj69wRzkrFuf1Nby4yzPEFHdsmQdMoVYjvDKZSLjZFEp";
5
5
  export declare const SOLANA: CryptoCurrency;
6
- export declare const SOLANA_USDC: import("@ledgerhq/types-cryptoassets").TokenCurrency;
7
- export declare const SOLANA_CWIF: import("@ledgerhq/types-cryptoassets").TokenCurrency;
6
+ export declare const SOLANA_USDC: TokenCurrency;
7
+ export declare const SOLANA_CWIF: TokenCurrency;
8
+ export declare const SOLANA_VIRTUAL: TokenCurrency;
8
9
  export declare const WITHDRAWABLE_AMOUNT = 2000000000;
9
10
  export declare const makeAccount: (address: string, currency: CryptoCurrency, subAccounts?: TokenAccount[]) => SolanaAccount;
10
11
  export declare function initMSW(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D,eAAO,MAAM,SAAS,iDAAiD,CAAC;AACxE,eAAO,MAAM,MAAM,gBAAkC,CAAC;AACtD,eAAO,MAAM,WAAW,sDAA0E,CAAC;AACnG,eAAO,MAAM,WAAW,sDAA0E,CAAC;AACnG,eAAO,MAAM,mBAAmB,aAAM,CAAC;AAEvC,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,UAAU,cAAc,EACxB,cAAa,YAAY,EAAO,KAC/B,aAqDF,CAAC;AAEF,wBAAgB,OAAO,SAmFtB"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D,eAAO,MAAM,SAAS,iDAAiD,CAAC;AACxE,eAAO,MAAM,MAAM,gBAAkC,CAAC;AACtD,eAAO,MAAM,WAAW,eAA0E,CAAC;AACnG,eAAO,MAAM,WAAW,eAA0E,CAAC;AACnG,eAAO,MAAM,cAAc,EAAE,aAS5B,CAAC;AACF,eAAO,MAAM,mBAAmB,aAAM,CAAC;AAEvC,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,UAAU,cAAc,EACxB,cAAa,YAAY,EAAO,KAC/B,aAqDF,CAAC;AAEF,wBAAgB,OAAO,SA4KtB"}
@@ -9,6 +9,16 @@ export const RECIPIENT = "Hj69wRzkrFuf1Nby4yzPEFHdsmQdMoVYjvDKZSLjZFEp";
9
9
  export const SOLANA = getCryptoCurrencyById("solana");
10
10
  export const SOLANA_USDC = getTokenById("solana/spl/epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v");
11
11
  export const SOLANA_CWIF = getTokenById("solana/spl/7atgf8kqo4wjrd5atgx7t1v2zvvykpjbffnevf1icfv1");
12
+ export const SOLANA_VIRTUAL = {
13
+ type: "TokenCurrency",
14
+ id: "solana/spl/3iql8bfs2ve7mww4ehaqqhasbmrncrpxizwat2zfyr9y",
15
+ name: "Virtual Protocol",
16
+ ticker: "VIRTUAL",
17
+ units: [{ name: "VIRTUAL", code: "VIRTUAL", magnitude: 9 }],
18
+ contractAddress: "3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y",
19
+ parentCurrency: SOLANA,
20
+ tokenType: "spl",
21
+ };
12
22
  export const WITHDRAWABLE_AMOUNT = 2e9;
13
23
  export const makeAccount = (address, currency, subAccounts = []) => {
14
24
  const id = `js:2:${currency.id}:${address}:solanaSub`;
@@ -65,18 +75,35 @@ export const makeAccount = (address, currency, subAccounts = []) => {
65
75
  export function initMSW() {
66
76
  const mockServer = setupServer(http.get("https://crypto-assets-service.api.ledger.com/v1/certificates", ({ request }) => {
67
77
  const url = new URL(request.url);
68
- return HttpResponse.json(url.searchParams.get("target_device") === "nanox"
69
- ? [
78
+ if (url.searchParams.get("target_device") !== "nanox") {
79
+ return HttpResponse.json([]);
80
+ }
81
+ if (url.searchParams.get("public_key_usage") === "trusted_name" &&
82
+ url.searchParams.get("public_key_id") === "domain_metadata_key") {
83
+ return HttpResponse.json([
70
84
  {
71
85
  descriptor: {
72
86
  data: "01010102010235010236010110040208000013020002140101200c747275737465645f6e616d65300200073101043201213401013321036a94e7a42cd0c33fdf440c8e2ab2542cefbe5db7aa0b93a9fc814b9acfa75eb4",
73
87
  signatures: {
74
- test: "304402205caeb7806b4d07f9de76cc43fbdea235a87845f5a0bb5273511237492b05712802204c885133c97d7497654dd808433543ac15efa4bd1de7bace536e8d13068fc3b1",
88
+ prod: "3044022065c969de8e3f0cc0a0f462777f68235e97ea2b3355fa63836541fa682dfc5a4b02206c8b61fe688deabde2660259afa40c38a6254b03240fa7157df84fa490c934f6",
89
+ },
90
+ },
91
+ },
92
+ ]);
93
+ }
94
+ if (url.searchParams.get("public_key_usage") === "coin_meta" &&
95
+ url.searchParams.get("public_key_id") === "token_metadata_key") {
96
+ return HttpResponse.json([
97
+ {
98
+ descriptor: {
99
+ data: "01010102010235010236010110040208000013020002140101200e746f6b656e5f6d657461646174613002000e310108320121340101332103f530b026fc8acecbe4594e8b185d31157814f5e73d474180c801a4ca857ea37b",
100
+ signatures: {
101
+ prod: "3044022028ffb8efb8f54e5d7f6c25091074ca21ba0284fd88db00e1ed27c664dccfc4fd02200cb264a0b301d7bb4709c5b59cc8225359551c77cca43d99945ff646db5d6507",
75
102
  },
76
103
  },
77
104
  },
78
- ]
79
- : []);
105
+ ]);
106
+ }
80
107
  }), http.get("https://nft.api.live.ledger.com/v2/solana/owner/H6echhXDiRfCjSgwz5VNiF7g2vJYT4wG9zg7tQgKYasD", ({ request }) => {
81
108
  const url = new URL(request.url);
82
109
  const signedDescriptor = url.searchParams.get("challenge") === "0x535ee2e9"
@@ -87,8 +114,16 @@ export function initMSW() {
87
114
  });
88
115
  }), http.get("https://nft.api.live.ledger.com/v2/solana/owner/CHRKW25WxSg2nFqxuLWS26neRcNnyfwRBmJnNm8YnweV", ({ request }) => {
89
116
  const url = new URL(request.url);
90
- const signedDescriptor = url.searchParams.get("challenge") === "0xcf678b10"
91
- ? "010103020102700106710106202c4348524b57323557785367326e467178754c575332366e6552634e6e79667752426d4a6e4e6d38596e776556230165222c486a363977527a6b72467566314e627934797a5045464864736d51644d6f56596a76444b5a534c6a5a464570732c3761746746384b516f34774a7244354154475837743156327a5676796b504a6246664e6556663169634676311204cf678b1013010714010115483046022100958c0f79e16cad4b00ce30c8f47e468cac2ae1a41ae61efe3bbc4f358375df4002210089a1b83d9a61719d47f32e5727762dd3bfadd67e8236c7f46e6265c825f7a9a7"
117
+ const signedDescriptor = url.searchParams.get("challenge") === "0x523ddeb5"
118
+ ? "010103020102700106710106202c4348524b57323557785367326e467178754c575332366e6552634e6e79667752426d4a6e4e6d38596e776556230165222c486a363977527a6b72467566314e627934797a5045464864736d51644d6f56596a76444b5a534c6a5a464570732c3761746746384b516f34774a7244354154475837743156327a5676796b504a6246664e6556663169634676311204523ddeb513010714010115473045022034c0808c1563d6f28f84a473e03cb7cd5b5d5183a495e4501789fa361c5cce54022100a8274fce5103af61309b87b1a953a26b5991d5ae4a541d97ad7b51d7922c695f"
119
+ : "invalid challenge";
120
+ return HttpResponse.json({
121
+ signedDescriptor,
122
+ });
123
+ }), http.get("https://nft.api.live.ledger.com/v2/solana/owner/2mmXJMyMm6XpL2hjZ3gQcDKyq4zBXoTETYTmVi8yzkgx", ({ request }) => {
124
+ const url = new URL(request.url);
125
+ const signedDescriptor = url.searchParams.get("challenge") === "0x3c905a79"
126
+ ? "010103020102700106710106202c326d6d584a4d794d6d3658704c32686a5a33675163444b7971347a42586f54455459546d566938797a6b6778230165222c486a363977527a6b72467566314e627934797a5045464864736d51644d6f56596a76444b5a534c6a5a464570732c3369514c38424653327645376d7777346568417151484173626d524e43725078697a574154325a667972397912043c905a7913010714010115473045022100ec10ec22cd278cb26cce165b4988976202fad331ba006c5d57bfb9d4b5cd262e02200f8a612a351e6d371f7e81eb489a04467ad64205d49ff32b6273ddfa0090a037"
92
127
  : "invalid challenge";
93
128
  return HttpResponse.json({
94
129
  signedDescriptor,
@@ -103,13 +138,62 @@ export function initMSW() {
103
138
  });
104
139
  }), http.get("https://nft.api.live.ledger.com/v2/solana/computed-token-account/Hj69wRzkrFuf1Nby4yzPEFHdsmQdMoVYjvDKZSLjZFEp/7atgF8KQo4wJrD5ATGX7t1V2zVvykPJbFfNeVf1icFv1", ({ request }) => {
105
140
  const url = new URL(request.url);
106
- const signedDescriptor = url.searchParams.get("challenge") === "0xba6816cd"
107
- ? "010103020102700106710106202c4348524b57323557785367326e467178754c575332366e6552634e6e79667752426d4a6e4e6d38596e776556230165222c486a363977527a6b72467566314e627934797a5045464864736d51644d6f56596a76444b5a534c6a5a464570732c3761746746384b516f34774a7244354154475837743156327a5676796b504a6246664e6556663169634676311204ba6816cd13010714010115463044022076b8fbc7123167955ec273283a75e0db73e1b7f95d901afb240dde2bdd4fc0c7022061537bfc370235f59e1effebdd5d0d373c761caaca85fc3b20b64b194d34e7d4"
141
+ const signedDescriptor = url.searchParams.get("challenge") === "0x00f04d01"
142
+ ? "010103020102700106710106202c4348524b57323557785367326e467178754c575332366e6552634e6e79667752426d4a6e4e6d38596e776556230165222c486a363977527a6b72467566314e627934797a5045464864736d51644d6f56596a76444b5a534c6a5a464570732c3761746746384b516f34774a7244354154475837743156327a5676796b504a6246664e655666316963467631120400f04d011301071401011546304402203a79abe8991286a1d9181414f88281ddcc088832c375e914f6bd4b7563b2d57102206d30bcabf267bc75fa16d5029fa60aa6dbf27bec69a9ed8d82772add344fe772"
108
143
  : "invalid challenge";
109
144
  return HttpResponse.json({
110
145
  signedDescriptor,
111
146
  });
112
- }), http.get("https://earn.api.live.ledger.com/v0/network/solana/validator-details", () => HttpResponse.json([])), http.get("https://crypto-assets-service.api.ledger.com/v1/tokens", () => HttpResponse.json([])));
147
+ }), http.get("https://nft.api.live.ledger.com/v2/solana/computed-token-account/Hj69wRzkrFuf1Nby4yzPEFHdsmQdMoVYjvDKZSLjZFEp/3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y", ({ request }) => {
148
+ const url = new URL(request.url);
149
+ const signedDescriptor = url.searchParams.get("challenge") === "0x5c9dd1f4"
150
+ ? "010103020102700106710106202c326d6d584a4d794d6d3658704c32686a5a33675163444b7971347a42586f54455459546d566938797a6b6778230165222c486a363977527a6b72467566314e627934797a5045464864736d51644d6f56596a76444b5a534c6a5a464570732c3369514c38424653327645376d7777346568417151484173626d524e43725078697a574154325a667972397912045c9dd1f41301071401011547304502201e477590350a97db3924f7ce88c49a6e1bb33cfe3dc22905b3ef39d0f9445961022100fa7b0ed5b34adbdc61422168268d9dc73fad8083ce0ee00e1195f6a6fedf3e2a"
151
+ : "invalid challenge";
152
+ return HttpResponse.json({
153
+ signedDescriptor,
154
+ });
155
+ }), http.get("https://earn.api.live.ledger.com/v0/network/solana/validator-details", () => HttpResponse.json([])), http.get("https://crypto-assets-service.api.ledger.com/v1/tokens", ({ request }) => {
156
+ const url = new URL(request.url);
157
+ switch (url.searchParams.get("id")) {
158
+ case "solana/spl/epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v": // USDC
159
+ return HttpResponse.json([
160
+ {
161
+ descriptor: {
162
+ data: "0101900201010304800001f50406536f6c616e610504555344430601060733100100112c45506a465764643541756671535371654d32714e31787a7962617043384734774547476b5a777954447431761200",
163
+ signatures: {
164
+ prod: "3044022072409f98d63ffc8c2f15c1fcceb79bd7733490b4745c40557cb67a4bcf681cf7022014da5ab63b6f627eac9a89388fa9aa4d0195ad0d4fa5786a4fb0e516400eb423",
165
+ },
166
+ },
167
+ descriptor_exchange_app: { signatures: {} },
168
+ },
169
+ ]);
170
+ case "solana/spl/7atgf8kqo4wjrd5atgx7t1v2zvvykpjbffnevf1icfv1": // CWIF
171
+ return HttpResponse.json([
172
+ {
173
+ descriptor: {
174
+ data: "0101900201010304800001f50406536f6c616e610504435749460601020734100101112c3761746746384b516f34774a7244354154475837743156327a5676796b504a6246664e655666316963467631120101",
175
+ signatures: {
176
+ prod: "3045022100929e824eab136768313d2358ef3be21144b60a4353c1582e226516ce73e8dd8c02203d70ef7c952d7bf25c009041b089bfacfffcdabe0ad9f2352372f666a1c70e79",
177
+ },
178
+ },
179
+ descriptor_exchange_app: { signatures: {} },
180
+ },
181
+ ]);
182
+ case "solana/spl/3iql8bfs2ve7mww4ehaqqhasbmrncrpxizwat2zfyr9y": // VIRTUAL
183
+ return HttpResponse.json([
184
+ {
185
+ descriptor: {
186
+ data: "0101900201010304800001f50406536f6c616e6105075649525455414c0601090733100100112c3369514c38424653327645376d7777346568417151484173626d524e43725078697a574154325a66797239791200",
187
+ signatures: {
188
+ prod: "304402205e5ab58e4ad414c7641effdab231e30d4e6aab5a7d99f7d87ef4932612f0bf56022014c71b9049022ed020107b86d6d0efe06e157e30d8487dd71970fa7e42d6a1bf",
189
+ },
190
+ },
191
+ descriptor_exchange_app: { signatures: {} },
192
+ },
193
+ ]);
194
+ }
195
+ return HttpResponse.json([]);
196
+ }));
113
197
  mockServer.listen({
114
198
  onUnhandledRequest: request => {
115
199
  const hostname = new URL(request.url).hostname;
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../src/scenarii/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAuC9F,eAAO,MAAM,cAAc;;;CAAmD,CAAC;AAmT/E,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CA2DrE,CAAC"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../src/scenarii/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAyC9F,eAAO,MAAM,cAAc;;;CAAmD,CAAC;AAkX/E,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CA8DrE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { killSpeculos, spawnSpeculos } from "@ledgerhq/coin-tester/signers/speculos";
2
2
  import resolver from "@ledgerhq/coin-solana/hw-getAddress";
3
3
  import { LegacySignerSolana } from "@ledgerhq/live-signer-solana";
4
- import { RECIPIENT, SOLANA, SOLANA_CWIF, SOLANA_USDC, WITHDRAWABLE_AMOUNT, initMSW, makeAccount, } from "../fixtures";
4
+ import { RECIPIENT, SOLANA, SOLANA_CWIF, SOLANA_USDC, WITHDRAWABLE_AMOUNT, SOLANA_VIRTUAL, initMSW, makeAccount, } from "../fixtures";
5
5
  import solanaCoinConfig from "@ledgerhq/coin-solana/config";
6
6
  import BigNumber from "bignumber.js";
7
7
  import { setEnv } from "@ledgerhq/live-env";
@@ -12,6 +12,7 @@ import { PublicKey } from "@solana/web3.js";
12
12
  import { PAYER, STAKE_ACCOUNT, VOTE_ACCOUNT, createSplAccount, initStakeAccount, initVoteAccount, } from "../connection";
13
13
  import { getChainAPI } from "@ledgerhq/coin-solana/network/index";
14
14
  import { makeBridges } from "@ledgerhq/coin-solana/bridge/bridge";
15
+ import { addTokens } from "@ledgerhq/cryptoassets/tokens";
15
16
  global.console = require("console");
16
17
  jest.setTimeout(100_000);
17
18
  // Note this config runs with NanoX
@@ -109,6 +110,42 @@ function makeScenarioTransactions(address) {
109
110
  expect(currentAssociatedTokenAccount?.balance).toStrictEqual(previousAssociatedTokenAccount?.balance.minus(latestAssociatedTokenAccountOperation.value));
110
111
  },
111
112
  };
113
+ const virtualAssociatedTokenAccountAddress = getAssociatedTokenAddressSync(new PublicKey(SOLANA_VIRTUAL.contractAddress), new PublicKey(address));
114
+ const virtualSubAccountId = encodeAccountIdWithTokenAccountAddress(`js:2:solana:${address}:solanaSub`, virtualAssociatedTokenAccountAddress.toBase58());
115
+ const scenarioSendVirtualTransaction = {
116
+ name: "Send 1 VIRTUAL",
117
+ amount: new BigNumber(1e9),
118
+ recipient: RECIPIENT,
119
+ subAccountId: virtualSubAccountId,
120
+ expect: (previousAccount, currentAccount) => {
121
+ expect(currentAccount.operations.length - previousAccount.operations.length).toEqual(1);
122
+ const currentAssociatedTokenAccount = currentAccount.subAccounts?.find(sa => sa.id === virtualSubAccountId);
123
+ const previousAssociatedTokenAccount = previousAccount.subAccounts?.find(sa => sa.id === virtualSubAccountId);
124
+ const [latestAssociatedTokenAccountOperation] = currentAssociatedTokenAccount?.operations ?? [];
125
+ expect(latestAssociatedTokenAccountOperation.type).toEqual("OUT");
126
+ expect(latestAssociatedTokenAccountOperation.value).toStrictEqual(new BigNumber(1e9));
127
+ expect(latestAssociatedTokenAccountOperation.senders).toStrictEqual([address]);
128
+ expect(latestAssociatedTokenAccountOperation.recipients).toStrictEqual([RECIPIENT]);
129
+ expect(currentAssociatedTokenAccount?.balance).toStrictEqual(previousAssociatedTokenAccount?.balance.minus(latestAssociatedTokenAccountOperation.value));
130
+ },
131
+ };
132
+ const scenarioSendAllVirtualTransaction = {
133
+ name: "Send All VIRTUAL",
134
+ useAllAmount: true,
135
+ recipient: RECIPIENT,
136
+ subAccountId: virtualSubAccountId,
137
+ expect: (previousAccount, currentAccount) => {
138
+ expect(currentAccount.operations.length - previousAccount.operations.length).toEqual(1);
139
+ const currentAssociatedTokenAccount = currentAccount.subAccounts?.find(sa => sa.id === virtualSubAccountId);
140
+ const previousAssociatedTokenAccount = previousAccount.subAccounts?.find(sa => sa.id === virtualSubAccountId);
141
+ const [latestAssociatedTokenAccountOperation] = currentAssociatedTokenAccount?.operations ?? [];
142
+ expect(latestAssociatedTokenAccountOperation.type).toEqual("OUT");
143
+ expect(latestAssociatedTokenAccountOperation.senders).toStrictEqual([address]);
144
+ expect(latestAssociatedTokenAccountOperation.recipients).toStrictEqual([RECIPIENT]);
145
+ expect(currentAssociatedTokenAccount?.balance).toStrictEqual(previousAssociatedTokenAccount?.balance.minus(latestAssociatedTokenAccountOperation.value));
146
+ expect(currentAssociatedTokenAccount?.spendableBalance).toStrictEqual(new BigNumber(0));
147
+ },
148
+ };
112
149
  const scenarioCreateSolStakeAccountTransaction = {
113
150
  name: "Create Stake Account 1 Sol",
114
151
  amount: new BigNumber(1e9),
@@ -234,6 +271,8 @@ function makeScenarioTransactions(address) {
234
271
  scenarioSendAllUsdcTransaction,
235
272
  scenarioSendCwifTransaction,
236
273
  scenarioSendAllCwifTransaction,
274
+ scenarioSendVirtualTransaction,
275
+ scenarioSendAllVirtualTransaction,
237
276
  scenarioCreateSolStakeAccountTransaction,
238
277
  scenarioActivateStakeAccount,
239
278
  scenarioDeactivateStakeAccount,
@@ -280,6 +319,9 @@ export const scenarioSolana = {
280
319
  await airdrop(PAYER.publicKey.toBase58(), 5);
281
320
  await createSplAccount(account.freshAddress, SOLANA_USDC, 5, "spl-token");
282
321
  await createSplAccount(account.freshAddress, SOLANA_CWIF, 5, "spl-token-2022");
322
+ // Token not supported on LL as of 09/06/2025
323
+ addTokens([SOLANA_VIRTUAL]);
324
+ await createSplAccount(account.freshAddress, SOLANA_VIRTUAL, 5, "spl-token");
283
325
  await initVoteAccount();
284
326
  await initStakeAccount(account.freshAddress, WITHDRAWABLE_AMOUNT);
285
327
  initMSW();
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../src/scenarii/solana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../src/scenarii/solana.ts"],"names":[],"mappings":"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"}