@shadow-corp/nearconnect 1.0.5 → 1.0.7
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/build/wallets/injected/adapter.d.ts +17 -0
- package/build/wallets/injected/adapter.js +52 -13
- package/build/wallets/injected/adapter.js.map +1 -1
- package/build/wallets/injected/detector.d.ts +12 -0
- package/build/wallets/injected/detector.js +44 -3
- package/build/wallets/injected/detector.js.map +1 -1
- package/build/wallets/injected/manager.d.ts +12 -1
- package/build/wallets/injected/manager.js +24 -1
- package/build/wallets/injected/manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,6 +11,12 @@ export declare class InjectedWalletAdapter implements NearWalletBase {
|
|
|
11
11
|
readonly manifest: WalletManifest;
|
|
12
12
|
private provider;
|
|
13
13
|
private cachedAccounts;
|
|
14
|
+
/**
|
|
15
|
+
* If true, this wallet uses a postMessage channel (like Meteor's meteorCom)
|
|
16
|
+
* and actual wallet operations should go through the sandboxed executor.
|
|
17
|
+
* The adapter can detect the extension is installed but can't perform ops directly.
|
|
18
|
+
*/
|
|
19
|
+
readonly usesPostMessageChannel: boolean;
|
|
14
20
|
constructor(wallet: DetectedWallet);
|
|
15
21
|
/**
|
|
16
22
|
* Sign in to the wallet
|
|
@@ -40,6 +46,17 @@ export declare class InjectedWalletAdapter implements NearWalletBase {
|
|
|
40
46
|
* Check if connected
|
|
41
47
|
*/
|
|
42
48
|
isConnected(): Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Verify account ownership (NEP-413 alternative)
|
|
51
|
+
* Meteor SDK supports this as a separate method
|
|
52
|
+
*/
|
|
53
|
+
verifyOwner(params: {
|
|
54
|
+
message: string;
|
|
55
|
+
}): Promise<{
|
|
56
|
+
accountId: string;
|
|
57
|
+
publicKey: string;
|
|
58
|
+
signature: string;
|
|
59
|
+
}>;
|
|
43
60
|
/**
|
|
44
61
|
* Normalize different account response formats to Account[]
|
|
45
62
|
*/
|
|
@@ -11,8 +11,15 @@ class InjectedWalletAdapter {
|
|
|
11
11
|
manifest;
|
|
12
12
|
provider;
|
|
13
13
|
cachedAccounts = [];
|
|
14
|
+
/**
|
|
15
|
+
* If true, this wallet uses a postMessage channel (like Meteor's meteorCom)
|
|
16
|
+
* and actual wallet operations should go through the sandboxed executor.
|
|
17
|
+
* The adapter can detect the extension is installed but can't perform ops directly.
|
|
18
|
+
*/
|
|
19
|
+
usesPostMessageChannel;
|
|
14
20
|
constructor(wallet) {
|
|
15
21
|
this.provider = wallet.provider;
|
|
22
|
+
this.usesPostMessageChannel = wallet.info.usesPostMessageChannel ?? false;
|
|
16
23
|
// Build manifest from detected wallet info
|
|
17
24
|
this.manifest = {
|
|
18
25
|
id: wallet.info.id,
|
|
@@ -28,11 +35,14 @@ class InjectedWalletAdapter {
|
|
|
28
35
|
external: [wallet.info.id],
|
|
29
36
|
},
|
|
30
37
|
features: {
|
|
31
|
-
|
|
38
|
+
// For postMessage channel wallets, we can't determine features from provider
|
|
39
|
+
signMessage: this.usesPostMessageChannel ? true : typeof this.provider.signMessage === 'function',
|
|
32
40
|
signTransaction: true,
|
|
33
|
-
signAndSendTransaction:
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
signAndSendTransaction: this.usesPostMessageChannel ? true :
|
|
42
|
+
typeof this.provider.signAndSendTransaction === 'function',
|
|
43
|
+
signAndSendTransactions: this.usesPostMessageChannel ? true :
|
|
44
|
+
typeof this.provider.signAndSendTransactions === 'function' ||
|
|
45
|
+
typeof this.provider.requestSignTransactions === 'function',
|
|
36
46
|
signInWithoutAddKey: true,
|
|
37
47
|
mainnet: true,
|
|
38
48
|
testnet: true,
|
|
@@ -43,6 +53,12 @@ class InjectedWalletAdapter {
|
|
|
43
53
|
* Sign in to the wallet
|
|
44
54
|
*/
|
|
45
55
|
async signIn(data) {
|
|
56
|
+
// PostMessage channel wallets (like Meteor) can't be operated directly
|
|
57
|
+
// They need to go through the sandboxed executor from the manifest
|
|
58
|
+
if (this.usesPostMessageChannel) {
|
|
59
|
+
throw new Error(`${this.manifest.name} extension detected, but operations must go through sandboxed wallet. ` +
|
|
60
|
+
`Use the wallet from the manifest, not the injected adapter.`);
|
|
61
|
+
}
|
|
46
62
|
let result;
|
|
47
63
|
// Different wallets use different method names
|
|
48
64
|
if (typeof this.provider.connect === 'function') {
|
|
@@ -121,15 +137,27 @@ class InjectedWalletAdapter {
|
|
|
121
137
|
* Sign and send a single transaction
|
|
122
138
|
*/
|
|
123
139
|
async signAndSendTransaction(params) {
|
|
140
|
+
// Method 1: Direct signAndSendTransaction
|
|
124
141
|
if (typeof this.provider.signAndSendTransaction === 'function') {
|
|
125
142
|
return await this.provider.signAndSendTransaction(params);
|
|
126
143
|
}
|
|
127
|
-
//
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
144
|
+
// Method 2: Meteor SDK pattern - get account() then call signAndSendTransaction
|
|
145
|
+
// Meteor's account() returns ConnectedMeteorWalletAccount with signing methods
|
|
146
|
+
if (typeof this.provider.account === 'function') {
|
|
147
|
+
const account = await this.provider.account();
|
|
148
|
+
if (account && typeof account.signAndSendTransaction === 'function') {
|
|
149
|
+
return await account.signAndSendTransaction({
|
|
150
|
+
receiverId: params.receiverId,
|
|
151
|
+
actions: params.actions,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
// Meteor also has signAndSendTransaction_direct for wallet-based signing
|
|
155
|
+
if (account && typeof account.signAndSendTransaction_direct === 'function') {
|
|
156
|
+
return await account.signAndSendTransaction_direct({
|
|
157
|
+
receiverId: params.receiverId,
|
|
158
|
+
actions: params.actions,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
133
161
|
}
|
|
134
162
|
throw new Error(`${this.manifest.name} does not support signAndSendTransaction`);
|
|
135
163
|
}
|
|
@@ -181,14 +209,25 @@ class InjectedWalletAdapter {
|
|
|
181
209
|
* Check if connected
|
|
182
210
|
*/
|
|
183
211
|
async isConnected() {
|
|
184
|
-
|
|
185
|
-
return await this.provider.isConnected();
|
|
186
|
-
}
|
|
212
|
+
// Meteor SDK uses isSignedIn()
|
|
187
213
|
if (typeof this.provider.isSignedIn === 'function') {
|
|
188
214
|
return await this.provider.isSignedIn();
|
|
189
215
|
}
|
|
216
|
+
if (typeof this.provider.isConnected === 'function') {
|
|
217
|
+
return await this.provider.isConnected();
|
|
218
|
+
}
|
|
190
219
|
return this.cachedAccounts.length > 0;
|
|
191
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Verify account ownership (NEP-413 alternative)
|
|
223
|
+
* Meteor SDK supports this as a separate method
|
|
224
|
+
*/
|
|
225
|
+
async verifyOwner(params) {
|
|
226
|
+
if (typeof this.provider.verifyOwner === 'function') {
|
|
227
|
+
return await this.provider.verifyOwner(params);
|
|
228
|
+
}
|
|
229
|
+
throw new Error(`${this.manifest.name} does not support verifyOwner`);
|
|
230
|
+
}
|
|
192
231
|
/**
|
|
193
232
|
* Normalize different account response formats to Account[]
|
|
194
233
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/wallets/injected/adapter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiBH,MAAa,qBAAqB;IACvB,QAAQ,CAAiB;IAC1B,QAAQ,CAAM;IACd,cAAc,GAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/wallets/injected/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,13 @@ export interface InjectedWalletInfo {
|
|
|
18
18
|
website: string;
|
|
19
19
|
/** Uses HOT Protocol (hotWalletsProviders array) */
|
|
20
20
|
usesHotProtocol?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Uses postMessage channel (like Meteor's meteorCom).
|
|
23
|
+
* These wallets inject a communication channel, not a provider interface.
|
|
24
|
+
* They're detected to know extension is installed, but actual wallet
|
|
25
|
+
* communication is handled by the sandboxed executor from manifest.
|
|
26
|
+
*/
|
|
27
|
+
usesPostMessageChannel?: boolean;
|
|
21
28
|
}
|
|
22
29
|
export interface DetectedWallet {
|
|
23
30
|
info: InjectedWalletInfo;
|
|
@@ -45,6 +52,11 @@ export declare class InjectedWalletDetector {
|
|
|
45
52
|
* Directly probe window globals for known wallets
|
|
46
53
|
*/
|
|
47
54
|
private probeGlobals;
|
|
55
|
+
/**
|
|
56
|
+
* Find postMessage channel (like window.meteorCom)
|
|
57
|
+
* These are communication channels, not wallet providers
|
|
58
|
+
*/
|
|
59
|
+
private findPostMessageChannel;
|
|
48
60
|
/**
|
|
49
61
|
* Probe HOT Protocol providers (used by Meteor and potentially others)
|
|
50
62
|
* HOT Protocol injects wallet providers into window.hotWalletsProviders array
|
|
@@ -11,14 +11,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
exports.InjectedWalletDetector = void 0;
|
|
12
12
|
/** Known NEAR wallet extensions and their injection patterns */
|
|
13
13
|
const KNOWN_INJECTED_WALLETS = [
|
|
14
|
+
// NOTE: Meteor Wallet extension injects `window.meteorCom` which is a
|
|
15
|
+
// postMessage communication channel, NOT a wallet provider interface.
|
|
16
|
+
// Meteor is handled by the sandboxed wallet system (loads executor from manifest).
|
|
17
|
+
// We only detect `meteorCom` to know the extension is installed, but don't
|
|
18
|
+
// create an adapter for it - the sandbox handles actual communication.
|
|
14
19
|
{
|
|
15
20
|
id: 'meteor-wallet',
|
|
16
21
|
name: 'Meteor Wallet',
|
|
17
22
|
icon: 'https://wallet.meteorwallet.app/assets/logo.svg',
|
|
18
|
-
globalKey: '
|
|
19
|
-
altKeys: ['
|
|
23
|
+
globalKey: 'meteorCom', // Extension injects this communication channel
|
|
24
|
+
altKeys: ['hotWallet'],
|
|
20
25
|
website: 'https://wallet.meteorwallet.app',
|
|
21
|
-
|
|
26
|
+
// meteorCom is a comm channel, not a provider - we detect presence only
|
|
27
|
+
usesPostMessageChannel: true,
|
|
22
28
|
},
|
|
23
29
|
{
|
|
24
30
|
id: 'sender',
|
|
@@ -130,12 +136,43 @@ class InjectedWalletDetector {
|
|
|
130
136
|
// Skip if already detected or uses HOT Protocol (handled separately)
|
|
131
137
|
if (this.detected.has(wallet.id) || wallet.usesHotProtocol)
|
|
132
138
|
continue;
|
|
139
|
+
// For postMessage channel wallets (like Meteor), just check if global exists
|
|
140
|
+
// These don't have wallet provider methods - they're communication channels
|
|
141
|
+
if (wallet.usesPostMessageChannel) {
|
|
142
|
+
const channel = this.findPostMessageChannel(wallet);
|
|
143
|
+
if (channel) {
|
|
144
|
+
console.log(`[NearConnect] Detected ${wallet.name} extension (postMessage channel)`);
|
|
145
|
+
// Mark as detected but note: actual wallet ops go through sandbox
|
|
146
|
+
this.addDetected(wallet, channel);
|
|
147
|
+
}
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
133
150
|
const provider = this.findProvider(wallet);
|
|
134
151
|
if (provider) {
|
|
135
152
|
this.addDetected(wallet, provider);
|
|
136
153
|
}
|
|
137
154
|
}
|
|
138
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Find postMessage channel (like window.meteorCom)
|
|
158
|
+
* These are communication channels, not wallet providers
|
|
159
|
+
*/
|
|
160
|
+
findPostMessageChannel(wallet) {
|
|
161
|
+
const win = window;
|
|
162
|
+
// Check primary key - just needs to exist and be an object
|
|
163
|
+
if (win[wallet.globalKey] && typeof win[wallet.globalKey] === 'object') {
|
|
164
|
+
return win[wallet.globalKey];
|
|
165
|
+
}
|
|
166
|
+
// Check alternative keys
|
|
167
|
+
if (wallet.altKeys) {
|
|
168
|
+
for (const key of wallet.altKeys) {
|
|
169
|
+
if (win[key] && typeof win[key] === 'object') {
|
|
170
|
+
return win[key];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
139
176
|
/**
|
|
140
177
|
* Probe HOT Protocol providers (used by Meteor and potentially others)
|
|
141
178
|
* HOT Protocol injects wallet providers into window.hotWalletsProviders array
|
|
@@ -201,11 +238,15 @@ class InjectedWalletDetector {
|
|
|
201
238
|
return false;
|
|
202
239
|
const provider = obj;
|
|
203
240
|
// Most wallet providers have at least one of these methods
|
|
241
|
+
// Meteor SDK uses: requestSignIn, isSignedIn, getAccountId, account, signMessage
|
|
204
242
|
return (typeof provider.connect === 'function' ||
|
|
205
243
|
typeof provider.signIn === 'function' ||
|
|
206
244
|
typeof provider.requestSignIn === 'function' ||
|
|
207
245
|
typeof provider.signAndSendTransaction === 'function' ||
|
|
208
246
|
typeof provider.isConnected === 'function' ||
|
|
247
|
+
typeof provider.isSignedIn === 'function' || // Meteor
|
|
248
|
+
typeof provider.getAccountId === 'function' || // Meteor
|
|
249
|
+
typeof provider.account === 'function' || // Meteor
|
|
209
250
|
typeof provider.enable === 'function');
|
|
210
251
|
}
|
|
211
252
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../src/wallets/injected/detector.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../src/wallets/injected/detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ export declare class InjectedWalletManager {
|
|
|
22
22
|
init(): Promise<NearWalletBase[]>;
|
|
23
23
|
/**
|
|
24
24
|
* Add an adapter for a detected wallet
|
|
25
|
+
* Skips postMessage channel wallets since they need to go through sandboxed executor
|
|
25
26
|
*/
|
|
26
27
|
private addAdapter;
|
|
27
28
|
/**
|
|
@@ -33,9 +34,19 @@ export declare class InjectedWalletManager {
|
|
|
33
34
|
*/
|
|
34
35
|
getWallet(walletId: string): NearWalletBase | undefined;
|
|
35
36
|
/**
|
|
36
|
-
* Check if wallet ID is an injected wallet
|
|
37
|
+
* Check if wallet ID is an injected wallet (has usable adapter)
|
|
37
38
|
*/
|
|
38
39
|
isInjectedWallet(walletId: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Check if a wallet extension is detected (including postMessage channel wallets)
|
|
42
|
+
* Use this to show "extension detected" in the UI even for wallets like Meteor
|
|
43
|
+
* that need to go through the sandboxed executor
|
|
44
|
+
*/
|
|
45
|
+
isExtensionDetected(walletId: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get all detected wallet IDs (including postMessage channel wallets)
|
|
48
|
+
*/
|
|
49
|
+
getDetectedWalletIds(): string[];
|
|
39
50
|
/**
|
|
40
51
|
* Check if any injected wallets were detected
|
|
41
52
|
*/
|
|
@@ -46,8 +46,17 @@ class InjectedWalletManager {
|
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Add an adapter for a detected wallet
|
|
49
|
+
* Skips postMessage channel wallets since they need to go through sandboxed executor
|
|
49
50
|
*/
|
|
50
51
|
addAdapter(wallet) {
|
|
52
|
+
// PostMessage channel wallets (like Meteor) can't be operated directly
|
|
53
|
+
// They inject a communication channel, not a wallet provider
|
|
54
|
+
// Actual wallet operations must go through the sandboxed executor from manifest
|
|
55
|
+
if (wallet.info.usesPostMessageChannel) {
|
|
56
|
+
console.log(`[NearConnect] ${wallet.info.name} extension detected. ` +
|
|
57
|
+
`Wallet operations will use sandboxed executor from manifest.`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
51
60
|
const adapter = new adapter_1.InjectedWalletAdapter(wallet);
|
|
52
61
|
this.adapters.set(wallet.info.id, adapter);
|
|
53
62
|
}
|
|
@@ -64,11 +73,25 @@ class InjectedWalletManager {
|
|
|
64
73
|
return this.adapters.get(walletId);
|
|
65
74
|
}
|
|
66
75
|
/**
|
|
67
|
-
* Check if wallet ID is an injected wallet
|
|
76
|
+
* Check if wallet ID is an injected wallet (has usable adapter)
|
|
68
77
|
*/
|
|
69
78
|
isInjectedWallet(walletId) {
|
|
70
79
|
return this.adapters.has(walletId);
|
|
71
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Check if a wallet extension is detected (including postMessage channel wallets)
|
|
83
|
+
* Use this to show "extension detected" in the UI even for wallets like Meteor
|
|
84
|
+
* that need to go through the sandboxed executor
|
|
85
|
+
*/
|
|
86
|
+
isExtensionDetected(walletId) {
|
|
87
|
+
return this.detector.isAvailable(walletId);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get all detected wallet IDs (including postMessage channel wallets)
|
|
91
|
+
*/
|
|
92
|
+
getDetectedWalletIds() {
|
|
93
|
+
return this.detector.getAll().map((w) => w.info.id);
|
|
94
|
+
}
|
|
72
95
|
/**
|
|
73
96
|
* Check if any injected wallets were detected
|
|
74
97
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/wallets/injected/manager.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,yCAAyE;AACzE,uCAAkD;AASlD,MAAa,qBAAqB;IACxB,QAAQ,CAAyB;IACjC,QAAQ,GAAuC,IAAI,GAAG,EAAE,CAAC;IACzD,MAAM,CAA8B;IACpC,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,SAAsC,EAAE;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAsB,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/wallets/injected/manager.ts"],"names":[],"mappings":"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"}
|