@windstack/evm 0.6.2 → 2.0.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/README.md CHANGED
@@ -1,43 +1,66 @@
1
1
  # @windstack/evm
2
2
 
3
- Small EIP-1193 client with EIP-6963 discovery for browser wallets.
3
+ ## Overview
4
+
5
+ `@windstack/evm` provides generic address and chain-ID normalization, a chain-verified HTTP JSON-RPC client, EIP-1193 wallet access, and EIP-6963 provider discovery.
6
+
7
+ The client uses announced EIP-6963 providers and can fall back to `window.ethereum`. A particular wallet is preferred only when `preferredRdns` is explicitly configured.
8
+
9
+ ## Installation
4
10
 
5
11
  ```bash
6
12
  npm install @windstack/core @windstack/evm
7
13
  ```
8
14
 
15
+ ## Usage
16
+
9
17
  ```ts
10
- import { createEVMClient } from "@windstack/evm";
18
+ import { EvmRpcClient, createEVMClient, normalizeEvmAddress } from "@windstack/evm";
11
19
 
12
20
  const client = await createEVMClient();
13
21
  const accounts = await client.connect();
14
22
  const chainId = await client.getChainId();
23
+ const address = normalizeEvmAddress(accounts[0]);
24
+
25
+ const rpc = new EvmRpcClient({
26
+ endpoints: ["https://rpc.example", "https://backup.example"],
27
+ expectedChainId: chainId,
28
+ maxResponseBytes: 4 * 1024 * 1024,
29
+ });
30
+ const blockNumber = await rpc.request("eth_blockNumber", [], { retry: "safe" });
15
31
 
16
32
  client.on("accountsChanged", (nextAccounts) => {
17
- // Update application state.
33
+ console.log(nextAccounts);
18
34
  });
19
- ```
20
35
 
21
- `connect()` calls `eth_requestAccounts`. `getAccounts()` calls the silent `eth_accounts` method.
22
- `EVM_METHODS` exposes the canonical MetaMask-compatible method names implemented by Wisp, while `VEX_EVM_CHAIN_ID`, `VEX_EVM_CHAIN_ID_HEX`, and `VEX_EVM_SCOPE` expose the VEX EVM network identifiers.
36
+ await client.switchChain("0x1a50");
37
+ ```
23
38
 
24
- ## Chain requests
39
+ Chain-specific metadata belongs in a chain package. For example, VEX EVM metadata is exported by `@windstack/vexanium` and can be registered with EIP-3085:
25
40
 
26
41
  ```ts
27
- await client.switchChain("0x1a50");
28
-
29
42
  await client.addChain({
30
43
  chainId: "0x1a50",
31
44
  chainName: "VEX EVM",
32
- nativeCurrency: { name: "Vexanium", symbol: "VEX", decimals: 18 },
33
- rpcUrls: ["https://rpc.example"],
45
+ nativeCurrency: {
46
+ name: "Vexanium",
47
+ symbol: "VEX",
48
+ decimals: 18,
49
+ },
50
+ rpcUrls: ["https://api.windcrypto.com/rpc"],
34
51
  });
35
52
  ```
36
53
 
37
- Chain IDs must be canonical `0x`-prefixed hexadecimal values. Chain metadata URLs must use HTTPS. Always verify an RPC endpoint's `eth_chainId` response before presenting it to users.
54
+ ## Security
38
55
 
39
- EIP-6963 announcements are retained for the lifetime of the page, as required by the specification. `window.ethereum` is only used as a fallback when no announced provider is available.
56
+ Chain identifiers must use canonical `0x`-prefixed hexadecimal values. Applications should verify the chain ID returned by a newly supplied RPC endpoint before presenting that endpoint to users or requesting wallet registration.
57
+
58
+ ## Runtime
59
+
60
+ The package targets browser environments with wallet providers. It forwards requests to the selected EIP-1193 provider and does not contain private-key storage or transaction-signing code of its own.
40
61
 
41
62
  ## License
42
63
 
43
- MIT, PT WIND KRIPTOGRAFI TEKNOLOGI.
64
+ MIT License.
65
+
66
+ Created by **Gilang Ramadan**. Copyright © 2026 PT WIND KRIPTOGRAFI TEKNOLOGI.
@@ -0,0 +1,9 @@
1
+ export declare function isEvmAddress(value: unknown): value is `0x${string}`;
2
+ /** Normalize an address to lowercase. This does not claim EIP-55 checksum validation. */
3
+ export declare function normalizeEvmAddress(value: string): `0x${string}`;
4
+ export declare function isEvmTransactionHash(value: unknown): value is `0x${string}`;
5
+ export declare function normalizeEvmTransactionHash(value: string): `0x${string}`;
6
+ export declare function formatEvmAddress(value: string, visibleBytes?: number): string;
7
+ export declare function normalizeEvmChainId(value: string | number | bigint): `0x${string}`;
8
+ export declare function evmChainIdsEqual(left: string | number | bigint, right: string | number | bigint): boolean;
9
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,MAAM,EAAE,CAEnE;AAED,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAGhE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,MAAM,EAAE,CAE3E;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAIxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAOxE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,MAAM,EAAE,CAalF;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAC9B,OAAO,CAET"}
@@ -0,0 +1,47 @@
1
+ const ADDRESS_PATTERN = /^0x[0-9a-fA-F]{40}$/;
2
+ const HASH_PATTERN = /^0x[0-9a-fA-F]{64}$/;
3
+ export function isEvmAddress(value) {
4
+ return typeof value === "string" && ADDRESS_PATTERN.test(value);
5
+ }
6
+ /** Normalize an address to lowercase. This does not claim EIP-55 checksum validation. */
7
+ export function normalizeEvmAddress(value) {
8
+ if (!isEvmAddress(value))
9
+ throw new TypeError("EVM address must contain exactly 20 bytes");
10
+ return value.toLowerCase();
11
+ }
12
+ export function isEvmTransactionHash(value) {
13
+ return typeof value === "string" && HASH_PATTERN.test(value);
14
+ }
15
+ export function normalizeEvmTransactionHash(value) {
16
+ if (!isEvmTransactionHash(value))
17
+ throw new TypeError("EVM transaction hash must contain exactly 32 bytes");
18
+ return value.toLowerCase();
19
+ }
20
+ export function formatEvmAddress(value, visibleBytes = 4) {
21
+ const address = normalizeEvmAddress(value);
22
+ if (!Number.isInteger(visibleBytes) || visibleBytes < 1 || visibleBytes > 9) {
23
+ throw new RangeError("visibleBytes must be between 1 and 9");
24
+ }
25
+ const chars = visibleBytes * 2;
26
+ return `${address.slice(0, 2 + chars)}…${address.slice(-chars)}`;
27
+ }
28
+ export function normalizeEvmChainId(value) {
29
+ let chainId;
30
+ try {
31
+ if (typeof value === "number" && !Number.isSafeInteger(value))
32
+ throw new Error("unsafe");
33
+ if (typeof value === "string" && !/^(?:0x[0-9a-fA-F]+|[0-9]+)$/.test(value))
34
+ throw new Error("invalid");
35
+ chainId = BigInt(value);
36
+ }
37
+ catch {
38
+ throw new TypeError("EVM chain ID must be a non-negative integer");
39
+ }
40
+ if (chainId < 0n || chainId > (1n << 256n) - 1n)
41
+ throw new RangeError("EVM chain ID must fit in uint256");
42
+ return `0x${chainId.toString(16)}`;
43
+ }
44
+ export function evmChainIdsEqual(left, right) {
45
+ return normalizeEvmChainId(left) === normalizeEvmChainId(right);
46
+ }
47
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IAC3F,OAAO,KAAK,CAAC,WAAW,EAAmB,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,WAAW,EAAmB,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,YAAY,GAAG,CAAC;IAC9D,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC;IAC/B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;QAC7C,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAA8B,EAC9B,KAA+B;IAE/B,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,SAAS,EACT,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AA6CpB,wBAAsB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAsDxF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,SAAS,EACT,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAqEpB,wBAAsB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CA6ExF"}
package/dist/client.js CHANGED
@@ -1,10 +1,13 @@
1
- import { WISP_ERROR_CODES, WispProviderError, invalidParams, normalizeProviderError, } from "@windstack/core";
1
+ import { PROVIDER_ERROR_CODES, ProviderRpcError, invalidParams, normalizeProviderRpcError, } from "@windstack/core";
2
2
  import { EVM_METHODS } from "./constants.js";
3
3
  import { getEVMProvider, getInjectedEVMProvider } from "./discovery.js";
4
+ import { normalizeEvmAddress, normalizeEvmChainId } from "./address.js";
4
5
  const HEX_CHAIN_ID_PATTERN = /^0x(?:0|[1-9a-f][0-9a-f]*)$/i;
5
6
  function assertHexChainId(chainId) {
6
7
  if (typeof chainId !== "string" || !HEX_CHAIN_ID_PATTERN.test(chainId)) {
7
- throw invalidParams("EVM chainId must be a canonical 0x-prefixed hexadecimal integer", { chainId });
8
+ throw invalidParams("EVM chainId must be a canonical 0x-prefixed hexadecimal integer", {
9
+ chainId,
10
+ });
8
11
  }
9
12
  }
10
13
  function assertSecureUrls(values, field) {
@@ -37,17 +40,41 @@ function assertAddChainParams(params) {
37
40
  if (params.nativeCurrency && params.nativeCurrency.decimals < 0) {
38
41
  throw invalidParams("nativeCurrency.decimals must be a non-negative integer");
39
42
  }
40
- if (params.nativeCurrency && (!params.nativeCurrency.name?.trim() ||
41
- !params.nativeCurrency.symbol?.trim())) {
43
+ if (params.nativeCurrency &&
44
+ (!params.nativeCurrency.name?.trim() || !params.nativeCurrency.symbol?.trim())) {
42
45
  throw invalidParams("nativeCurrency name and symbol are required");
43
46
  }
44
47
  }
48
+ function normalizeAccountsResponse(value) {
49
+ if (!Array.isArray(value) || value.length > 1000) {
50
+ throw invalidParams("Provider returned malformed accounts");
51
+ }
52
+ let accounts;
53
+ try {
54
+ accounts = value.map((account) => {
55
+ if (typeof account !== "string")
56
+ throw new TypeError("Invalid account");
57
+ return normalizeEvmAddress(account);
58
+ });
59
+ }
60
+ catch {
61
+ throw invalidParams("Provider returned malformed accounts");
62
+ }
63
+ if (new Set(accounts).size !== accounts.length) {
64
+ throw invalidParams("Provider returned duplicate accounts");
65
+ }
66
+ return accounts;
67
+ }
45
68
  export async function createEVMClient(options = {}) {
46
- let provider = options.provider ?? await getEVMProvider(options.discoveryTimeoutMs);
69
+ let provider = options.provider ??
70
+ (await getEVMProvider({
71
+ timeoutMs: options.discoveryTimeoutMs,
72
+ preferredRdns: options.preferredRdns,
73
+ }));
47
74
  const requireProvider = () => {
48
75
  provider = provider ?? getInjectedEVMProvider();
49
76
  if (!provider?.request) {
50
- throw new WispProviderError(WISP_ERROR_CODES.INTERNAL_ERROR, "No EVM provider is available");
77
+ throw new ProviderRpcError(PROVIDER_ERROR_CODES.INTERNAL_ERROR, "No EVM provider is available");
51
78
  }
52
79
  return provider;
53
80
  };
@@ -56,7 +83,7 @@ export async function createEVMClient(options = {}) {
56
83
  return await requireProvider().request(args);
57
84
  }
58
85
  catch (error) {
59
- throw normalizeProviderError(error);
86
+ throw normalizeProviderRpcError(error);
60
87
  }
61
88
  };
62
89
  return {
@@ -68,14 +95,23 @@ export async function createEVMClient(options = {}) {
68
95
  return provider;
69
96
  },
70
97
  request,
71
- connect() {
72
- return request({ method: EVM_METHODS.REQUEST_ACCOUNTS });
98
+ async connect() {
99
+ const accounts = await request({ method: EVM_METHODS.REQUEST_ACCOUNTS });
100
+ return normalizeAccountsResponse(accounts);
73
101
  },
74
- getAccounts() {
75
- return request({ method: EVM_METHODS.GET_ACCOUNTS });
102
+ async getAccounts() {
103
+ const accounts = await request({ method: EVM_METHODS.GET_ACCOUNTS });
104
+ return normalizeAccountsResponse(accounts);
76
105
  },
77
- getChainId() {
78
- return request({ method: EVM_METHODS.GET_CHAIN_ID });
106
+ async getChainId() {
107
+ try {
108
+ return normalizeEvmChainId(await request({ method: EVM_METHODS.GET_CHAIN_ID }));
109
+ }
110
+ catch (error) {
111
+ if (error instanceof ProviderRpcError)
112
+ throw error;
113
+ throw invalidParams("Provider returned a malformed chain ID");
114
+ }
79
115
  },
80
116
  async switchChain(chainId) {
81
117
  assertHexChainId(chainId);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,6 @@ export declare const EVM_PROVIDER_GLOBAL: "ethereum";
2
2
  export declare const EIP6963_REQUEST_PROVIDER_EVENT: "eip6963:requestProvider";
3
3
  export declare const EIP6963_ANNOUNCE_PROVIDER_EVENT: "eip6963:announceProvider";
4
4
  export declare const DEFAULT_EVM_DISCOVERY_TIMEOUT_MS = 120;
5
- export declare const WISP_EVM_PROVIDER_RDNS: "com.wisp.wallet";
6
- export declare const VEX_EVM_CHAIN_ID: 6736;
7
- export declare const VEX_EVM_CHAIN_ID_HEX: "0x1a50";
8
- export declare const VEX_EVM_SCOPE: "eip155:6736";
9
5
  export declare const EVM_METHODS: {
10
6
  readonly REQUEST_ACCOUNTS: "eth_requestAccounts";
11
7
  readonly GET_ACCOUNTS: "eth_accounts";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,YAAa,CAAC;AAC9C,eAAO,MAAM,8BAA8B,2BAA6B,CAAC;AACzE,eAAO,MAAM,+BAA+B,4BAA8B,CAAC;AAC3E,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,sBAAsB,mBAAgB,CAAC;AACpD,eAAO,MAAM,gBAAgB,MAAc,CAAC;AAC5C,eAAO,MAAM,oBAAoB,UAAiB,CAAC;AACnD,eAAO,MAAM,aAAa,eAAY,CAAC;AAEvC,eAAO,MAAM,WAAW;aACtB,gBAAgB;aAChB,YAAY;aACZ,YAAY;aACZ,YAAY;aACZ,mBAAmB;aACnB,mBAAmB;aACnB,eAAe;aACf,YAAY;aACZ,SAAS;aACT,YAAY;aACZ,eAAe;aACf,kBAAkB;aAClB,kBAAkB;aAClB,gBAAgB;aAChB,gBAAgB;CACR,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,EAAG,UAAmB,CAAC;AACvD,eAAO,MAAM,8BAA8B,EAAG,yBAAkC,CAAC;AACjF,eAAO,MAAM,+BAA+B,EAAG,0BAAmC,CAAC;AACnF,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD,eAAO,MAAM,WAAW;aACtB,gBAAgB,EAAE,qBAAqB;aACvC,YAAY,EAAE,cAAc;aAC5B,YAAY,EAAE,cAAc;aAC5B,YAAY,EAAE,aAAa;aAC3B,mBAAmB,EAAE,aAAa;aAClC,mBAAmB,EAAE,2BAA2B;aAChD,eAAe,EAAE,uBAAuB;aACxC,YAAY,EAAE,4BAA4B;aAC1C,SAAS,EAAE,yBAAyB;aACpC,YAAY,EAAE,eAAe;aAC7B,eAAe,EAAE,mBAAmB;aACpC,kBAAkB,EAAE,sBAAsB;aAC1C,kBAAkB,EAAE,sBAAsB;aAC1C,gBAAgB,EAAE,qBAAqB;aACvC,gBAAgB,EAAE,qBAAqB;CAC/B,CAAC"}
package/dist/constants.js CHANGED
@@ -1,28 +1,22 @@
1
- import { WISP_PROVIDER_CONTRACT } from "@windstack/core";
2
- const { evm, provider } = WISP_PROVIDER_CONTRACT;
3
- export const EVM_PROVIDER_GLOBAL = evm.global;
4
- export const EIP6963_REQUEST_PROVIDER_EVENT = evm.events.requestProvider;
5
- export const EIP6963_ANNOUNCE_PROVIDER_EVENT = evm.events.announceProvider;
1
+ export const EVM_PROVIDER_GLOBAL = "ethereum";
2
+ export const EIP6963_REQUEST_PROVIDER_EVENT = "eip6963:requestProvider";
3
+ export const EIP6963_ANNOUNCE_PROVIDER_EVENT = "eip6963:announceProvider";
6
4
  export const DEFAULT_EVM_DISCOVERY_TIMEOUT_MS = 120;
7
- export const WISP_EVM_PROVIDER_RDNS = provider.rdns;
8
- export const VEX_EVM_CHAIN_ID = evm.chainId;
9
- export const VEX_EVM_CHAIN_ID_HEX = evm.chainIdHex;
10
- export const VEX_EVM_SCOPE = evm.scope;
11
5
  export const EVM_METHODS = {
12
- REQUEST_ACCOUNTS: evm.methods.requestAccounts,
13
- GET_ACCOUNTS: evm.methods.getAccounts,
14
- GET_COINBASE: evm.methods.getCoinbase,
15
- GET_CHAIN_ID: evm.methods.getChainId,
16
- GET_NETWORK_VERSION: evm.methods.getNetworkVersion,
17
- REQUEST_PERMISSIONS: evm.methods.requestPermissions,
18
- GET_PERMISSIONS: evm.methods.getPermissions,
19
- SWITCH_CHAIN: evm.methods.switchChain,
20
- ADD_CHAIN: evm.methods.addChain,
21
- SIGN_MESSAGE: evm.methods.signMessage,
22
- SIGN_TYPED_DATA: evm.methods.signTypedData,
23
- SIGN_TYPED_DATA_V3: evm.methods.signTypedDataV3,
24
- SIGN_TYPED_DATA_V4: evm.methods.signTypedDataV4,
25
- SIGN_TRANSACTION: evm.methods.signTransaction,
26
- SEND_TRANSACTION: evm.methods.sendTransaction,
6
+ REQUEST_ACCOUNTS: "eth_requestAccounts",
7
+ GET_ACCOUNTS: "eth_accounts",
8
+ GET_COINBASE: "eth_coinbase",
9
+ GET_CHAIN_ID: "eth_chainId",
10
+ GET_NETWORK_VERSION: "net_version",
11
+ REQUEST_PERMISSIONS: "wallet_requestPermissions",
12
+ GET_PERMISSIONS: "wallet_getPermissions",
13
+ SWITCH_CHAIN: "wallet_switchEthereumChain",
14
+ ADD_CHAIN: "wallet_addEthereumChain",
15
+ SIGN_MESSAGE: "personal_sign",
16
+ SIGN_TYPED_DATA: "eth_signTypedData",
17
+ SIGN_TYPED_DATA_V3: "eth_signTypedData_v3",
18
+ SIGN_TYPED_DATA_V4: "eth_signTypedData_v4",
19
+ SIGN_TRANSACTION: "eth_signTransaction",
20
+ SEND_TRANSACTION: "eth_sendTransaction",
27
21
  };
28
22
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AAC9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;AACzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAC3E,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe;IAC7C,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW;IACrC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW;IACrC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;IACpC,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB;IAClD,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB;IACnD,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc;IAC3C,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW;IACrC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ;IAC/B,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW;IACrC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa;IAC1C,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe;IAC/C,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe;IAC/C,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe;IAC7C,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe;CACrC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,yBAAkC,CAAC;AACjF,MAAM,CAAC,MAAM,+BAA+B,GAAG,0BAAmC,CAAC;AACnF,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,aAAa;IAC3B,mBAAmB,EAAE,aAAa;IAClC,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,uBAAuB;IACxC,YAAY,EAAE,4BAA4B;IAC1C,SAAS,EAAE,yBAAyB;IACpC,YAAY,EAAE,eAAe;IAC7B,eAAe,EAAE,mBAAmB;IACpC,kBAAkB,EAAE,sBAAsB;IAC1C,kBAAkB,EAAE,sBAAsB;IAC1C,gBAAgB,EAAE,qBAAqB;IACvC,gBAAgB,EAAE,qBAAqB;CAC/B,CAAC"}
@@ -4,5 +4,8 @@ export declare function isEIP6963ProviderDetail(value: unknown): value is EIP696
4
4
  export declare function getInjectedEVMProvider(): EIP1193Provider | null;
5
5
  export declare function requestEIP6963Providers(): void;
6
6
  export declare function discoverEVMProviders(timeoutMs?: number): Promise<EIP6963ProviderDetail[]>;
7
- export declare function getEVMProvider(timeoutMs?: number): Promise<EIP1193Provider | null>;
7
+ export declare function getEVMProvider(options?: {
8
+ timeoutMs?: number;
9
+ preferredRdns?: string;
10
+ }): Promise<EIP1193Provider | null>;
8
11
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAuBpB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAalF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAItF;AAiCD,wBAAgB,sBAAsB,IAAI,eAAe,GAAG,IAAI,CAK/D;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAQ9C;AAED,wBAAsB,oBAAoB,CACxC,SAAS,SAAmC,GAC3C,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC;AAED,wBAAsB,cAAc,CAClC,SAAS,SAAmC,GAC3C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAIjC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAwB9F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAalF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAItF;AAmCD,wBAAgB,sBAAsB,IAAI,eAAe,GAAG,IAAI,CAK/D;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAQ9C;AAED,wBAAsB,oBAAoB,CACxC,SAAS,SAAmC,GAC3C,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAOjC"}
package/dist/discovery.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getRuntimeWindow, invalidParams } from "@windstack/core";
2
- import { DEFAULT_EVM_DISCOVERY_TIMEOUT_MS, EIP6963_ANNOUNCE_PROVIDER_EVENT, EIP6963_REQUEST_PROVIDER_EVENT, EVM_PROVIDER_GLOBAL, WISP_EVM_PROVIDER_RDNS, } from "./constants.js";
2
+ import { DEFAULT_EVM_DISCOVERY_TIMEOUT_MS, EIP6963_ANNOUNCE_PROVIDER_EVENT, EIP6963_REQUEST_PROVIDER_EVENT, EVM_PROVIDER_GLOBAL, } from "./constants.js";
3
3
  const UUID_V4_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
4
4
  const RDNS_PATTERN = /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;
5
5
  const providerRegistries = new WeakMap();
@@ -55,7 +55,9 @@ function getProviderRegistry(runtimeWindow) {
55
55
  }
56
56
  function assertDiscoveryTimeout(timeoutMs) {
57
57
  if (!Number.isFinite(timeoutMs) || timeoutMs < 0) {
58
- throw invalidParams("EVM discovery timeout must be a non-negative finite number", { timeoutMs });
58
+ throw invalidParams("EVM discovery timeout must be a non-negative finite number", {
59
+ timeoutMs,
60
+ });
59
61
  }
60
62
  }
61
63
  export function getInjectedEVMProvider() {
@@ -88,9 +90,12 @@ export async function discoverEVMProviders(timeoutMs = DEFAULT_EVM_DISCOVERY_TIM
88
90
  }
89
91
  return [...registry.details];
90
92
  }
91
- export async function getEVMProvider(timeoutMs = DEFAULT_EVM_DISCOVERY_TIMEOUT_MS) {
93
+ export async function getEVMProvider(options = {}) {
94
+ const timeoutMs = options.timeoutMs ?? DEFAULT_EVM_DISCOVERY_TIMEOUT_MS;
92
95
  const providers = await discoverEVMProviders(timeoutMs);
93
- const wispProvider = providers.find(({ info }) => info.rdns === WISP_EVM_PROVIDER_RDNS)?.provider;
94
- return wispProvider ?? providers[0]?.provider ?? getInjectedEVMProvider();
96
+ const preferred = options.preferredRdns
97
+ ? providers.find(({ info }) => info.rdns === options.preferredRdns)?.provider
98
+ : undefined;
99
+ return preferred ?? providers[0]?.provider ?? getInjectedEVMProvider();
95
100
  }
96
101
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  export { createEVMClient } from "./client.js";
2
- export { DEFAULT_EVM_DISCOVERY_TIMEOUT_MS, EIP6963_ANNOUNCE_PROVIDER_EVENT, EIP6963_REQUEST_PROVIDER_EVENT, EVM_METHODS, EVM_PROVIDER_GLOBAL, VEX_EVM_CHAIN_ID, VEX_EVM_CHAIN_ID_HEX, VEX_EVM_SCOPE, WISP_EVM_PROVIDER_RDNS, } from "./constants.js";
2
+ export { evmChainIdsEqual, formatEvmAddress, isEvmAddress, isEvmTransactionHash, normalizeEvmAddress, normalizeEvmChainId, normalizeEvmTransactionHash, } from "./address.js";
3
+ export { EvmRpcClient, EvmRpcError, EvmRpcTransportError } from "./rpc.js";
4
+ export type { EvmFetch, EvmRpcClientOptions, EvmRpcRequestOptions } from "./rpc.js";
5
+ export { DEFAULT_EVM_DISCOVERY_TIMEOUT_MS, EIP6963_ANNOUNCE_PROVIDER_EVENT, EIP6963_REQUEST_PROVIDER_EVENT, EVM_METHODS, EVM_PROVIDER_GLOBAL, } from "./constants.js";
3
6
  export { discoverEVMProviders, getEVMProvider, getInjectedEVMProvider, isEIP6963ProviderDetail, isEIP6963ProviderInfo, requestEIP6963Providers, } from "./discovery.js";
4
7
  export type { AddEthereumChainParameter, EIP1193Provider, EIP6963ProviderDetail, EIP6963ProviderInfo, EVMClient, EVMClientOptions, EVMProviderEventMap, } from "./types.js";
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC3E,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,WAAW,EACX,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { createEVMClient } from "./client.js";
2
- export { DEFAULT_EVM_DISCOVERY_TIMEOUT_MS, EIP6963_ANNOUNCE_PROVIDER_EVENT, EIP6963_REQUEST_PROVIDER_EVENT, EVM_METHODS, EVM_PROVIDER_GLOBAL, VEX_EVM_CHAIN_ID, VEX_EVM_CHAIN_ID_HEX, VEX_EVM_SCOPE, WISP_EVM_PROVIDER_RDNS, } from "./constants.js";
2
+ export { evmChainIdsEqual, formatEvmAddress, isEvmAddress, isEvmTransactionHash, normalizeEvmAddress, normalizeEvmChainId, normalizeEvmTransactionHash, } from "./address.js";
3
+ export { EvmRpcClient, EvmRpcError, EvmRpcTransportError } from "./rpc.js";
4
+ export { DEFAULT_EVM_DISCOVERY_TIMEOUT_MS, EIP6963_ANNOUNCE_PROVIDER_EVENT, EIP6963_REQUEST_PROVIDER_EVENT, EVM_METHODS, EVM_PROVIDER_GLOBAL, } from "./constants.js";
3
5
  export { discoverEVMProviders, getEVMProvider, getInjectedEVMProvider, isEIP6963ProviderDetail, isEIP6963ProviderInfo, requestEIP6963Providers, } from "./discovery.js";
4
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE3E,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,WAAW,EACX,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
package/dist/rpc.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ export type EvmFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
2
+ export type EvmRpcClientOptions = {
3
+ endpoints: string | readonly string[];
4
+ fetch?: EvmFetch;
5
+ timeoutMs?: number;
6
+ maxResponseBytes?: number;
7
+ expectedChainId?: string | number | bigint;
8
+ };
9
+ export type EvmRpcRequestOptions = {
10
+ signal?: AbortSignal;
11
+ /** Read-only calls may fail over; writes are never retried automatically. */
12
+ retry?: "safe" | "never";
13
+ };
14
+ export declare class EvmRpcError extends Error {
15
+ readonly code: number;
16
+ readonly data?: unknown;
17
+ readonly endpoint: string;
18
+ constructor(message: string, code: number, endpoint: string, data?: unknown);
19
+ }
20
+ export declare class EvmRpcTransportError extends Error {
21
+ readonly endpoint: string;
22
+ readonly status?: number;
23
+ constructor(message: string, endpoint: string, status?: number, options?: ErrorOptions);
24
+ }
25
+ export declare class EvmRpcClient {
26
+ #private;
27
+ readonly endpoints: readonly string[];
28
+ constructor(options: EvmRpcClientOptions);
29
+ request<TResult = unknown>(method: string, params?: readonly unknown[] | Record<string, unknown>, options?: EvmRpcRequestOptions): Promise<TResult>;
30
+ }
31
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE3F,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAM1E;CACF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAKrF;CACF;AAuCD,qBAAa,YAAY;;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAQtC,YAAY,OAAO,EAAE,mBAAmB,EAevC;IAEK,OAAO,CAAC,OAAO,GAAG,OAAO,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzD,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,OAAO,CAAC,CA4BlB;CA8FF"}
package/dist/rpc.js ADDED
@@ -0,0 +1,176 @@
1
+ import { readResponseText } from "@windstack/core";
2
+ import { normalizeEvmChainId } from "./address.js";
3
+ export class EvmRpcError extends Error {
4
+ code;
5
+ data;
6
+ endpoint;
7
+ constructor(message, code, endpoint, data) {
8
+ super(message);
9
+ this.name = "EvmRpcError";
10
+ this.code = code;
11
+ this.endpoint = endpoint;
12
+ this.data = data;
13
+ }
14
+ }
15
+ export class EvmRpcTransportError extends Error {
16
+ endpoint;
17
+ status;
18
+ constructor(message, endpoint, status, options) {
19
+ super(message, options);
20
+ this.name = "EvmRpcTransportError";
21
+ this.endpoint = endpoint;
22
+ this.status = status;
23
+ }
24
+ }
25
+ const SAFE_METHODS = new Set([
26
+ "eth_blockNumber",
27
+ "eth_call",
28
+ "eth_chainId",
29
+ "eth_estimateGas",
30
+ "eth_feeHistory",
31
+ "eth_gasPrice",
32
+ "eth_getBalance",
33
+ "eth_getBlockByHash",
34
+ "eth_getBlockByNumber",
35
+ "eth_getCode",
36
+ "eth_getLogs",
37
+ "eth_getStorageAt",
38
+ "eth_getTransactionByHash",
39
+ "eth_getTransactionCount",
40
+ "eth_getTransactionReceipt",
41
+ "net_version",
42
+ "web3_clientVersion",
43
+ ]);
44
+ function endpoints(value) {
45
+ const result = [
46
+ ...new Set((typeof value === "string" ? [value] : value).map((item) => {
47
+ const url = new URL(item);
48
+ if (url.protocol !== "https:" && url.protocol !== "http:")
49
+ throw new TypeError("EVM RPC endpoints must use HTTP or HTTPS");
50
+ if (url.username || url.password)
51
+ throw new TypeError("EVM RPC endpoints cannot include credentials");
52
+ return url.toString().replace(/\/$/, "");
53
+ })),
54
+ ];
55
+ if (!result.length)
56
+ throw new TypeError("At least one EVM RPC endpoint is required");
57
+ return result;
58
+ }
59
+ export class EvmRpcClient {
60
+ endpoints;
61
+ #fetch;
62
+ #timeoutMs;
63
+ #maxResponseBytes;
64
+ #expectedChainId;
65
+ #verified = new Set();
66
+ #id = 0;
67
+ constructor(options) {
68
+ this.endpoints = Object.freeze(endpoints(options.endpoints));
69
+ this.#fetch = options.fetch ?? globalThis.fetch;
70
+ if (typeof this.#fetch !== "function")
71
+ throw new TypeError("A fetch implementation is required");
72
+ this.#timeoutMs = options.timeoutMs ?? 10_000;
73
+ this.#maxResponseBytes = options.maxResponseBytes ?? 4 * 1024 * 1024;
74
+ if (!Number.isFinite(this.#timeoutMs) || this.#timeoutMs <= 0)
75
+ throw new RangeError("timeoutMs must be positive");
76
+ if (!Number.isSafeInteger(this.#maxResponseBytes) || this.#maxResponseBytes < 1024)
77
+ throw new RangeError("maxResponseBytes must be at least 1024");
78
+ this.#expectedChainId =
79
+ options.expectedChainId === undefined
80
+ ? undefined
81
+ : normalizeEvmChainId(options.expectedChainId);
82
+ }
83
+ async request(method, params = [], options = {}) {
84
+ if (typeof method !== "string" || !method)
85
+ throw new TypeError("JSON-RPC method is required");
86
+ const canRetry = options.retry === "safe" && SAFE_METHODS.has(method);
87
+ const candidates = canRetry ? this.endpoints : this.endpoints.slice(0, 1);
88
+ let lastError;
89
+ for (const endpoint of candidates) {
90
+ try {
91
+ if (this.#expectedChainId && method !== "eth_chainId") {
92
+ await this.#verifyEndpoint(endpoint, options.signal);
93
+ }
94
+ const result = await this.#post(endpoint, method, params, options.signal);
95
+ if (method === "eth_chainId" && this.#expectedChainId) {
96
+ const actual = normalizeEvmChainId(result);
97
+ if (actual !== this.#expectedChainId)
98
+ throw new EvmRpcTransportError(`EVM chain mismatch: expected ${this.#expectedChainId}, received ${actual}`, endpoint);
99
+ this.#verified.add(endpoint);
100
+ }
101
+ return result;
102
+ }
103
+ catch (error) {
104
+ if (options.signal?.aborted)
105
+ throw options.signal.reason ?? error;
106
+ lastError = error;
107
+ if (!canRetry || error instanceof EvmRpcError)
108
+ break;
109
+ }
110
+ }
111
+ throw lastError;
112
+ }
113
+ async #verifyEndpoint(endpoint, signal) {
114
+ if (this.#verified.has(endpoint))
115
+ return;
116
+ const chainId = normalizeEvmChainId(await this.#post(endpoint, "eth_chainId", [], signal));
117
+ if (chainId !== this.#expectedChainId)
118
+ throw new EvmRpcTransportError(`EVM chain mismatch: expected ${this.#expectedChainId}, received ${chainId}`, endpoint);
119
+ this.#verified.add(endpoint);
120
+ }
121
+ async #post(endpoint, method, params, signal) {
122
+ const controller = new AbortController();
123
+ const timeout = setTimeout(() => controller.abort(), this.#timeoutMs);
124
+ const abort = () => controller.abort(signal?.reason);
125
+ signal?.addEventListener("abort", abort, { once: true });
126
+ const id = ++this.#id;
127
+ try {
128
+ const response = await this.#fetch(endpoint, {
129
+ method: "POST",
130
+ headers: { accept: "application/json", "content-type": "application/json" },
131
+ body: JSON.stringify({ jsonrpc: "2.0", id, method, params }),
132
+ signal: controller.signal,
133
+ });
134
+ const text = await readResponseText(response, this.#maxResponseBytes);
135
+ let payload;
136
+ try {
137
+ payload = JSON.parse(text);
138
+ }
139
+ catch (cause) {
140
+ throw new EvmRpcTransportError("EVM RPC returned invalid JSON", endpoint, response.status, {
141
+ cause,
142
+ });
143
+ }
144
+ if (!response.ok)
145
+ throw new EvmRpcTransportError(`EVM RPC returned HTTP ${response.status}`, endpoint, response.status);
146
+ if (!payload || typeof payload !== "object" || Array.isArray(payload))
147
+ throw new EvmRpcTransportError("EVM RPC returned a malformed response", endpoint, response.status);
148
+ const record = payload;
149
+ if (record.jsonrpc !== "2.0" || record.id !== id)
150
+ throw new EvmRpcTransportError("EVM RPC response id or version mismatch", endpoint, response.status);
151
+ if (record.error && typeof record.error === "object") {
152
+ const error = record.error;
153
+ if (!Number.isInteger(error.code) || typeof error.message !== "string")
154
+ throw new EvmRpcTransportError("EVM RPC returned a malformed error", endpoint, response.status);
155
+ throw new EvmRpcError(error.message, error.code, endpoint, error.data);
156
+ }
157
+ if (!("result" in record))
158
+ throw new EvmRpcTransportError("EVM RPC response is missing result", endpoint, response.status);
159
+ return record.result;
160
+ }
161
+ catch (error) {
162
+ if (signal?.aborted)
163
+ throw signal.reason ?? error;
164
+ if (error instanceof EvmRpcError || error instanceof EvmRpcTransportError)
165
+ throw error;
166
+ throw new EvmRpcTransportError(controller.signal.aborted
167
+ ? `EVM RPC timed out after ${this.#timeoutMs}ms`
168
+ : "EVM RPC request failed", endpoint, undefined, { cause: error });
169
+ }
170
+ finally {
171
+ clearTimeout(timeout);
172
+ signal?.removeEventListener("abort", abort);
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -33,6 +33,7 @@ export type EIP6963ProviderDetail = ProviderDetail<EIP1193Provider, EIP6963Provi
33
33
  export type EVMClientOptions = {
34
34
  provider?: EIP1193Provider;
35
35
  discoveryTimeoutMs?: number;
36
+ preferredRdns?: string;
36
37
  };
37
38
  export type AddEthereumChainParameter = {
38
39
  chainId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@windstack/evm",
3
- "version": "0.6.2",
4
- "description": "EIP-1193 and EIP-6963 EVM provider client for Wisp Wallet-compatible dApps.",
3
+ "version": "2.0.0",
4
+ "description": "Generic EVM address, JSON-RPC, EIP-1193, and EIP-6963 provider utilities.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -19,27 +19,25 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "build": "tsc -p tsconfig.json",
22
- "typecheck": "tsc -p tsconfig.json --noEmit false",
22
+ "typecheck": "tsc -p tsconfig.json --noEmit",
23
23
  "prepack": "npm run build"
24
24
  },
25
25
  "dependencies": {
26
- "@windstack/core": "0.6.2"
26
+ "@windstack/core": "2.0.0"
27
27
  },
28
28
  "sideEffects": false,
29
29
  "keywords": [
30
30
  "windstack",
31
- "windcrypto",
32
- "wind-crypto",
33
- "wisp-wallet",
34
- "wisp",
31
+ "rpc",
32
+ "account",
33
+ "wallet",
35
34
  "evm",
36
35
  "eip-1193",
37
36
  "eip-6963",
38
- "ethereum",
39
- "web3"
37
+ "typescript"
40
38
  ],
41
39
  "license": "MIT",
42
- "author": "PT WIND KRIPTOGRAFI TEKNOLOGI",
40
+ "author": "Gilang Ramadan",
43
41
  "homepage": "https://github.com/windvex/windstack-sdk/tree/main/packages/evm#readme",
44
42
  "repository": {
45
43
  "type": "git",
@@ -54,6 +52,6 @@
54
52
  "registry": "https://registry.npmjs.org/"
55
53
  },
56
54
  "engines": {
57
- "node": ">=18"
55
+ "node": ">=20.19.0"
58
56
  }
59
57
  }