Skip to content

Commit 2203dd6

Browse files
committed
Merge branch 'main' into NWNT-379-track-blockaid-metrics
2 parents 4390b0e + 3de1292 commit 2203dd6

75 files changed

Lines changed: 3990 additions & 552 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-lint-test.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ on:
1111
required: true
1212
RPC_URL_LOCALNET_LIST:
1313
required: true
14+
RPC_WEB_SOCKET_URL_MAINNET:
15+
required: true
16+
RPC_WEB_SOCKET_URL_DEVNET:
17+
required: true
18+
RPC_WEB_SOCKET_URL_TESTNET:
19+
required: true
20+
RPC_WEB_SOCKET_URL_LOCALNET:
21+
required: true
1422
PRICE_API_BASE_URL:
1523
required: true
1624
LOCAL_API_BASE_URL:
@@ -47,6 +55,10 @@ jobs:
4755
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
4856
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
4957
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
58+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
59+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
60+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
61+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
5062
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
5163
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
5264
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}
@@ -94,6 +106,10 @@ jobs:
94106
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
95107
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
96108
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
109+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
110+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
111+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
112+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
97113
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
98114
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
99115
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}

.github/workflows/create-release-pr.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ jobs:
5959
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
6060
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
6161
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
62+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
63+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
64+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
65+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
6266
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
6367
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
6468
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}

.github/workflows/main.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ jobs:
1313
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
1414
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
1515
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
16+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
17+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
18+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
19+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
1620
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
1721
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
1822
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}
@@ -87,6 +91,10 @@ jobs:
8791
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
8892
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
8993
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
94+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
95+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
96+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
97+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
9098
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
9199
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
92100
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}

.github/workflows/pr.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ jobs:
2727
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
2828
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
2929
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
30+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
31+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
32+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
33+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
3034
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
3135
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
3236
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}

.github/workflows/publish-release.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ on:
1515
required: true
1616
RPC_URL_LOCALNET_LIST:
1717
required: true
18+
RPC_WEB_SOCKET_URL_MAINNET:
19+
required: true
20+
RPC_WEB_SOCKET_URL_DEVNET:
21+
required: true
22+
RPC_WEB_SOCKET_URL_TESTNET:
23+
required: true
24+
RPC_WEB_SOCKET_URL_LOCALNET:
25+
required: true
1826
PRICE_API_BASE_URL:
1927
required: true
2028
LOCAL_API_BASE_URL:
@@ -51,6 +59,10 @@ jobs:
5159
RPC_URL_DEVNET_LIST: ${{ secrets.RPC_URL_DEVNET_LIST }}
5260
RPC_URL_TESTNET_LIST: ${{ secrets.RPC_URL_TESTNET_LIST }}
5361
RPC_URL_LOCALNET_LIST: ${{ secrets.RPC_URL_LOCALNET_LIST }}
62+
RPC_WEB_SOCKET_URL_MAINNET: ${{ secrets.RPC_WEB_SOCKET_URL_MAINNET }}
63+
RPC_WEB_SOCKET_URL_DEVNET: ${{ secrets.RPC_WEB_SOCKET_URL_DEVNET }}
64+
RPC_WEB_SOCKET_URL_TESTNET: ${{ secrets.RPC_WEB_SOCKET_URL_TESTNET }}
65+
RPC_WEB_SOCKET_URL_LOCALNET: ${{ secrets.RPC_WEB_SOCKET_URL_LOCALNET }}
5466
EXPLORER_BASE_URL: ${{ secrets.EXPLORER_BASE_URL }}
5567
PRICE_API_BASE_URL: ${{ secrets.PRICE_API_BASE_URL }}
5668
LOCAL_API_BASE_URL: ${{ secrets.LOCAL_API_BASE_URL }}

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v21.7.3
1+
v22.17.0

docs/contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Thank you for your interest in contributing to the Snap Solana Wallet project! T
66

77
- [MetaMask Flask](https://consensyssoftware.atlassian.net/wiki/x/IQCOB10) is required for testing the snap locally
88
- [NVM](https://github.com/creationix/nvm) to manage Node.js and avoid compatibility issues between different projects
9-
- Node.js `21.7.3` as specified in `.nvmrc`
9+
- Node.js `v22.17.0` as specified in `.nvmrc`
1010
- Yarn `3.8.6` is required due to MetaMask package compatibility
1111

1212
## 🚀 Quick Start

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "solana-wallet-snap-monorepo",
3-
"version": "1.33.3",
3+
"version": "1.34.0",
44
"private": true,
55
"description": "",
66
"homepage": "https://github.com/MetaMask/snap-solana-wallet#readme",
@@ -35,6 +35,9 @@
3535
"yarn lint:fix"
3636
]
3737
},
38+
"resolutions": {
39+
"@metamask/snaps-sdk": "8.1.0"
40+
},
3841
"devDependencies": {
3942
"@commitlint/cli": "^17.7.1",
4043
"@commitlint/config-conventional": "^17.7.0",

packages/site/src/components/Handlers/Handlers.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Text as ChakraText, Flex, Stack } from '@chakra-ui/react';
22

33
import { OnProtocolRequest } from './OnProtocolRequest';
4+
import { WebSockets } from './WebSockets';
45

56
export const Handlers = () => (
67
<Flex direction="column" width="full" marginBottom="5">
@@ -9,6 +10,7 @@ export const Handlers = () => (
910
</ChakraText>
1011
<Stack direction="row" gap="5" wrap="wrap">
1112
<OnProtocolRequest />
13+
<WebSockets />
1214
</Stack>
1315
</Flex>
1416
);
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/* eslint-disable @typescript-eslint/no-unused-vars */
2+
import { Button, Card, Flex } from '@chakra-ui/react';
3+
4+
import { TestDappRpcRequestMethod } from '../../../../snap/src/core/handlers/onRpcRequest/types';
5+
import { useInvokeSnap } from '../../hooks';
6+
import { useShowToasterForResponse } from '../../hooks/useToasterForResponse';
7+
8+
export const WebSockets = () => {
9+
const invokeSnap = useInvokeSnap();
10+
const { showToasterForResponse } = useShowToasterForResponse();
11+
12+
const setupAllConnections = async () => {
13+
showToasterForResponse(
14+
{ result: 'ok' },
15+
{
16+
title: 'Initiated WebSocket connections to all active networks',
17+
description: `Inspect the offscreen console`,
18+
},
19+
);
20+
21+
await invokeSnap({
22+
method: TestDappRpcRequestMethod.TestSetupAllConnections,
23+
});
24+
};
25+
26+
const subscribeToAccount = async () => {
27+
await invokeSnap({
28+
method: TestDappRpcRequestMethod.TestSubscribeToAccount,
29+
});
30+
31+
showToasterForResponse(
32+
{ result: 'ok' },
33+
{
34+
title:
35+
'Initiated subscription to account 8A4AptCThfbuknsbteHgGKXczfJpfjuVA9SLTSGaaLGC',
36+
description: `Inspect the offscreen console`,
37+
},
38+
);
39+
};
40+
41+
return (
42+
<Card.Root>
43+
<Card.Header>
44+
<Card.Title>WebSockets</Card.Title>
45+
</Card.Header>
46+
<Card.Body gap="2">
47+
<Flex>
48+
<Button
49+
variant="outline"
50+
onClick={setupAllConnections}
51+
marginRight="1"
52+
>
53+
Setup All Connections
54+
</Button>
55+
</Flex>
56+
<Flex>
57+
<Button
58+
variant="outline"
59+
onClick={subscribeToAccount}
60+
marginRight="1"
61+
>
62+
Subscribe to account
63+
</Button>
64+
</Flex>
65+
</Card.Body>
66+
</Card.Root>
67+
);
68+
};

0 commit comments

Comments
 (0)