@walletchan/rpc 0.1.0 → 0.1.1
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 +66 -15
- package/SKILL.md +9 -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/skill.d.ts.map +1 -1
- package/dist/skill.js +5 -0
- package/dist/skill.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
|
|
@@ -56,31 +57,81 @@ The live skill includes the current RPC URL, approved account, active chain, and
|
|
|
56
57
|
|
|
57
58
|
## Chains
|
|
58
59
|
|
|
59
|
-
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
Built-in names and default RPC URLs are copied from WalletChan's extension registry:
|
|
60
63
|
|
|
61
64
|
```bash
|
|
62
65
|
walletchan-rpc --chain base
|
|
63
|
-
walletchan-rpc --chain base --chain
|
|
64
|
-
walletchan-rpc --chain
|
|
66
|
+
walletchan-rpc --chain base --chain arbitrum
|
|
67
|
+
walletchan-rpc --chain optimism --port 4210
|
|
65
68
|
```
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
| Name
|
|
70
|
-
|
|
|
71
|
-
| `
|
|
72
|
-
| `
|
|
73
|
-
| `
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
Mainnet aliases:
|
|
71
|
+
|
|
72
|
+
| Name | Chain ID | Default RPC |
|
|
73
|
+
| ---------------- | -------- | -------------------------------------- |
|
|
74
|
+
| `ethereum` | 1 | `https://eth.drpc.org` |
|
|
75
|
+
| `arbitrum` | 42161 | `https://arb1.arbitrum.io/rpc` |
|
|
76
|
+
| `base` | 8453 | `https://base.drpc.org` |
|
|
77
|
+
| `bnb` | 56 | `https://bsc-dataseed.binance.org` |
|
|
78
|
+
| `optimism` | 10 | `https://mainnet.optimism.io` |
|
|
79
|
+
| `megaeth` | 4326 | `https://mainnet.megaeth.com/rpc` |
|
|
80
|
+
| `polygon` | 137 | `https://polygon.drpc.org` |
|
|
81
|
+
| `unichain` | 130 | `https://mainnet.unichain.org` |
|
|
82
|
+
| `gnosis` | 100 | `https://gnosis.drpc.org` |
|
|
83
|
+
| `monad` | 143 | `https://monad.drpc.org` |
|
|
84
|
+
| `sonic` | 146 | `https://sonic.drpc.org` |
|
|
85
|
+
| `intuition` | 1155 | `https://rpc.intuition.systems` |
|
|
86
|
+
| `sei` | 1329 | `https://sei.drpc.org` |
|
|
87
|
+
| `ronin` | 2020 | `https://ronin.drpc.org` |
|
|
88
|
+
| `citrea` | 4114 | `https://rpc.citrea.xyz` |
|
|
89
|
+
| `tempo` | 4217 | `https://tempo.drpc.org` |
|
|
90
|
+
| `mantle` | 5000 | `https://mantle.drpc.org` |
|
|
91
|
+
| `arbitrum-nova` | 42170 | `https://arbitrum-nova.drpc.org` |
|
|
92
|
+
| `celo` | 42220 | `https://celo.drpc.org` |
|
|
93
|
+
| `ink` | 57073 | `https://ink.drpc.org` |
|
|
94
|
+
| `linea` | 59144 | `https://linea.drpc.org` |
|
|
95
|
+
| `berachain` | 80094 | `https://berachain.drpc.org` |
|
|
96
|
+
| `katana` | 747474 | `https://katana.drpc.org` |
|
|
97
|
+
|
|
98
|
+
Testnet aliases:
|
|
99
|
+
|
|
100
|
+
| Name | Chain ID | Default RPC |
|
|
101
|
+
| -------------------- | -------- | ------------------------------------------------ |
|
|
102
|
+
| `bnb-testnet` | 97 | `https://data-seed-prebsc-1-s1.bnbchain.org:8545` |
|
|
103
|
+
| `unichain-sepolia` | 1301 | `https://sepolia.unichain.org` |
|
|
104
|
+
| `sei-testnet` | 1328 | `https://evm-rpc-testnet.sei-apis.com` |
|
|
105
|
+
| `mantle-sepolia` | 5003 | `https://rpc.sepolia.mantle.xyz` |
|
|
106
|
+
| `citrea-testnet` | 5115 | `https://rpc.testnet.citrea.xyz` |
|
|
107
|
+
| `megaeth-testnet` | 6343 | `https://carrot.megaeth.com/rpc` |
|
|
108
|
+
| `monad-testnet` | 10143 | `https://testnet-rpc.monad.xyz` |
|
|
109
|
+
| `gnosis-chiado` | 10200 | `https://rpc.chiadochain.net` |
|
|
110
|
+
| `intuition-testnet` | 13579 | `https://testnet.rpc.intuition.systems` |
|
|
111
|
+
| `sonic-testnet` | 14601 | `https://rpc.testnet.soniclabs.com` |
|
|
112
|
+
| `tempo-testnet` | 42431 | `https://rpc.moderato.tempo.xyz` |
|
|
113
|
+
| `linea-sepolia` | 59141 | `https://rpc.sepolia.linea.build` |
|
|
114
|
+
| `polygon-amoy` | 80002 | `https://rpc-amoy.polygon.technology` |
|
|
115
|
+
| `berachain-bepolia` | 80069 | `https://bepolia.rpc.berachain.com` |
|
|
116
|
+
| `base-sepolia` | 84532 | `https://sepolia.base.org` |
|
|
117
|
+
| `ronin-saigon` | 202601 | `https://saigon-testnet.roninchain.com/rpc` |
|
|
118
|
+
| `arbitrum-sepolia` | 421614 | `https://sepolia-rollup.arbitrum.io/rpc` |
|
|
119
|
+
| `hoodi` | 560048 | `https://rpc.hoodi.ethpandaops.io` |
|
|
120
|
+
| `katana-bokuto` | 737373 | `https://rpc.bokuto.katanarpc.com` |
|
|
121
|
+
| `ink-sepolia` | 763373 | `https://rpc-gel-sepolia.inkonchain.com` |
|
|
122
|
+
| `celo-sepolia` | 11142220 | `https://forno.celo-sepolia.celo-testnet.org` |
|
|
123
|
+
| `sepolia` | 11155111 | `https://11155111.rpc.thirdweb.com` |
|
|
124
|
+
| `optimism-sepolia` | 11155420 | `https://sepolia.optimism.io` |
|
|
125
|
+
|
|
126
|
+
For any other EVM chain, use its numeric chain ID and provide an RPC URL:
|
|
78
127
|
|
|
79
128
|
```bash
|
|
80
129
|
walletchan-rpc --chain base --rpc base=https://mainnet.base.org
|
|
81
|
-
walletchan-rpc --chain
|
|
130
|
+
walletchan-rpc --chain 43114 --rpc 43114=https://api.avax.network/ext/bc/C/rpc
|
|
82
131
|
```
|
|
83
132
|
|
|
133
|
+
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.
|
|
134
|
+
|
|
84
135
|
## Batching
|
|
85
136
|
|
|
86
137
|
ERC-5792 batching is enabled by default. The WalletConnect proposal includes:
|
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
|
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/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,CA2IjF"}
|
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")}
|
|
@@ -57,6 +61,7 @@ Read-only JSON-RPC methods may be forwarded to the configured upstream RPC. Loca
|
|
|
57
61
|
- If the wallet rejects a request, report the rejection to the user. Do not retry rejected sends automatically.
|
|
58
62
|
- Use only an approved account from \`eth_accounts\` as \`from\` or Foundry \`--sender\`.
|
|
59
63
|
- If a request targets a different configured chain, include the target \`chainId\` or call \`wallet_switchEthereumChain\` first.
|
|
64
|
+
- If the needed EVM chain is not configured, ask the user to restart the CLI with \`--chain <chainId> --rpc <chainId>=https://...\`.
|
|
60
65
|
- WalletConnect sessions persist across CLI restarts. Ask the user to restart with \`--force-new-session\` only when they want a fresh pairing.
|
|
61
66
|
|
|
62
67
|
## Discovery
|
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;;;;;;;;;;;;;;;;;UAiB7C,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"}
|