@shadow-corp/nearconnect 1.0.6 → 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 +6 -0
- package/build/wallets/injected/adapter.js +20 -4
- package/build/wallets/injected/adapter.js.map +1 -1
- package/build/wallets/injected/detector.d.ts +12 -0
- package/build/wallets/injected/detector.js +40 -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
|
|
@@ -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') {
|
|
@@ -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
|
|
@@ -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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"}
|