@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 +53 -0
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
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
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { type ChainInfo } from "@faremeter/types/evm";
|
|
2
|
-
import { type
|
|
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>;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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 {
|
|
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
|
}
|