@faremeter/wallet-evm 0.13.0 → 0.15.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 ADDED
@@ -0,0 +1,53 @@
1
+ # @faremeter/wallet-evm
2
+
3
+ EVM private key wallet adapter for Faremeter payments using viem.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm install @faremeter/wallet-evm
9
+ ```
10
+
11
+ ## Features
12
+
13
+ - Private key signing with viem
14
+ - Multi-chain support (Base, Skale, etc.)
15
+ - EIP-712 signature support
16
+ - Compatible with @faremeter/payment-evm
17
+
18
+ ## API Reference
19
+
20
+ <!-- TSDOC_START -->
21
+
22
+ ## Functions
23
+
24
+ - [createLocalWallet](#createlocalwallet)
25
+
26
+ ### createLocalWallet
27
+
28
+ | Function | Type |
29
+ | ------------------- | -------------------------------------------------------------- |
30
+ | `createLocalWallet` | `(chain: ChainInfo, privateKey: string) => Promise<EvmWallet>` |
31
+
32
+ ## Interfaces
33
+
34
+ - [EvmWallet](#evmwallet)
35
+
36
+ ### EvmWallet
37
+
38
+ | Property | Type | Description |
39
+ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
40
+ | `chain` | `ChainInfo` | |
41
+ | `address` | `0x${string}` | |
42
+ | `account` | `{ address: `0x${string}`; nonceManager?: NonceManager or undefined; sign: (parameters: { hash: `0x${string}`; }) => Promise<`0x${string}`>; signAuthorization: (parameters: AuthorizationRequest) => Promise<...>; ... 5 more ...; type: "local"; }` | |
43
+
44
+ <!-- TSDOC_END -->
45
+
46
+ ## Related Packages
47
+
48
+ - [@faremeter/payment-evm](https://www.npmjs.com/package/@faremeter/payment-evm) - EVM payment handler
49
+ - [@faremeter/fetch](https://www.npmjs.com/package/@faremeter/fetch) - Client fetch wrapper
50
+
51
+ ## License
52
+
53
+ LGPL-3.0-only
@@ -1,10 +1,9 @@
1
1
  import { type ChainInfo } from "@faremeter/types/evm";
2
- import { type WalletClient, type Hex } from "viem";
2
+ import { type Hex } from "viem";
3
3
  import { privateKeyToAccount } from "viem/accounts";
4
4
  export interface EvmWallet {
5
5
  chain: ChainInfo;
6
6
  address: Hex;
7
- client: WalletClient;
8
7
  account: ReturnType<typeof privateKeyToAccount>;
9
8
  }
10
9
  export declare function createLocalWallet(chain: ChainInfo, privateKey: string): Promise<EvmWallet>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAA4B,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACjD;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,CAAC,CAmBpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACjD;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,CAAC,CAcpB"}
package/dist/src/index.js CHANGED
@@ -1,19 +1,14 @@
1
1
  import { isPrivateKey } from "@faremeter/types/evm";
2
- import { createWalletClient, http } from "viem";
2
+ import {} from "viem";
3
3
  import { privateKeyToAccount } from "viem/accounts";
4
4
  export async function createLocalWallet(chain, privateKey) {
5
5
  if (!isPrivateKey(privateKey)) {
6
6
  throw new Error(`Invalid private key format. Expected 64-character hex string with '0x' prefix, got: ${privateKey.slice(0, 10)}...`);
7
7
  }
8
8
  const account = privateKeyToAccount(privateKey);
9
- const client = createWalletClient({
10
- account,
11
- transport: http(chain.rpcUrls.default.http[0]),
12
- });
13
9
  return {
14
10
  chain,
15
11
  address: account.address,
16
- client,
17
12
  account,
18
13
  };
19
14
  }