@etherplay/wallet-connector-ethereum 0.1.1 → 0.3.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 +6 -6
- package/dist/index.d.ts +20 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +3 -3
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +9 -4
- package/dist/provider.js.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +7 -0
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +25 -14
- package/src/provider.ts +21 -14
- package/src/utils.ts +9 -0
package/README.md
CHANGED
|
@@ -129,18 +129,18 @@ connector.fetchWallets(async (walletHandle) => {
|
|
|
129
129
|
|
|
130
130
|
### EthereumWalletConnector
|
|
131
131
|
|
|
132
|
-
Main connector class implementing `WalletConnector<
|
|
132
|
+
Main connector class implementing `WalletConnector<UnderlyingEthereumProvider>`:
|
|
133
133
|
|
|
134
134
|
```typescript
|
|
135
135
|
class EthereumWalletConnector {
|
|
136
136
|
accountGenerator: AccountGenerator;
|
|
137
|
-
fetchWallets(walletAnnounced: (walletHandle: WalletHandle<
|
|
137
|
+
fetchWallets(walletAnnounced: (walletHandle: WalletHandle<UnderlyingEthereumProvider>) => void): void;
|
|
138
138
|
createAlwaysOnProvider(params: {
|
|
139
|
-
endpoint: string |
|
|
139
|
+
endpoint: string | CurriedRPC<Methods>;
|
|
140
140
|
chainId: string;
|
|
141
141
|
prioritizeWalletProvider?: boolean;
|
|
142
142
|
requestsPerSecond?: number;
|
|
143
|
-
}): AlwaysOnProviderWrapper<
|
|
143
|
+
}): AlwaysOnProviderWrapper<UnderlyingEthereumProvider>;
|
|
144
144
|
}
|
|
145
145
|
```
|
|
146
146
|
|
|
@@ -161,8 +161,8 @@ class EthereumAccountGenerator implements AccountGenerator {
|
|
|
161
161
|
Wrapper for EIP-1193 wallet providers:
|
|
162
162
|
|
|
163
163
|
```typescript
|
|
164
|
-
class EthereumWalletProvider implements WalletProvider<
|
|
165
|
-
underlyingProvider:
|
|
164
|
+
class EthereumWalletProvider implements WalletProvider<UnderlyingEthereumProvider> {
|
|
165
|
+
underlyingProvider: UnderlyingEthereumProvider;
|
|
166
166
|
signMessage(message: string, account: `0x${string}`): Promise<`0x${string}`>;
|
|
167
167
|
getChainId(): Promise<`0x${string}`>;
|
|
168
168
|
getAccounts(): Promise<`0x${string}`[]>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WalletConnector, ChainInfo, WalletProvider, WalletHandle, AlwaysOnProviderWrapper, AccountGenerator, PrivateKeyAccount } from '@etherplay/wallet-connector';
|
|
2
|
-
import type { EIP1193WindowWalletProvider, Methods } from 'eip-1193';
|
|
2
|
+
import type { EIP1193WalletProvider, EIP1193WindowWalletProvider, Methods } from 'eip-1193';
|
|
3
3
|
import { CurriedRPC } from 'remote-procedure-call';
|
|
4
4
|
import { HDKey } from '@scure/bip32';
|
|
5
5
|
export declare function strip0x(hex: string): string;
|
|
@@ -12,7 +12,18 @@ export declare function parse(address: string): {
|
|
|
12
12
|
export declare function addChecksum(nonChecksummedAddress: string): string;
|
|
13
13
|
export declare function fromPublicKey(key: string | Uint8Array): string;
|
|
14
14
|
export declare function fromPrivateKey(key: string | Uint8Array): string;
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The wallet provider this connector hands to apps: remote-procedure-call's curried client over the
|
|
17
|
+
* browser-wallet methods, ALSO typed as eip-1193's `EIP1193WalletProvider`.
|
|
18
|
+
*
|
|
19
|
+
* Why both: remote-procedure-call types `request` without distributing a method whose entry is a
|
|
20
|
+
* union (`eth_getBlockByNumber` with `false` or `true`, for example), which eip-1193 0.7 does, so a
|
|
21
|
+
* bare `CurriedRPC<Methods>` is not assignable to any eip-1193 0.7 provider type, and an app could
|
|
22
|
+
* not pass it to a library slot typed `EIP1193CoreProvider` (`@etherkit/tx-observer`, etherfold,
|
|
23
|
+
* rocketh). The runtime object answers every `request` the wallet does, so the eip-1193 half is a
|
|
24
|
+
* true description of it. The eip-1193 half comes first so that `request` resolves with eip-1193 0.7's (narrower) result types. `asUnderlyingEthereumProvider` (utils.ts) is the one place that asserts it.
|
|
25
|
+
*/
|
|
26
|
+
export type UnderlyingEthereumProvider = EIP1193WalletProvider & CurriedRPC<Methods>;
|
|
16
27
|
interface EIP6963ProviderInfo {
|
|
17
28
|
uuid: string;
|
|
18
29
|
name: string;
|
|
@@ -23,7 +34,7 @@ interface EIP6963ProviderDetail {
|
|
|
23
34
|
info: EIP6963ProviderInfo;
|
|
24
35
|
provider: EIP1193WindowWalletProvider;
|
|
25
36
|
}
|
|
26
|
-
type WalletAnnouncementFunction = (walletInfo: WalletHandle<
|
|
37
|
+
type WalletAnnouncementFunction = (walletInfo: WalletHandle<UnderlyingEthereumProvider>) => void;
|
|
27
38
|
export type WalletFetcher = {
|
|
28
39
|
fetchWallets(walletAnnounced: WalletAnnouncementFunction): void;
|
|
29
40
|
};
|
|
@@ -31,17 +42,17 @@ export interface EIP6963AnnounceProviderEvent extends CustomEvent {
|
|
|
31
42
|
type: 'eip6963:announceProvider';
|
|
32
43
|
detail: EIP6963ProviderDetail;
|
|
33
44
|
}
|
|
34
|
-
export declare class EthereumWalletConnector implements WalletConnector<
|
|
45
|
+
export declare class EthereumWalletConnector implements WalletConnector<UnderlyingEthereumProvider> {
|
|
35
46
|
accountGenerator: AccountGenerator;
|
|
36
47
|
walletFetcher: WalletFetcher;
|
|
37
48
|
constructor();
|
|
38
|
-
fetchWallets(walletAnnounced: (walletInfo: WalletHandle<
|
|
49
|
+
fetchWallets(walletAnnounced: (walletInfo: WalletHandle<UnderlyingEthereumProvider>) => void): void;
|
|
39
50
|
createAlwaysOnProvider(params: {
|
|
40
|
-
endpoint: string |
|
|
51
|
+
endpoint: string | CurriedRPC<Methods>;
|
|
41
52
|
chainId: string;
|
|
42
53
|
prioritizeWalletProvider?: boolean;
|
|
43
54
|
requestsPerSecond?: number;
|
|
44
|
-
}): AlwaysOnProviderWrapper<
|
|
55
|
+
}): AlwaysOnProviderWrapper<UnderlyingEthereumProvider>;
|
|
45
56
|
}
|
|
46
57
|
export declare function concatUint8Arrays(values: readonly Uint8Array[]): Uint8Array;
|
|
47
58
|
export declare function hashTextMessage(str: string): string;
|
|
@@ -51,9 +62,9 @@ export declare class EthereumAccountGenerator implements AccountGenerator {
|
|
|
51
62
|
fromMnemonicToAccount(mnemonic: string, index: number): PrivateKeyAccount;
|
|
52
63
|
signTextMessage(message: string, privateKey: `0x${string}`): Promise<`0x${string}`>;
|
|
53
64
|
}
|
|
54
|
-
export declare class EthereumWalletProvider implements WalletProvider<
|
|
65
|
+
export declare class EthereumWalletProvider implements WalletProvider<UnderlyingEthereumProvider> {
|
|
55
66
|
protected windowProvider: EIP1193WindowWalletProvider;
|
|
56
|
-
readonly underlyingProvider:
|
|
67
|
+
readonly underlyingProvider: UnderlyingEthereumProvider;
|
|
57
68
|
constructor(windowProvider: EIP1193WindowWalletProvider);
|
|
58
69
|
signMessage(message: string, account: `0x${string}`): Promise<`0x${string}`>;
|
|
59
70
|
getChainId(): Promise<`0x${string}`>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAiB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { personalSign } from './utils.js';
|
|
1
|
+
import { asUnderlyingEthereumProvider, personalSign } from './utils.js';
|
|
2
2
|
import { createProvider } from './provider.js';
|
|
3
3
|
import { createCurriedJSONRPC } from 'remote-procedure-call';
|
|
4
4
|
import { HDKey } from '@scure/bip32';
|
|
@@ -315,7 +315,7 @@ export class EthereumWalletProvider {
|
|
|
315
315
|
underlyingProvider;
|
|
316
316
|
constructor(windowProvider) {
|
|
317
317
|
this.windowProvider = windowProvider;
|
|
318
|
-
this.underlyingProvider = createCurriedJSONRPC(windowProvider);
|
|
318
|
+
this.underlyingProvider = asUnderlyingEthereumProvider(createCurriedJSONRPC(windowProvider));
|
|
319
319
|
}
|
|
320
320
|
async signMessage(message, account) {
|
|
321
321
|
return personalSign(this.underlyingProvider, message, account);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Methods } from 'eip-1193';
|
|
2
2
|
import { CurriedRPC } from 'remote-procedure-call';
|
|
3
3
|
import { AlwaysOnProviderWrapper } from '@etherplay/wallet-connector';
|
|
4
|
-
import { UnderlyingEthereumProvider } from './index.js';
|
|
4
|
+
import type { UnderlyingEthereumProvider } from './index.js';
|
|
5
5
|
export declare function createProvider(params: {
|
|
6
|
-
endpoint: string |
|
|
6
|
+
endpoint: string | CurriedRPC<Methods>;
|
|
7
7
|
chainId: string;
|
|
8
8
|
prioritizeWalletProvider?: boolean;
|
|
9
9
|
requestsPerSecond?: number;
|
|
10
|
-
}): AlwaysOnProviderWrapper<
|
|
10
|
+
}): AlwaysOnProviderWrapper<UnderlyingEthereumProvider>;
|
|
11
11
|
//# sourceMappingURL=provider.d.ts.map
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,OAAO,EAAC,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACN,uBAAuB,EAUvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAiU3D,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,uBAAuB,CAAC,0BAA0B,CAAC,CAEtD"}
|
package/dist/provider.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createCurriedJSONRPC } from 'remote-procedure-call';
|
|
2
|
-
import { personalSign, withTimeout } from './utils.js';
|
|
2
|
+
import { asUnderlyingEthereumProvider, personalSign, withTimeout } from './utils.js';
|
|
3
3
|
import { TRACKED_REQUEST_METHODS, TRANSACTION_METHODS, } from '@etherplay/wallet-connector';
|
|
4
4
|
// Type guard for transaction methods
|
|
5
5
|
function isTransactionMethod(method) {
|
|
@@ -33,7 +33,8 @@ function asAddress(value) {
|
|
|
33
33
|
*
|
|
34
34
|
* personal_sign [data, address]
|
|
35
35
|
* eth_sign [address, data]
|
|
36
|
-
* eth_signTypedData
|
|
36
|
+
* eth_signTypedData [typedData, address] (v1, the reverse of v3/v4)
|
|
37
|
+
* eth_signTypedData_v4 [address, typedData]
|
|
37
38
|
* eth_sendTransaction [{from, ...}]
|
|
38
39
|
* eth_signTransaction [{from, ...}]
|
|
39
40
|
*
|
|
@@ -50,9 +51,9 @@ function accountForRequest(method, params) {
|
|
|
50
51
|
case 'eth_signTransaction':
|
|
51
52
|
return asAddress(params[0]?.from);
|
|
52
53
|
case 'personal_sign':
|
|
54
|
+
case 'eth_signTypedData':
|
|
53
55
|
return asAddress(params[1]);
|
|
54
56
|
case 'eth_sign':
|
|
55
|
-
case 'eth_signTypedData':
|
|
56
57
|
case 'eth_signTypedData_v4':
|
|
57
58
|
return asAddress(params[0]);
|
|
58
59
|
default:
|
|
@@ -87,6 +88,10 @@ class AlwaysOnEthereumProviderWrapper {
|
|
|
87
88
|
const self = this;
|
|
88
89
|
this.chainId = params.chainId;
|
|
89
90
|
this.jsonRPC = createCurriedJSONRPC(params.endpoint);
|
|
91
|
+
// A genuine boundary, hence the cast below: this object is an untyped router that forwards
|
|
92
|
+
// whatever it is given to the wallet or to the JSON-RPC endpoint, so it cannot satisfy the
|
|
93
|
+
// per-method overloads of a typed provider by itself. It serves the wallet surface (`Methods`)
|
|
94
|
+
// and emits no events, so it is an EIP1193WalletProvider, not an EIP1193Provider.
|
|
90
95
|
const provider = {
|
|
91
96
|
async request(req) {
|
|
92
97
|
// Check if this is a tracked method
|
|
@@ -97,7 +102,7 @@ class AlwaysOnEthereumProviderWrapper {
|
|
|
97
102
|
return self.executeRequest(req, params.prioritizeWalletProvider);
|
|
98
103
|
},
|
|
99
104
|
};
|
|
100
|
-
this.provider = createCurriedJSONRPC(provider, { requestsPerSecond: params.requestsPerSecond });
|
|
105
|
+
this.provider = asUnderlyingEthereumProvider(createCurriedJSONRPC(provider, { requestsPerSecond: params.requestsPerSecond }));
|
|
101
106
|
}
|
|
102
107
|
// Event subscription
|
|
103
108
|
onRequest(handler) {
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAa,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Methods } from 'eip-1193';
|
|
2
|
+
import type { UnderlyingEthereumProvider } from './index.js';
|
|
2
3
|
import type { CurriedRPC } from 'remote-procedure-call';
|
|
3
4
|
/**
|
|
4
5
|
* Wraps any promise with a timeout
|
|
@@ -20,4 +21,9 @@ export declare function hashMessage(message: string): `0x${string}`;
|
|
|
20
21
|
* up as a credential that verifies against nobody rather than as an error.
|
|
21
22
|
*/
|
|
22
23
|
export declare function personalSign(rpc: CurriedRPC<Methods>, message: string, account: `0x${string}`): Promise<`0x${string}`>;
|
|
24
|
+
/**
|
|
25
|
+
* The one place a remote-procedure-call client is asserted to be an `UnderlyingEthereumProvider`:
|
|
26
|
+
* a genuine boundary between two typings of the same `request`, not a claim about extra behaviour.
|
|
27
|
+
*/
|
|
28
|
+
export declare function asUnderlyingEthereumProvider(rpc: CurriedRPC<Methods>): UnderlyingEthereumProvider;
|
|
23
29
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,MAAa,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CA0BjH;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAI1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,MAAM,EAAE,GACpB,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAKxB"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,MAAa,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CA0BjH;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAI1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,MAAM,EAAE,GACpB,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAKxB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAEjG"}
|
package/dist/utils.js
CHANGED
|
@@ -54,4 +54,11 @@ export function personalSign(rpc, message, account) {
|
|
|
54
54
|
params: [hashMessage(message), account],
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* The one place a remote-procedure-call client is asserted to be an `UnderlyingEthereumProvider`:
|
|
59
|
+
* a genuine boundary between two typings of the same `request`, not a claim about extra behaviour.
|
|
60
|
+
*/
|
|
61
|
+
export function asUnderlyingEthereumProvider(rpc) {
|
|
62
|
+
return rpc;
|
|
63
|
+
}
|
|
57
64
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAK/C;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,OAAmB,EAAE,YAAoB,IAAI,EAAE,cAAuB;IACpG,4DAA4D;IAC5D,IAAI,EAAsB,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACvD,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,IAAI,EAAE,EAAE,CAAC;gBACR,mCAAmC;gBACnC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACjB,EAAE,GAAG,SAAS,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,2BAA2B,SAAS,IAAI,CAAC,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC,EAAE,SAAS,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACvB,IAAI,EAAE,EAAE,CAAC;YACR,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,EAAE,GAAG,SAAS,CAAC;YACf,mDAAmD;QACpD,CAAC;aAAM,CAAC;YACP,4CAA4C;QAC7C,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,UAAU,CAAC,cAAc,CAAC,EAAmB,CAAC;IAC/D,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC3B,GAAwB,EACxB,OAAe,EACf,OAAsB;IAEtB,OAAO,GAAG,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;KACvC,CAA2B,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAwB;IACpE,OAAO,GAAiC,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etherplay/wallet-connector-ethereum",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Ethereum wallet connector implementation for @etherplay/connect - provides EIP-6963 provider detection, account management, and chain switching support",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ethereum",
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
],
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"as-soon": "^0.0.11",
|
|
46
|
-
"eip-1193": "^0.6.3",
|
|
47
46
|
"ldenv": "^0.3.12",
|
|
48
47
|
"prettier": "^3.5.3",
|
|
49
48
|
"typescript": "^5.8.3"
|
|
@@ -55,6 +54,7 @@
|
|
|
55
54
|
"@noble/curves": "1.8.1",
|
|
56
55
|
"@noble/secp256k1": "^2.2.3",
|
|
57
56
|
"remote-procedure-call": "^0.1.1",
|
|
57
|
+
"eip-1193": "^0.7.3",
|
|
58
58
|
"@etherplay/wallet-connector": "0.2.0"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
package/src/index.ts
CHANGED
|
@@ -7,8 +7,8 @@ import type {
|
|
|
7
7
|
AccountGenerator,
|
|
8
8
|
PrivateKeyAccount,
|
|
9
9
|
} from '@etherplay/wallet-connector';
|
|
10
|
-
import type {EIP1193ChainId, EIP1193WindowWalletProvider, Methods} from 'eip-1193';
|
|
11
|
-
import {personalSign} from './utils.js';
|
|
10
|
+
import type {EIP1193ChainId, EIP1193WalletProvider, EIP1193WindowWalletProvider, Methods} from 'eip-1193';
|
|
11
|
+
import {asUnderlyingEthereumProvider, personalSign} from './utils.js';
|
|
12
12
|
import {createProvider} from './provider.js';
|
|
13
13
|
import {createCurriedJSONRPC, CurriedRPC} from 'remote-procedure-call';
|
|
14
14
|
import {HDKey} from '@scure/bip32';
|
|
@@ -71,7 +71,18 @@ export function fromPrivateKey(key: string | Uint8Array): string {
|
|
|
71
71
|
}
|
|
72
72
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
/**
|
|
75
|
+
* The wallet provider this connector hands to apps: remote-procedure-call's curried client over the
|
|
76
|
+
* browser-wallet methods, ALSO typed as eip-1193's `EIP1193WalletProvider`.
|
|
77
|
+
*
|
|
78
|
+
* Why both: remote-procedure-call types `request` without distributing a method whose entry is a
|
|
79
|
+
* union (`eth_getBlockByNumber` with `false` or `true`, for example), which eip-1193 0.7 does, so a
|
|
80
|
+
* bare `CurriedRPC<Methods>` is not assignable to any eip-1193 0.7 provider type, and an app could
|
|
81
|
+
* not pass it to a library slot typed `EIP1193CoreProvider` (`@etherkit/tx-observer`, etherfold,
|
|
82
|
+
* rocketh). The runtime object answers every `request` the wallet does, so the eip-1193 half is a
|
|
83
|
+
* true description of it. The eip-1193 half comes first so that `request` resolves with eip-1193 0.7's (narrower) result types. `asUnderlyingEthereumProvider` (utils.ts) is the one place that asserts it.
|
|
84
|
+
*/
|
|
85
|
+
export type UnderlyingEthereumProvider = EIP1193WalletProvider & CurriedRPC<Methods>;
|
|
75
86
|
|
|
76
87
|
interface EIP6963ProviderInfo {
|
|
77
88
|
uuid: string;
|
|
@@ -146,12 +157,12 @@ function detectWindowEthereumInfo(provider: EIP1193WindowWalletProvider): EIP696
|
|
|
146
157
|
};
|
|
147
158
|
}
|
|
148
159
|
|
|
149
|
-
type WalletAnnouncementFunction = (walletInfo: WalletHandle<
|
|
160
|
+
type WalletAnnouncementFunction = (walletInfo: WalletHandle<UnderlyingEthereumProvider>) => void;
|
|
150
161
|
export type WalletFetcher = {
|
|
151
162
|
fetchWallets(walletAnnounced: WalletAnnouncementFunction): void;
|
|
152
163
|
};
|
|
153
164
|
function createWalletFetcher(): WalletFetcher {
|
|
154
|
-
const walletHandles: WalletHandle<
|
|
165
|
+
const walletHandles: WalletHandle<UnderlyingEthereumProvider>[] = [];
|
|
155
166
|
const walletAnnouncementFunctions: WalletAnnouncementFunction[] = [];
|
|
156
167
|
let requesting = false;
|
|
157
168
|
let eip6963Received = false;
|
|
@@ -166,7 +177,7 @@ function createWalletFetcher(): WalletFetcher {
|
|
|
166
177
|
//
|
|
167
178
|
// `uuid` is the EIP-6963 identity of the announcement; `rdns` is the stable identity of the
|
|
168
179
|
// wallet itself and is checked as a fallback for wallets that regenerate their uuid.
|
|
169
|
-
function alreadyAnnounced(walletHandle: WalletHandle<
|
|
180
|
+
function alreadyAnnounced(walletHandle: WalletHandle<UnderlyingEthereumProvider>): boolean {
|
|
170
181
|
return walletHandles.some(
|
|
171
182
|
(existing) =>
|
|
172
183
|
(!!existing.info.uuid && existing.info.uuid === walletHandle.info.uuid) ||
|
|
@@ -174,7 +185,7 @@ function createWalletFetcher(): WalletFetcher {
|
|
|
174
185
|
);
|
|
175
186
|
}
|
|
176
187
|
|
|
177
|
-
function announceWallet(walletHandle: WalletHandle<
|
|
188
|
+
function announceWallet(walletHandle: WalletHandle<UnderlyingEthereumProvider>) {
|
|
178
189
|
if (alreadyAnnounced(walletHandle)) {
|
|
179
190
|
return;
|
|
180
191
|
}
|
|
@@ -266,7 +277,7 @@ export interface EIP6963AnnounceProviderEvent extends CustomEvent {
|
|
|
266
277
|
detail: EIP6963ProviderDetail;
|
|
267
278
|
}
|
|
268
279
|
|
|
269
|
-
export class EthereumWalletConnector implements WalletConnector<
|
|
280
|
+
export class EthereumWalletConnector implements WalletConnector<UnderlyingEthereumProvider> {
|
|
270
281
|
accountGenerator: AccountGenerator = new EthereumAccountGenerator();
|
|
271
282
|
walletFetcher: WalletFetcher;
|
|
272
283
|
|
|
@@ -274,16 +285,16 @@ export class EthereumWalletConnector implements WalletConnector<CurriedRPC<Metho
|
|
|
274
285
|
this.walletFetcher = createWalletFetcher();
|
|
275
286
|
}
|
|
276
287
|
|
|
277
|
-
fetchWallets(walletAnnounced: (walletInfo: WalletHandle<
|
|
288
|
+
fetchWallets(walletAnnounced: (walletInfo: WalletHandle<UnderlyingEthereumProvider>) => void): void {
|
|
278
289
|
this.walletFetcher.fetchWallets(walletAnnounced);
|
|
279
290
|
}
|
|
280
291
|
|
|
281
292
|
createAlwaysOnProvider(params: {
|
|
282
|
-
endpoint: string |
|
|
293
|
+
endpoint: string | CurriedRPC<Methods>;
|
|
283
294
|
chainId: string;
|
|
284
295
|
prioritizeWalletProvider?: boolean;
|
|
285
296
|
requestsPerSecond?: number;
|
|
286
|
-
}): AlwaysOnProviderWrapper<
|
|
297
|
+
}): AlwaysOnProviderWrapper<UnderlyingEthereumProvider> {
|
|
287
298
|
return createProvider(params);
|
|
288
299
|
}
|
|
289
300
|
}
|
|
@@ -358,10 +369,10 @@ export class EthereumAccountGenerator implements AccountGenerator {
|
|
|
358
369
|
}
|
|
359
370
|
}
|
|
360
371
|
|
|
361
|
-
export class EthereumWalletProvider implements WalletProvider<
|
|
362
|
-
public readonly underlyingProvider:
|
|
372
|
+
export class EthereumWalletProvider implements WalletProvider<UnderlyingEthereumProvider> {
|
|
373
|
+
public readonly underlyingProvider: UnderlyingEthereumProvider;
|
|
363
374
|
constructor(protected windowProvider: EIP1193WindowWalletProvider) {
|
|
364
|
-
this.underlyingProvider = createCurriedJSONRPC<Methods>(windowProvider
|
|
375
|
+
this.underlyingProvider = asUnderlyingEthereumProvider(createCurriedJSONRPC<Methods>(windowProvider));
|
|
365
376
|
}
|
|
366
377
|
async signMessage(message: string, account: `0x${string}`): Promise<`0x${string}`> {
|
|
367
378
|
return personalSign(this.underlyingProvider, message, account);
|
package/src/provider.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {EIP1193WalletProvider, Methods} from 'eip-1193';
|
|
2
2
|
import {createCurriedJSONRPC, CurriedRPC} from 'remote-procedure-call';
|
|
3
|
-
import {personalSign, withTimeout} from './utils.js';
|
|
3
|
+
import {asUnderlyingEthereumProvider, personalSign, withTimeout} from './utils.js';
|
|
4
4
|
import {
|
|
5
5
|
AlwaysOnProviderWrapper,
|
|
6
6
|
PendingRequest,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TransactionMethod,
|
|
14
14
|
SignatureMethod,
|
|
15
15
|
} from '@etherplay/wallet-connector';
|
|
16
|
-
import {UnderlyingEthereumProvider} from './index.js';
|
|
16
|
+
import type {UnderlyingEthereumProvider} from './index.js';
|
|
17
17
|
|
|
18
18
|
// Type guard for transaction methods
|
|
19
19
|
function isTransactionMethod(method: TrackedRequestMethod): method is TransactionMethod {
|
|
@@ -58,7 +58,8 @@ function asAddress(value: unknown): `0x${string}` | undefined {
|
|
|
58
58
|
*
|
|
59
59
|
* personal_sign [data, address]
|
|
60
60
|
* eth_sign [address, data]
|
|
61
|
-
* eth_signTypedData
|
|
61
|
+
* eth_signTypedData [typedData, address] (v1, the reverse of v3/v4)
|
|
62
|
+
* eth_signTypedData_v4 [address, typedData]
|
|
62
63
|
* eth_sendTransaction [{from, ...}]
|
|
63
64
|
* eth_signTransaction [{from, ...}]
|
|
64
65
|
*
|
|
@@ -75,9 +76,9 @@ function accountForRequest(method: TrackedRequestMethod, params?: any[]): `0x${s
|
|
|
75
76
|
case 'eth_signTransaction':
|
|
76
77
|
return asAddress(params[0]?.from);
|
|
77
78
|
case 'personal_sign':
|
|
79
|
+
case 'eth_signTypedData':
|
|
78
80
|
return asAddress(params[1]);
|
|
79
81
|
case 'eth_sign':
|
|
80
|
-
case 'eth_signTypedData':
|
|
81
82
|
case 'eth_signTypedData_v4':
|
|
82
83
|
return asAddress(params[0]);
|
|
83
84
|
default:
|
|
@@ -103,10 +104,10 @@ const connectedAccountMethods = ['eth_sendTransaction'];
|
|
|
103
104
|
|
|
104
105
|
const walletOnlyMethods = ['eth_requestAccounts', 'wallet_switchEthereumChain', 'wallet_addEthereumChain'];
|
|
105
106
|
|
|
106
|
-
class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<
|
|
107
|
+
class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<UnderlyingEthereumProvider> {
|
|
107
108
|
public readonly chainId: string;
|
|
108
|
-
public readonly provider:
|
|
109
|
-
private walletProvider?:
|
|
109
|
+
public readonly provider: UnderlyingEthereumProvider;
|
|
110
|
+
private walletProvider?: UnderlyingEthereumProvider;
|
|
110
111
|
private jsonRPC: CurriedRPC<Methods>;
|
|
111
112
|
private status: 'connected' | 'locked' | 'disconnected' = 'disconnected';
|
|
112
113
|
|
|
@@ -116,7 +117,7 @@ class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<Curried
|
|
|
116
117
|
private requestCounter = 0;
|
|
117
118
|
|
|
118
119
|
constructor(params: {
|
|
119
|
-
endpoint: string |
|
|
120
|
+
endpoint: string | CurriedRPC<Methods>;
|
|
120
121
|
chainId: string;
|
|
121
122
|
prioritizeWalletProvider?: boolean;
|
|
122
123
|
requestsPerSecond?: number;
|
|
@@ -125,6 +126,10 @@ class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<Curried
|
|
|
125
126
|
this.chainId = params.chainId;
|
|
126
127
|
this.jsonRPC = createCurriedJSONRPC<Methods>(params.endpoint);
|
|
127
128
|
|
|
129
|
+
// A genuine boundary, hence the cast below: this object is an untyped router that forwards
|
|
130
|
+
// whatever it is given to the wallet or to the JSON-RPC endpoint, so it cannot satisfy the
|
|
131
|
+
// per-method overloads of a typed provider by itself. It serves the wallet surface (`Methods`)
|
|
132
|
+
// and emits no events, so it is an EIP1193WalletProvider, not an EIP1193Provider.
|
|
128
133
|
const provider = {
|
|
129
134
|
async request(req: {method: string; params?: any[]}) {
|
|
130
135
|
// Check if this is a tracked method
|
|
@@ -135,9 +140,11 @@ class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<Curried
|
|
|
135
140
|
// Non-tracked methods - execute directly
|
|
136
141
|
return self.executeRequest(req, params.prioritizeWalletProvider);
|
|
137
142
|
},
|
|
138
|
-
} as unknown as
|
|
143
|
+
} as unknown as EIP1193WalletProvider;
|
|
139
144
|
|
|
140
|
-
this.provider =
|
|
145
|
+
this.provider = asUnderlyingEthereumProvider(
|
|
146
|
+
createCurriedJSONRPC<Methods>(provider, {requestsPerSecond: params.requestsPerSecond}),
|
|
147
|
+
);
|
|
141
148
|
}
|
|
142
149
|
|
|
143
150
|
// Event subscription
|
|
@@ -318,7 +325,7 @@ class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<Curried
|
|
|
318
325
|
return this.jsonRPC.request(req as any);
|
|
319
326
|
}
|
|
320
327
|
|
|
321
|
-
setWalletProvider(walletProvider:
|
|
328
|
+
setWalletProvider(walletProvider: UnderlyingEthereumProvider | undefined) {
|
|
322
329
|
this.walletProvider = walletProvider;
|
|
323
330
|
}
|
|
324
331
|
|
|
@@ -328,10 +335,10 @@ class AlwaysOnEthereumProviderWrapper implements AlwaysOnProviderWrapper<Curried
|
|
|
328
335
|
}
|
|
329
336
|
|
|
330
337
|
export function createProvider(params: {
|
|
331
|
-
endpoint: string |
|
|
338
|
+
endpoint: string | CurriedRPC<Methods>;
|
|
332
339
|
chainId: string;
|
|
333
340
|
prioritizeWalletProvider?: boolean;
|
|
334
341
|
requestsPerSecond?: number;
|
|
335
|
-
}): AlwaysOnProviderWrapper<
|
|
342
|
+
}): AlwaysOnProviderWrapper<UnderlyingEthereumProvider> {
|
|
336
343
|
return new AlwaysOnEthereumProviderWrapper(params);
|
|
337
344
|
}
|
package/src/utils.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {bytesToHex} from '@noble/hashes/utils';
|
|
2
2
|
import type {Methods} from 'eip-1193';
|
|
3
|
+
import type {UnderlyingEthereumProvider} from './index.js';
|
|
3
4
|
import type {CurriedRPC} from 'remote-procedure-call';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -65,3 +66,11 @@ export function personalSign(
|
|
|
65
66
|
params: [hashMessage(message), account],
|
|
66
67
|
}) as Promise<`0x${string}`>;
|
|
67
68
|
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The one place a remote-procedure-call client is asserted to be an `UnderlyingEthereumProvider`:
|
|
72
|
+
* a genuine boundary between two typings of the same `request`, not a claim about extra behaviour.
|
|
73
|
+
*/
|
|
74
|
+
export function asUnderlyingEthereumProvider(rpc: CurriedRPC<Methods>): UnderlyingEthereumProvider {
|
|
75
|
+
return rpc as UnderlyingEthereumProvider;
|
|
76
|
+
}
|