@walletchan/rpc 0.1.0 → 0.1.2
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/README.md +70 -15
- package/SKILL.md +10 -0
- package/dist/chains.d.ts.map +1 -1
- package/dist/chains.js +101 -35
- package/dist/chains.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +64 -14
- package/dist/index.js.map +1 -1
- package/dist/rpcHandler.js +31 -1
- package/dist/rpcHandler.js.map +1 -1
- package/dist/rpcServer.d.ts.map +1 -1
- package/dist/rpcServer.js +22 -0
- package/dist/rpcServer.js.map +1 -1
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +7 -0
- package/dist/skill.js.map +1 -1
- package/dist/walletConnect.d.ts +20 -4
- package/dist/walletConnect.d.ts.map +1 -1
- package/dist/walletConnect.js +112 -16
- package/dist/walletConnect.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ Use it for:
|
|
|
11
11
|
- Giving AI agents wallet access through a local RPC, with every send or signature still requiring user approval
|
|
12
12
|
- Foundry, Cast, viem, ethers, shell scripts, or any JSON-RPC client
|
|
13
13
|
- User-approved sends, signatures, and ERC-5792 `wallet_sendCalls` batches
|
|
14
|
+
- Any EVM chain when you provide its numeric chain ID and upstream RPC URL
|
|
14
15
|
- WalletConnect-compatible wallets, including [WalletChan](https://walletchan.com) and many mobile wallets
|
|
15
16
|
|
|
16
17
|
## Usage
|
|
@@ -54,33 +55,85 @@ curl http://127.0.0.1:4209/SKILL.md
|
|
|
54
55
|
|
|
55
56
|
The live skill includes the current RPC URL, approved account, active chain, and batching state.
|
|
56
57
|
|
|
58
|
+
If the wallet connection is revoked from WalletChan, the RPC treats the session as disconnected once the WalletConnect session is deleted, expires, or updates to zero approved accounts. In an interactive terminal, the CLI prints the disconnect reason and waits for Enter before generating a fresh WalletConnect URI. Non-interactive callers can call `http://127.0.0.1:4209/pairing` to get a fresh URI without restarting the RPC process.
|
|
59
|
+
|
|
57
60
|
## Chains
|
|
58
61
|
|
|
59
|
-
|
|
62
|
+
WalletChan RPC is not limited to the chains in this table. It can expose any EVM chain that the connected wallet supports when you provide a numeric chain ID and upstream RPC URL.
|
|
63
|
+
|
|
64
|
+
Built-in names and default RPC URLs are copied from WalletChan's extension registry:
|
|
60
65
|
|
|
61
66
|
```bash
|
|
62
67
|
walletchan-rpc --chain base
|
|
63
|
-
walletchan-rpc --chain base --chain
|
|
64
|
-
walletchan-rpc --chain
|
|
68
|
+
walletchan-rpc --chain base --chain arbitrum
|
|
69
|
+
walletchan-rpc --chain optimism --port 4210
|
|
65
70
|
```
|
|
66
71
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
| Name
|
|
70
|
-
|
|
|
71
|
-
| `
|
|
72
|
-
| `
|
|
73
|
-
| `
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
Mainnet aliases:
|
|
73
|
+
|
|
74
|
+
| Name | Chain ID | Default RPC |
|
|
75
|
+
| ---------------- | -------- | -------------------------------------- |
|
|
76
|
+
| `ethereum` | 1 | `https://eth.drpc.org` |
|
|
77
|
+
| `arbitrum` | 42161 | `https://arb1.arbitrum.io/rpc` |
|
|
78
|
+
| `base` | 8453 | `https://base.drpc.org` |
|
|
79
|
+
| `bnb` | 56 | `https://bsc-dataseed.binance.org` |
|
|
80
|
+
| `optimism` | 10 | `https://mainnet.optimism.io` |
|
|
81
|
+
| `megaeth` | 4326 | `https://mainnet.megaeth.com/rpc` |
|
|
82
|
+
| `polygon` | 137 | `https://polygon.drpc.org` |
|
|
83
|
+
| `unichain` | 130 | `https://mainnet.unichain.org` |
|
|
84
|
+
| `gnosis` | 100 | `https://gnosis.drpc.org` |
|
|
85
|
+
| `monad` | 143 | `https://monad.drpc.org` |
|
|
86
|
+
| `sonic` | 146 | `https://sonic.drpc.org` |
|
|
87
|
+
| `intuition` | 1155 | `https://rpc.intuition.systems` |
|
|
88
|
+
| `sei` | 1329 | `https://sei.drpc.org` |
|
|
89
|
+
| `ronin` | 2020 | `https://ronin.drpc.org` |
|
|
90
|
+
| `citrea` | 4114 | `https://rpc.citrea.xyz` |
|
|
91
|
+
| `tempo` | 4217 | `https://tempo.drpc.org` |
|
|
92
|
+
| `mantle` | 5000 | `https://mantle.drpc.org` |
|
|
93
|
+
| `arbitrum-nova` | 42170 | `https://arbitrum-nova.drpc.org` |
|
|
94
|
+
| `celo` | 42220 | `https://celo.drpc.org` |
|
|
95
|
+
| `ink` | 57073 | `https://ink.drpc.org` |
|
|
96
|
+
| `linea` | 59144 | `https://linea.drpc.org` |
|
|
97
|
+
| `berachain` | 80094 | `https://berachain.drpc.org` |
|
|
98
|
+
| `katana` | 747474 | `https://katana.drpc.org` |
|
|
99
|
+
|
|
100
|
+
Testnet aliases:
|
|
101
|
+
|
|
102
|
+
| Name | Chain ID | Default RPC |
|
|
103
|
+
| -------------------- | -------- | ------------------------------------------------ |
|
|
104
|
+
| `bnb-testnet` | 97 | `https://data-seed-prebsc-1-s1.bnbchain.org:8545` |
|
|
105
|
+
| `unichain-sepolia` | 1301 | `https://sepolia.unichain.org` |
|
|
106
|
+
| `sei-testnet` | 1328 | `https://evm-rpc-testnet.sei-apis.com` |
|
|
107
|
+
| `mantle-sepolia` | 5003 | `https://rpc.sepolia.mantle.xyz` |
|
|
108
|
+
| `citrea-testnet` | 5115 | `https://rpc.testnet.citrea.xyz` |
|
|
109
|
+
| `megaeth-testnet` | 6343 | `https://carrot.megaeth.com/rpc` |
|
|
110
|
+
| `monad-testnet` | 10143 | `https://testnet-rpc.monad.xyz` |
|
|
111
|
+
| `gnosis-chiado` | 10200 | `https://rpc.chiadochain.net` |
|
|
112
|
+
| `intuition-testnet` | 13579 | `https://testnet.rpc.intuition.systems` |
|
|
113
|
+
| `sonic-testnet` | 14601 | `https://rpc.testnet.soniclabs.com` |
|
|
114
|
+
| `tempo-testnet` | 42431 | `https://rpc.moderato.tempo.xyz` |
|
|
115
|
+
| `linea-sepolia` | 59141 | `https://rpc.sepolia.linea.build` |
|
|
116
|
+
| `polygon-amoy` | 80002 | `https://rpc-amoy.polygon.technology` |
|
|
117
|
+
| `berachain-bepolia` | 80069 | `https://bepolia.rpc.berachain.com` |
|
|
118
|
+
| `base-sepolia` | 84532 | `https://sepolia.base.org` |
|
|
119
|
+
| `ronin-saigon` | 202601 | `https://saigon-testnet.roninchain.com/rpc` |
|
|
120
|
+
| `arbitrum-sepolia` | 421614 | `https://sepolia-rollup.arbitrum.io/rpc` |
|
|
121
|
+
| `hoodi` | 560048 | `https://rpc.hoodi.ethpandaops.io` |
|
|
122
|
+
| `katana-bokuto` | 737373 | `https://rpc.bokuto.katanarpc.com` |
|
|
123
|
+
| `ink-sepolia` | 763373 | `https://rpc-gel-sepolia.inkonchain.com` |
|
|
124
|
+
| `celo-sepolia` | 11142220 | `https://forno.celo-sepolia.celo-testnet.org` |
|
|
125
|
+
| `sepolia` | 11155111 | `https://11155111.rpc.thirdweb.com` |
|
|
126
|
+
| `optimism-sepolia` | 11155420 | `https://sepolia.optimism.io` |
|
|
127
|
+
|
|
128
|
+
For any other EVM chain, use its numeric chain ID and provide an RPC URL:
|
|
78
129
|
|
|
79
130
|
```bash
|
|
80
131
|
walletchan-rpc --chain base --rpc base=https://mainnet.base.org
|
|
81
|
-
walletchan-rpc --chain
|
|
132
|
+
walletchan-rpc --chain 43114 --rpc 43114=https://api.avax.network/ext/bc/C/rpc
|
|
82
133
|
```
|
|
83
134
|
|
|
135
|
+
Repeat `--chain` to expose multiple chains. Requests can target a configured chain with `wallet_switchEthereumChain` or by including a `chainId` where the method supports it.
|
|
136
|
+
|
|
84
137
|
## Batching
|
|
85
138
|
|
|
86
139
|
ERC-5792 batching is enabled by default. The WalletConnect proposal includes:
|
|
@@ -127,6 +180,8 @@ Rejected methods:
|
|
|
127
180
|
|
|
128
181
|
WalletConnect sessions persist across CLI restarts by default. If a compatible stored session exists for the same host and port, the CLI reuses it and skips the QR/paste flow.
|
|
129
182
|
|
|
183
|
+
During a running process, stale or manually revoked sessions are invalidated automatically. Interactive CLI sessions prompt for Enter before generating a new URI; a fresh pairing URI is also available from `/pairing`.
|
|
184
|
+
|
|
130
185
|
To discard stored sessions and force a fresh pairing:
|
|
131
186
|
|
|
132
187
|
```bash
|
package/SKILL.md
CHANGED
|
@@ -29,6 +29,14 @@ bunx @walletchan/rpc --chain base
|
|
|
29
29
|
|
|
30
30
|
The CLI starts the local RPC and `SKILL.md` endpoint immediately, then displays a WalletConnect QR/URI if no reusable session exists. The user must approve the WalletConnect session before wallet send/sign requests can succeed. Stored WalletConnect sessions are reused across CLI restarts by default.
|
|
31
31
|
|
|
32
|
+
Built-in chain aliases and default RPC URLs are copied from WalletChan's extension registry. Common aliases include `ethereum`, `arbitrum`, `base`, `bnb`, `optimism`, `megaeth`, `polygon`, `unichain`, `gnosis`, `monad`, `sonic`, `sei`, `mantle`, `linea`, `berachain`, and `base-sepolia`.
|
|
33
|
+
|
|
34
|
+
WalletChan RPC is not limited to built-in chain names. For any EVM chain supported by the connected wallet, ask the user to start it with the numeric chain ID and an upstream RPC URL, for example:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx @walletchan/rpc --chain 43114 --rpc 43114=https://api.avax.network/ext/bc/C/rpc
|
|
38
|
+
```
|
|
39
|
+
|
|
32
40
|
When the RPC is running, prefer the live local skill because it contains the exact URL, connected account, active chain, and batching state:
|
|
33
41
|
|
|
34
42
|
```bash
|
|
@@ -61,6 +69,7 @@ Read-only JSON-RPC methods may be forwarded to the configured upstream RPC. Loca
|
|
|
61
69
|
- If the wallet rejects a request, report the rejection to the user. Do not retry rejected sends automatically.
|
|
62
70
|
- Use only an approved account from `eth_accounts` as `from` or Foundry `--sender`.
|
|
63
71
|
- If a request targets a different configured chain, include the target `chainId` or call `wallet_switchEthereumChain` first.
|
|
72
|
+
- If the needed EVM chain is not configured, ask the user to restart the CLI with `--chain <chainId> --rpc <chainId>=https://...`.
|
|
64
73
|
- WalletConnect sessions persist across CLI restarts. Ask the user to restart with `--force-new-session` only when they want a fresh pairing.
|
|
65
74
|
|
|
66
75
|
## Discovery
|
|
@@ -68,6 +77,7 @@ Read-only JSON-RPC methods may be forwarded to the configured upstream RPC. Loca
|
|
|
68
77
|
```bash
|
|
69
78
|
curl -s http://127.0.0.1:4209/health
|
|
70
79
|
curl -s http://127.0.0.1:4209/session
|
|
80
|
+
curl -s http://127.0.0.1:4209/pairing
|
|
71
81
|
curl -s http://127.0.0.1:4209/SKILL.md
|
|
72
82
|
```
|
|
73
83
|
|
package/dist/chains.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,YAAY;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,YAAY;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAmHD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAU1D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAYnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAkB7D;AAkBD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,YAAY,EAAE,CA8BhB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAEzF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAE3D"}
|
package/dist/chains.js
CHANGED
|
@@ -1,39 +1,105 @@
|
|
|
1
|
+
function chain(name, displayName, chainId, rpcUrl, aliases = []) {
|
|
2
|
+
return { name, displayName, chainId, rpcUrl, aliases };
|
|
3
|
+
}
|
|
1
4
|
const BUILTIN_CHAINS = [
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
5
|
+
// WalletChan extension default networks.
|
|
6
|
+
chain("ethereum", "Ethereum", 1, "https://eth.drpc.org", ["eth", "mainnet"]),
|
|
7
|
+
chain("arbitrum", "Arbitrum", 42161, "https://arb1.arbitrum.io/rpc", [
|
|
8
|
+
"arb",
|
|
9
|
+
"arbitrum-one",
|
|
10
|
+
]),
|
|
11
|
+
chain("base", "Base", 8453, "https://base.drpc.org", ["base-mainnet"]),
|
|
12
|
+
chain("bnb", "BNB Chain", 56, "https://bsc-dataseed.binance.org", [
|
|
13
|
+
"bsc",
|
|
14
|
+
"bnb-chain",
|
|
15
|
+
"binance",
|
|
16
|
+
"binance-smart-chain",
|
|
17
|
+
]),
|
|
18
|
+
chain("optimism", "Optimism", 10, "https://mainnet.optimism.io", [
|
|
19
|
+
"op",
|
|
20
|
+
"optimistic-ethereum",
|
|
21
|
+
]),
|
|
22
|
+
chain("megaeth", "MegaETH", 4326, "https://mainnet.megaeth.com/rpc", ["mega"]),
|
|
23
|
+
chain("polygon", "Polygon", 137, "https://polygon.drpc.org", [
|
|
24
|
+
"matic",
|
|
25
|
+
"polygon-pos",
|
|
26
|
+
]),
|
|
27
|
+
chain("unichain", "Unichain", 130, "https://mainnet.unichain.org", ["uni"]),
|
|
28
|
+
// WalletChan known-chain registry entries with default RPC metadata.
|
|
29
|
+
chain("gnosis", "Gnosis", 100, "https://gnosis.drpc.org", ["xdai"]),
|
|
30
|
+
chain("monad", "Monad", 143, "https://monad.drpc.org"),
|
|
31
|
+
chain("sonic", "Sonic", 146, "https://sonic.drpc.org"),
|
|
32
|
+
chain("intuition", "Intuition", 1155, "https://rpc.intuition.systems"),
|
|
33
|
+
chain("sei", "Sei Network", 1329, "https://sei.drpc.org", ["sei-network"]),
|
|
34
|
+
chain("ronin", "Ronin", 2020, "https://ronin.drpc.org"),
|
|
35
|
+
chain("citrea", "Citrea", 4114, "https://rpc.citrea.xyz"),
|
|
36
|
+
chain("tempo", "Tempo", 4217, "https://tempo.drpc.org"),
|
|
37
|
+
chain("mantle", "Mantle", 5000, "https://mantle.drpc.org"),
|
|
38
|
+
chain("arbitrum-nova", "Arbitrum Nova", 42170, "https://arbitrum-nova.drpc.org", [
|
|
39
|
+
"arb-nova",
|
|
40
|
+
"nova",
|
|
41
|
+
]),
|
|
42
|
+
chain("celo", "Celo", 42220, "https://celo.drpc.org"),
|
|
43
|
+
chain("ink", "Ink", 57073, "https://ink.drpc.org"),
|
|
44
|
+
chain("linea", "Linea Mainnet", 59144, "https://linea.drpc.org", [
|
|
45
|
+
"linea-mainnet",
|
|
46
|
+
]),
|
|
47
|
+
chain("berachain", "Berachain", 80094, "https://berachain.drpc.org", [
|
|
48
|
+
"bera",
|
|
49
|
+
]),
|
|
50
|
+
chain("katana", "Katana", 747474, "https://katana.drpc.org"),
|
|
51
|
+
// WalletChan known-chain testnets.
|
|
52
|
+
chain("bnb-testnet", "BNB Smart Chain Testnet", 97, "https://data-seed-prebsc-1-s1.bnbchain.org:8545", [
|
|
53
|
+
"bsc-testnet",
|
|
54
|
+
"binance-testnet",
|
|
55
|
+
]),
|
|
56
|
+
chain("unichain-sepolia", "Unichain Sepolia", 1301, "https://sepolia.unichain.org", [
|
|
57
|
+
"uni-sepolia",
|
|
58
|
+
]),
|
|
59
|
+
chain("sei-testnet", "Sei Testnet", 1328, "https://evm-rpc-testnet.sei-apis.com"),
|
|
60
|
+
chain("mantle-sepolia", "Mantle Sepolia Testnet", 5003, "https://rpc.sepolia.mantle.xyz"),
|
|
61
|
+
chain("citrea-testnet", "Citrea Testnet", 5115, "https://rpc.testnet.citrea.xyz"),
|
|
62
|
+
chain("megaeth-testnet", "MegaETH Testnet", 6343, "https://carrot.megaeth.com/rpc", [
|
|
63
|
+
"mega-testnet",
|
|
64
|
+
]),
|
|
65
|
+
chain("monad-testnet", "Monad Testnet", 10143, "https://testnet-rpc.monad.xyz"),
|
|
66
|
+
chain("gnosis-chiado", "Gnosis Chiado", 10200, "https://rpc.chiadochain.net", [
|
|
67
|
+
"chiado",
|
|
68
|
+
]),
|
|
69
|
+
chain("intuition-testnet", "Intuition Testnet", 13579, "https://testnet.rpc.intuition.systems"),
|
|
70
|
+
chain("sonic-testnet", "Sonic Testnet", 14601, "https://rpc.testnet.soniclabs.com"),
|
|
71
|
+
chain("tempo-testnet", "Tempo Testnet (Moderato)", 42431, "https://rpc.moderato.tempo.xyz", [
|
|
72
|
+
"moderato",
|
|
73
|
+
"tempo-moderato",
|
|
74
|
+
]),
|
|
75
|
+
chain("linea-sepolia", "Linea Sepolia Testnet", 59141, "https://rpc.sepolia.linea.build"),
|
|
76
|
+
chain("polygon-amoy", "Polygon Amoy", 80002, "https://rpc-amoy.polygon.technology", [
|
|
77
|
+
"amoy",
|
|
78
|
+
]),
|
|
79
|
+
chain("berachain-bepolia", "Berachain Bepolia", 80069, "https://bepolia.rpc.berachain.com", [
|
|
80
|
+
"bepolia",
|
|
81
|
+
"bera-bepolia",
|
|
82
|
+
]),
|
|
83
|
+
chain("base-sepolia", "Base Sepolia", 84532, "https://sepolia.base.org"),
|
|
84
|
+
chain("ronin-saigon", "Ronin Saigon", 202601, "https://saigon-testnet.roninchain.com/rpc", [
|
|
85
|
+
"saigon",
|
|
86
|
+
]),
|
|
87
|
+
chain("arbitrum-sepolia", "Arbitrum Sepolia", 421614, "https://sepolia-rollup.arbitrum.io/rpc", [
|
|
88
|
+
"arb-sepolia",
|
|
89
|
+
]),
|
|
90
|
+
chain("hoodi", "Hoodi", 560048, "https://rpc.hoodi.ethpandaops.io"),
|
|
91
|
+
chain("katana-bokuto", "Katana Bokuto", 737373, "https://rpc.bokuto.katanarpc.com", [
|
|
92
|
+
"bokuto",
|
|
93
|
+
]),
|
|
94
|
+
chain("ink-sepolia", "Ink Sepolia", 763373, "https://rpc-gel-sepolia.inkonchain.com"),
|
|
95
|
+
chain("celo-sepolia", "Celo Sepolia Testnet", 11142220, "https://forno.celo-sepolia.celo-testnet.org"),
|
|
96
|
+
chain("sepolia", "Sepolia", 11155111, "https://11155111.rpc.thirdweb.com", [
|
|
97
|
+
"ethereum-sepolia",
|
|
98
|
+
"eth-sepolia",
|
|
99
|
+
]),
|
|
100
|
+
chain("optimism-sepolia", "OP Sepolia", 11155420, "https://sepolia.optimism.io", [
|
|
101
|
+
"op-sepolia",
|
|
102
|
+
]),
|
|
37
103
|
];
|
|
38
104
|
export function toHexChainId(chainId) {
|
|
39
105
|
return `0x${chainId.toString(16)}`;
|
package/dist/chains.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAWA,MAAM,cAAc,GAAmB;IACrC;
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -32,7 +32,7 @@ Examples:
|
|
|
32
32
|
walletchan-rpc --chain base
|
|
33
33
|
walletchan-rpc --chain base --chain ethereum
|
|
34
34
|
walletchan-rpc --chain base --rpc base=https://mainnet.base.org
|
|
35
|
-
walletchan-rpc --chain
|
|
35
|
+
walletchan-rpc --chain 43114 --rpc 43114=https://api.avax.network/ext/bc/C/rpc
|
|
36
36
|
`)
|
|
37
37
|
.parse(stripForwardedSeparator(argv));
|
|
38
38
|
const options = program.opts();
|
package/dist/index.js
CHANGED
|
@@ -5,11 +5,12 @@ import { copyToClipboard } from "./clipboard.js";
|
|
|
5
5
|
import { formatChains } from "./chains.js";
|
|
6
6
|
import { log, stopActiveSpinner, style, withSpinner } from "./logger.js";
|
|
7
7
|
import { startRpcServer } from "./rpcServer.js";
|
|
8
|
-
import { WalletConnectBridge } from "./walletConnect.js";
|
|
8
|
+
import { WalletConnectBridge, } from "./walletConnect.js";
|
|
9
9
|
async function main() {
|
|
10
10
|
const config = parseCli(process.argv);
|
|
11
11
|
let activeChain = config.chains[0];
|
|
12
12
|
let server = null;
|
|
13
|
+
let reconnecting = false;
|
|
13
14
|
let shuttingDown = false;
|
|
14
15
|
const wallet = new WalletConnectBridge({
|
|
15
16
|
chains: config.chains,
|
|
@@ -48,6 +49,11 @@ async function main() {
|
|
|
48
49
|
log.raw(formatCliSummary(config));
|
|
49
50
|
log.raw("");
|
|
50
51
|
server = startRpcServer(config, context);
|
|
52
|
+
wallet.onDisconnect((info) => {
|
|
53
|
+
if (!shuttingDown) {
|
|
54
|
+
void handleWalletDisconnect(info);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
51
57
|
let session = await wallet.init();
|
|
52
58
|
if (session) {
|
|
53
59
|
log.success(`Reused WalletConnect session: ${session.accounts.join(", ")}`);
|
|
@@ -60,6 +66,37 @@ async function main() {
|
|
|
60
66
|
if (config.forceNewSession) {
|
|
61
67
|
log.dim("Stored WalletConnect sessions cleared.");
|
|
62
68
|
}
|
|
69
|
+
session = await runPairingFlow();
|
|
70
|
+
}
|
|
71
|
+
printReadyInfo(session);
|
|
72
|
+
async function handleWalletDisconnect(info) {
|
|
73
|
+
if (reconnecting)
|
|
74
|
+
return;
|
|
75
|
+
reconnecting = true;
|
|
76
|
+
stopActiveSpinner();
|
|
77
|
+
log.raw("");
|
|
78
|
+
log.error(`WalletConnect disconnected: ${info.reason}`);
|
|
79
|
+
if (!process.stdin.isTTY) {
|
|
80
|
+
log.warn(`Generate a new URI with curl http://${config.host}:${config.port}/pairing or the MCP get_pairing_uri tool.`);
|
|
81
|
+
reconnecting = false;
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
while (!shuttingDown && !wallet.connected) {
|
|
85
|
+
await waitForEnter("Press Enter to generate a new WalletConnect URI...");
|
|
86
|
+
if (shuttingDown || wallet.connected)
|
|
87
|
+
break;
|
|
88
|
+
try {
|
|
89
|
+
const newSession = await runPairingFlow();
|
|
90
|
+
printReadyInfo(newSession);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
log.error(error instanceof Error ? error.message : String(error));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
reconnecting = false;
|
|
98
|
+
}
|
|
99
|
+
async function runPairingFlow() {
|
|
63
100
|
const proposal = await wallet.createSessionProposal();
|
|
64
101
|
const clipboard = await copyToClipboard(proposal.uri);
|
|
65
102
|
log.info("Pair with a wallet:");
|
|
@@ -81,21 +118,34 @@ async function main() {
|
|
|
81
118
|
log.warn("Copy the WalletConnect URI above manually.");
|
|
82
119
|
}
|
|
83
120
|
log.raw("");
|
|
84
|
-
|
|
85
|
-
log.success(`Connected: ${
|
|
86
|
-
if (
|
|
87
|
-
log.dim(`Wallet: ${
|
|
121
|
+
const approvedSession = await withSpinner("Waiting for wallet approval", proposal.approval);
|
|
122
|
+
log.success(`Connected: ${approvedSession.accounts.join(", ")}`);
|
|
123
|
+
if (approvedSession.peerName) {
|
|
124
|
+
log.dim(`Wallet: ${approvedSession.peerName}${approvedSession.peerUrl ? ` (${approvedSession.peerUrl})` : ""}`);
|
|
88
125
|
}
|
|
126
|
+
return approvedSession;
|
|
89
127
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
128
|
+
function printReadyInfo(readySession) {
|
|
129
|
+
log.raw("");
|
|
130
|
+
log.info(`Chains: ${formatChains(config.chains)}`);
|
|
131
|
+
log.info(`Active chain: ${activeChain.name} (${activeChain.chainId})`);
|
|
132
|
+
log.raw("");
|
|
133
|
+
log.info("Cast example:");
|
|
134
|
+
log.raw(` cast send 0xContractAddress "transfer(address,uint256)" 0xRecipient 1000000000000000000 --rpc-url http://${config.host}:${config.port} --unlocked --from ${readySession.accounts[0] || "0xYourAddress"}`);
|
|
135
|
+
log.raw("");
|
|
136
|
+
log.info("Forge script example:");
|
|
137
|
+
log.raw(` forge script script/Deploy.s.sol --rpc-url http://${config.host}:${config.port} --broadcast --unlocked --sender ${readySession.accounts[0] || "0xYourAddress"}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function waitForEnter(message) {
|
|
141
|
+
return new Promise((resolveWait) => {
|
|
142
|
+
process.stdout.write(`${style.yellow(message)} `);
|
|
143
|
+
process.stdin.resume();
|
|
144
|
+
process.stdin.once("data", () => {
|
|
145
|
+
process.stdin.pause();
|
|
146
|
+
resolveWait();
|
|
147
|
+
});
|
|
148
|
+
});
|
|
99
149
|
}
|
|
100
150
|
main().catch((error) => {
|
|
101
151
|
log.error(error instanceof Error ? error.message : String(error));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACL,mBAAmB,GAGpB,MAAM,oBAAoB,CAAC;AAE5B,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,WAAW,GAAiB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,GAAsB,IAAI,CAAC;IACrC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;KACpD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAe;QAC1B,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;QACjC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,WAAW,GAAG,KAAK,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,MAAM;KACP,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;QACvD,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,uEAAuE,CAAC,CAAC;QAC5F,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEZ,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,KAAK,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,OAAO,CAAC,iCAAiC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,KAAK,UAAU,sBAAsB,CAAC,IAA2B;QAC/D,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CACN,uCAAuC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,2CAA2C,CAC7G,CAAC;YACF,YAAY,GAAG,KAAK,CAAC;YACrB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,YAAY,CAAC,oDAAoD,CAAC,CAAC;YACzE,IAAI,YAAY,IAAI,MAAM,CAAC,SAAS;gBAAE,MAAM;YAE5C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;gBAC1C,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc;QAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEtD,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACnF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,GAAG,CAAC,OAAO,CAAC,wBAAwB,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,0BAA0B,SAAS,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,6BAA6B,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5F,GAAG,CAAC,OAAO,CAAC,cAAc,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,GAAG,CACL,WAAW,eAAe,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;QACJ,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,cAAc,CAAC,YAAyB;QAC/C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;QACvE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1B,GAAG,CAAC,GAAG,CACL,8GAA8G,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,sBAAsB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAC5M,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAClC,GAAG,CAAC,GAAG,CACL,uDAAuD,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,oCAAoC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CACnK,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/rpcHandler.js
CHANGED
|
@@ -83,6 +83,9 @@ async function switchEthereumChain(request, context) {
|
|
|
83
83
|
return null;
|
|
84
84
|
}
|
|
85
85
|
async function sendTransaction(request, context) {
|
|
86
|
+
if (!context.wallet.connected) {
|
|
87
|
+
throw walletDisconnectedError();
|
|
88
|
+
}
|
|
86
89
|
const params = getParamsArray(request);
|
|
87
90
|
const tx = params[0];
|
|
88
91
|
if (!isRecord(tx)) {
|
|
@@ -123,7 +126,18 @@ async function sendBundleStatusRequest(request, context) {
|
|
|
123
126
|
return sendWalletRequest(request, context, chain);
|
|
124
127
|
}
|
|
125
128
|
async function sendWalletRequest(request, context, chain) {
|
|
126
|
-
|
|
129
|
+
if (!context.wallet.connected) {
|
|
130
|
+
throw walletDisconnectedError();
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
return await context.wallet.request(chain.chainId, request.method, getParamsArray(request));
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (isWalletConnectDisconnectedError(error)) {
|
|
137
|
+
throw walletDisconnectedError(error instanceof Error ? error.message : String(error));
|
|
138
|
+
}
|
|
139
|
+
throw error;
|
|
140
|
+
}
|
|
127
141
|
}
|
|
128
142
|
function resolveSignatureChain(request, context) {
|
|
129
143
|
if (request.method !== "eth_signTypedData_v3" &&
|
|
@@ -194,4 +208,20 @@ function getBundleIdParam(params) {
|
|
|
194
208
|
function isRecord(value) {
|
|
195
209
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
196
210
|
}
|
|
211
|
+
function walletDisconnectedError(reason) {
|
|
212
|
+
return new RpcError(4900, "WalletConnect session is disconnected. Pair WalletChan again using /pairing or WalletChan MCP get_pairing_uri.", {
|
|
213
|
+
code: "walletconnect_disconnected",
|
|
214
|
+
needsPairing: true,
|
|
215
|
+
reason,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
function isWalletConnectDisconnectedError(error) {
|
|
219
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
220
|
+
return /WalletConnect session is not connected/i.test(message) ||
|
|
221
|
+
/WalletConnect session .*disconnected/i.test(message) ||
|
|
222
|
+
/session .*expired/i.test(message) ||
|
|
223
|
+
/session .*removed/i.test(message) ||
|
|
224
|
+
/session topic/i.test(message) ||
|
|
225
|
+
/No matching key/i.test(message);
|
|
226
|
+
}
|
|
197
227
|
//# sourceMappingURL=rpcHandler.js.map
|
package/dist/rpcHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../src/rpcHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../src/rpcHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/rpcServer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcServer.d.ts","sourceRoot":"","sources":["../src/rpcServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"rpcServer.d.ts","sourceRoot":"","sources":["../src/rpcServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAkFjF"}
|
package/dist/rpcServer.js
CHANGED
|
@@ -31,6 +31,7 @@ export function startRpcServer(config, context) {
|
|
|
31
31
|
app.get("/health", (c) => c.json({
|
|
32
32
|
ok: true,
|
|
33
33
|
connected: context.wallet.connected,
|
|
34
|
+
accounts: context.wallet.getAccounts(),
|
|
34
35
|
activeChainId: context.getActiveChain().chainId,
|
|
35
36
|
chains: context.chains.map((chain) => ({
|
|
36
37
|
name: chain.name,
|
|
@@ -43,6 +44,27 @@ export function startRpcServer(config, context) {
|
|
|
43
44
|
chains: formatChains(context.chains),
|
|
44
45
|
session: context.wallet.connected ? context.wallet.getSessionInfo() : null,
|
|
45
46
|
}));
|
|
47
|
+
app.get("/pairing", async (c) => {
|
|
48
|
+
try {
|
|
49
|
+
const pairingUri = await context.wallet.getPairingUri();
|
|
50
|
+
return c.json({
|
|
51
|
+
connected: context.wallet.connected,
|
|
52
|
+
pairingUri,
|
|
53
|
+
activeChainId: context.getActiveChain().chainId,
|
|
54
|
+
chains: context.chains.map((chain) => ({
|
|
55
|
+
name: chain.name,
|
|
56
|
+
chainId: chain.chainId,
|
|
57
|
+
})),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
return c.json({
|
|
62
|
+
connected: false,
|
|
63
|
+
pairingUri: null,
|
|
64
|
+
error: error instanceof Error ? error.message : "Failed to create WalletConnect pairing URI",
|
|
65
|
+
}, 500);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
46
68
|
return serve({
|
|
47
69
|
fetch: app.fetch,
|
|
48
70
|
hostname: config.host,
|
package/dist/rpcServer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcServer.js","sourceRoot":"","sources":["../src/rpcServer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rpcServer.js","sourceRoot":"","sources":["../src/rpcServer.ts"],"names":[],"mappings":"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"}
|
package/dist/skill.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CA6IjF"}
|
package/dist/skill.js
CHANGED
|
@@ -44,6 +44,10 @@ This skill was served by a live WalletChan RPC instance. Use the runtime details
|
|
|
44
44
|
|
|
45
45
|
Send standard JSON-RPC over HTTP to \`${rpcUrl}\` or \`${rpcUrl}/rpc\`. Any JSON-RPC client can use this endpoint, including JavaScript code, shell scripts, viem, ethers, Foundry, or an AI agent.
|
|
46
46
|
|
|
47
|
+
Built-in chain aliases and default RPC URLs are copied from WalletChan's extension registry. Common aliases include \`ethereum\`, \`arbitrum\`, \`base\`, \`bnb\`, \`optimism\`, \`megaeth\`, \`polygon\`, \`unichain\`, \`gnosis\`, \`monad\`, \`sonic\`, \`sei\`, \`mantle\`, \`linea\`, \`berachain\`, and \`base-sepolia\`.
|
|
48
|
+
|
|
49
|
+
WalletChan RPC is not limited to built-in chain names. The CLI can expose any EVM chain supported by the connected wallet when the user starts it with a numeric chain ID and upstream RPC URL, for example \`--chain 43114 --rpc 43114=https://api.avax.network/ext/bc/C/rpc\`.
|
|
50
|
+
|
|
47
51
|
Use these wallet methods:
|
|
48
52
|
|
|
49
53
|
${methods.map((method) => `- \`${method}\``).join("\n")}
|
|
@@ -55,8 +59,10 @@ Read-only JSON-RPC methods may be forwarded to the configured upstream RPC. Loca
|
|
|
55
59
|
- Use \`eth_sendTransaction\` for sends. Never use \`eth_sendRawTransaction\`, \`eth_sign\`, or \`eth_signTransaction\`.
|
|
56
60
|
- Every send/sign/batch request opens a user approval prompt in the connected wallet.
|
|
57
61
|
- If the wallet rejects a request, report the rejection to the user. Do not retry rejected sends automatically.
|
|
62
|
+
- If a wallet-mutating request returns JSON-RPC code \`4900\` with \`data.code: "walletconnect_disconnected"\`, the WalletConnect session was closed or lost. Call \`${rpcUrl}/pairing\`, show the returned URI to the user, wait for pairing, then retry with freshly prepared transaction data when applicable.
|
|
58
63
|
- Use only an approved account from \`eth_accounts\` as \`from\` or Foundry \`--sender\`.
|
|
59
64
|
- If a request targets a different configured chain, include the target \`chainId\` or call \`wallet_switchEthereumChain\` first.
|
|
65
|
+
- If the needed EVM chain is not configured, ask the user to restart the CLI with \`--chain <chainId> --rpc <chainId>=https://...\`.
|
|
60
66
|
- WalletConnect sessions persist across CLI restarts. Ask the user to restart with \`--force-new-session\` only when they want a fresh pairing.
|
|
61
67
|
|
|
62
68
|
## Discovery
|
|
@@ -64,6 +70,7 @@ Read-only JSON-RPC methods may be forwarded to the configured upstream RPC. Loca
|
|
|
64
70
|
\`\`\`bash
|
|
65
71
|
curl -s ${rpcUrl}/health
|
|
66
72
|
curl -s ${rpcUrl}/session
|
|
73
|
+
curl -s ${rpcUrl}/pairing
|
|
67
74
|
curl -s ${rpcUrl}/SKILL.md
|
|
68
75
|
\`\`\`
|
|
69
76
|
|
package/dist/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIzD,MAAM,gBAAgB,GAAG;IACvB,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,sBAAsB;CACvB,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;CACzB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,OAAmB;IACvE,MAAM,MAAM,GAAG,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe;QACrC,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC;QACzC,CAAC,CAAC,gBAAgB,CAAC;IAErB,OAAO;;;;;;;;;;;eAWM,MAAM;iBACJ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;uBACjC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;oBAC1F,WAAW,CAAC,IAAI,OAAO,WAAW,CAAC,OAAO,OAAO,aAAa;yBACzD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;cAClD,OAAO,EAAE,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;;;;wCAIxD,MAAM,WAAW,MAAM
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIzD,MAAM,gBAAgB,GAAG;IACvB,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,sBAAsB;CACvB,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;CACzB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,OAAmB;IACvE,MAAM,MAAM,GAAG,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe;QACrC,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC;QACzC,CAAC,CAAC,gBAAgB,CAAC;IAErB,OAAO;;;;;;;;;;;eAWM,MAAM;iBACJ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;uBACjC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;oBAC1F,WAAW,CAAC,IAAI,OAAO,WAAW,CAAC,OAAO,OAAO,aAAa;yBACzD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;cAClD,OAAO,EAAE,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;;;;wCAIxD,MAAM,WAAW,MAAM;;;;;;;;EAQ7D,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;uKASgH,MAAM;;;;;;;;;UASnK,MAAM;UACN,MAAM;UACN,MAAM;UACN,MAAM;;;;UAIN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8BI,aAAa;iBAChB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BnB,MAAM;;WAET,gBAAgB;;;;;;;cAOb,MAAM;;;aAGP,gBAAgB;;;;CAI5B,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,OAAmB;IACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/walletConnect.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { RuntimeChain } from "./chains.js";
|
|
2
|
+
interface SessionProposal {
|
|
3
|
+
uri: string;
|
|
4
|
+
approval: () => Promise<SessionInfo>;
|
|
5
|
+
createdAt: number;
|
|
6
|
+
}
|
|
2
7
|
export interface WalletConnectBridgeConfig {
|
|
3
8
|
chains: RuntimeChain[];
|
|
4
9
|
forceNewSession: boolean;
|
|
@@ -14,19 +19,25 @@ export interface SessionInfo {
|
|
|
14
19
|
peerUrl: string;
|
|
15
20
|
topic: string;
|
|
16
21
|
}
|
|
22
|
+
export interface SessionDisconnectInfo {
|
|
23
|
+
reason: string;
|
|
24
|
+
topic: string;
|
|
25
|
+
}
|
|
26
|
+
type SessionDisconnectListener = (info: SessionDisconnectInfo) => void;
|
|
17
27
|
export declare class WalletConnectBridge {
|
|
18
28
|
private readonly config;
|
|
19
29
|
private client;
|
|
30
|
+
private readonly disconnectListeners;
|
|
20
31
|
private session;
|
|
32
|
+
private pendingProposal;
|
|
21
33
|
private readonly methods;
|
|
22
34
|
constructor(config: WalletConnectBridgeConfig);
|
|
23
35
|
get connected(): boolean;
|
|
24
36
|
get sessionTopic(): string | null;
|
|
37
|
+
onDisconnect(listener: SessionDisconnectListener): () => void;
|
|
25
38
|
init(): Promise<SessionInfo | null>;
|
|
26
|
-
createSessionProposal(): Promise<
|
|
27
|
-
|
|
28
|
-
approval: () => Promise<SessionInfo>;
|
|
29
|
-
}>;
|
|
39
|
+
createSessionProposal(): Promise<SessionProposal>;
|
|
40
|
+
getPairingUri(): Promise<string | null>;
|
|
30
41
|
request(chainId: number, method: string, params: unknown[]): Promise<unknown>;
|
|
31
42
|
getAccounts(chainId?: number): string[];
|
|
32
43
|
getSessionInfo(): SessionInfo;
|
|
@@ -35,10 +46,15 @@ export declare class WalletConnectBridge {
|
|
|
35
46
|
private attachListeners;
|
|
36
47
|
private validateSession;
|
|
37
48
|
private restoreStoredSession;
|
|
49
|
+
private getPendingProposal;
|
|
50
|
+
private getConnectedSession;
|
|
51
|
+
private clearSession;
|
|
52
|
+
private emitDisconnect;
|
|
38
53
|
private disconnectStoredSessions;
|
|
39
54
|
private disconnectTopic;
|
|
40
55
|
private getClient;
|
|
41
56
|
private getSession;
|
|
42
57
|
private getChainLabel;
|
|
43
58
|
}
|
|
59
|
+
export {};
|
|
44
60
|
//# sourceMappingURL=walletConnect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.d.ts","sourceRoot":"","sources":["../src/walletConnect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"walletConnect.d.ts","sourceRoot":"","sources":["../src/walletConnect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiChD,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,yBAAyB,GAAG,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAEvE,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAwC;IAC5E,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEN,MAAM,EAAE,yBAAyB;IAM9D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED,YAAY,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI;IAOvD,IAAI,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA8BnC,qBAAqB,IAAI,OAAO,CAAC,eAAe,CAAC;IA2CjD,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMvC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBnF,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAMvC,cAAc,IAAI,WAAW;IAUvB,gBAAgB,CAAC,OAAO,SAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;YAMR,wBAAwB;YAkBxB,eAAe;IAY7B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;CAItB"}
|
package/dist/walletConnect.js
CHANGED
|
@@ -19,6 +19,7 @@ const BATCH_METHODS = [
|
|
|
19
19
|
"wallet_showCallsStatus",
|
|
20
20
|
];
|
|
21
21
|
const WALLETCONNECT_EVENTS = ["chainChanged", "accountsChanged"];
|
|
22
|
+
const PAIRING_URI_TTL_MS = 4 * 60 * 1000;
|
|
22
23
|
const APPROVAL_METHODS = new Set([
|
|
23
24
|
"eth_sendTransaction",
|
|
24
25
|
"personal_sign",
|
|
@@ -29,7 +30,9 @@ const APPROVAL_METHODS = new Set([
|
|
|
29
30
|
export class WalletConnectBridge {
|
|
30
31
|
config;
|
|
31
32
|
client = null;
|
|
33
|
+
disconnectListeners = new Set();
|
|
32
34
|
session = null;
|
|
35
|
+
pendingProposal = null;
|
|
33
36
|
methods;
|
|
34
37
|
constructor(config) {
|
|
35
38
|
this.config = config;
|
|
@@ -38,10 +41,16 @@ export class WalletConnectBridge {
|
|
|
38
41
|
: [...BASE_METHODS];
|
|
39
42
|
}
|
|
40
43
|
get connected() {
|
|
41
|
-
return
|
|
44
|
+
return this.getConnectedSession() !== null;
|
|
42
45
|
}
|
|
43
46
|
get sessionTopic() {
|
|
44
|
-
return this.
|
|
47
|
+
return this.getConnectedSession()?.topic || null;
|
|
48
|
+
}
|
|
49
|
+
onDisconnect(listener) {
|
|
50
|
+
this.disconnectListeners.add(listener);
|
|
51
|
+
return () => {
|
|
52
|
+
this.disconnectListeners.delete(listener);
|
|
53
|
+
};
|
|
45
54
|
}
|
|
46
55
|
async init() {
|
|
47
56
|
process.env.DISABLE_GLOBAL_CORE ||= "true";
|
|
@@ -69,6 +78,9 @@ export class WalletConnectBridge {
|
|
|
69
78
|
return this.restoreStoredSession();
|
|
70
79
|
}
|
|
71
80
|
async createSessionProposal() {
|
|
81
|
+
const pending = this.getPendingProposal();
|
|
82
|
+
if (!this.connected && pending)
|
|
83
|
+
return pending;
|
|
72
84
|
const client = this.getClient();
|
|
73
85
|
const chains = this.config.chains.map((chain) => toCaip2(chain.chainId));
|
|
74
86
|
const { uri, approval } = await client.connect({
|
|
@@ -83,15 +95,32 @@ export class WalletConnectBridge {
|
|
|
83
95
|
if (!uri) {
|
|
84
96
|
throw new Error("WalletConnect did not return a pairing URI");
|
|
85
97
|
}
|
|
86
|
-
|
|
98
|
+
let proposal;
|
|
99
|
+
const approvalPromise = approval()
|
|
100
|
+
.then((session) => {
|
|
101
|
+
this.validateSession(session);
|
|
102
|
+
this.session = session;
|
|
103
|
+
return this.getSessionInfo();
|
|
104
|
+
})
|
|
105
|
+
.finally(() => {
|
|
106
|
+
if (this.pendingProposal === proposal) {
|
|
107
|
+
this.pendingProposal = null;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
void approvalPromise.catch(() => undefined);
|
|
111
|
+
proposal = {
|
|
87
112
|
uri,
|
|
88
|
-
approval:
|
|
89
|
-
|
|
90
|
-
this.validateSession(session);
|
|
91
|
-
this.session = session;
|
|
92
|
-
return this.getSessionInfo();
|
|
93
|
-
},
|
|
113
|
+
approval: () => approvalPromise,
|
|
114
|
+
createdAt: Date.now(),
|
|
94
115
|
};
|
|
116
|
+
this.pendingProposal = proposal;
|
|
117
|
+
return proposal;
|
|
118
|
+
}
|
|
119
|
+
async getPairingUri() {
|
|
120
|
+
if (this.connected)
|
|
121
|
+
return null;
|
|
122
|
+
const proposal = await this.createSessionProposal();
|
|
123
|
+
return proposal.uri;
|
|
95
124
|
}
|
|
96
125
|
async request(chainId, method, params) {
|
|
97
126
|
const client = this.getClient();
|
|
@@ -108,7 +137,9 @@ export class WalletConnectBridge {
|
|
|
108
137
|
return withSpinner(formatApprovalMessage(method, this.getChainLabel(chainId)), sendRequest);
|
|
109
138
|
}
|
|
110
139
|
getAccounts(chainId) {
|
|
111
|
-
const session = this.
|
|
140
|
+
const session = this.getConnectedSession();
|
|
141
|
+
if (!session)
|
|
142
|
+
return [];
|
|
112
143
|
return getSessionAccounts(session, chainId);
|
|
113
144
|
}
|
|
114
145
|
getSessionInfo() {
|
|
@@ -127,23 +158,41 @@ export class WalletConnectBridge {
|
|
|
127
158
|
this.session = null;
|
|
128
159
|
}
|
|
129
160
|
close() {
|
|
130
|
-
this.
|
|
161
|
+
this.clearSession();
|
|
131
162
|
}
|
|
132
163
|
attachListeners() {
|
|
133
164
|
const client = this.getClient();
|
|
134
165
|
client.on("session_delete", ({ topic }) => {
|
|
135
166
|
if (this.session?.topic === topic) {
|
|
136
|
-
this.session
|
|
167
|
+
this.clearSession("WalletConnect session was closed by the wallet.");
|
|
137
168
|
}
|
|
138
169
|
});
|
|
139
170
|
client.on("session_expire", ({ topic }) => {
|
|
140
171
|
if (this.session?.topic === topic) {
|
|
141
|
-
this.session
|
|
172
|
+
this.clearSession("WalletConnect session expired.");
|
|
142
173
|
}
|
|
143
174
|
});
|
|
144
175
|
client.on("session_update", ({ topic }) => {
|
|
145
176
|
if (this.session?.topic === topic) {
|
|
146
|
-
|
|
177
|
+
try {
|
|
178
|
+
this.session = client.session.get(topic);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
this.clearSession("WalletConnect session was removed.");
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
this.getConnectedSession();
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
client.on("session_event", (event) => {
|
|
188
|
+
if (this.session?.topic !== event.topic)
|
|
189
|
+
return;
|
|
190
|
+
const sessionEvent = event.params?.event;
|
|
191
|
+
if (sessionEvent?.name === "accountsChanged" && Array.isArray(sessionEvent.data) && sessionEvent.data.length === 0) {
|
|
192
|
+
this.clearSession("WalletConnect session no longer has approved accounts.");
|
|
193
|
+
}
|
|
194
|
+
if (sessionEvent?.name === "disconnect") {
|
|
195
|
+
this.clearSession("WalletConnect session was disconnected by the wallet.");
|
|
147
196
|
}
|
|
148
197
|
});
|
|
149
198
|
}
|
|
@@ -183,6 +232,52 @@ export class WalletConnectBridge {
|
|
|
183
232
|
}
|
|
184
233
|
return null;
|
|
185
234
|
}
|
|
235
|
+
getPendingProposal() {
|
|
236
|
+
if (!this.pendingProposal)
|
|
237
|
+
return null;
|
|
238
|
+
if (Date.now() - this.pendingProposal.createdAt <= PAIRING_URI_TTL_MS) {
|
|
239
|
+
return this.pendingProposal;
|
|
240
|
+
}
|
|
241
|
+
this.pendingProposal = null;
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
getConnectedSession() {
|
|
245
|
+
if (!this.session)
|
|
246
|
+
return null;
|
|
247
|
+
if (this.client && this.session.topic) {
|
|
248
|
+
try {
|
|
249
|
+
this.session = this.client.session.get(this.session.topic);
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
this.clearSession("WalletConnect session was removed.");
|
|
253
|
+
return null;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (isSessionExpired(this.session)) {
|
|
257
|
+
this.clearSession("WalletConnect session expired.");
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
try {
|
|
261
|
+
this.validateSession(this.session);
|
|
262
|
+
return this.session;
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
this.clearSession(error instanceof Error ? error.message : "WalletConnect session is no longer valid.");
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
clearSession(reason) {
|
|
270
|
+
const previousTopic = this.session?.topic;
|
|
271
|
+
this.session = null;
|
|
272
|
+
if (reason && previousTopic) {
|
|
273
|
+
this.emitDisconnect({ reason, topic: previousTopic });
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
emitDisconnect(info) {
|
|
277
|
+
for (const listener of this.disconnectListeners) {
|
|
278
|
+
listener(info);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
186
281
|
async disconnectStoredSessions(message) {
|
|
187
282
|
const client = this.getClient();
|
|
188
283
|
const topics = new Set();
|
|
@@ -216,10 +311,11 @@ export class WalletConnectBridge {
|
|
|
216
311
|
return this.client;
|
|
217
312
|
}
|
|
218
313
|
getSession() {
|
|
219
|
-
|
|
314
|
+
const session = this.getConnectedSession();
|
|
315
|
+
if (!session) {
|
|
220
316
|
throw new Error("WalletConnect session is not connected");
|
|
221
317
|
}
|
|
222
|
-
return
|
|
318
|
+
return session;
|
|
223
319
|
}
|
|
224
320
|
getChainLabel(chainId) {
|
|
225
321
|
const chain = this.config.chains.find((configured) => configured.chainId === chainId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../src/walletConnect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../src/walletConnect.ts"],"names":[],"mappings":"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"}
|