@shadow-corp/nearconnect 1.0.1 → 1.0.5

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.
@@ -81,9 +81,21 @@ export declare class NearConnector {
81
81
  private persistenceEnabled;
82
82
  private connectedAccounts;
83
83
  private activeAccountId;
84
+ private injectedManager;
84
85
  readonly whenManifestLoaded: Promise<void>;
86
+ readonly whenInjectedWalletsDetected: Promise<void>;
85
87
  readonly whenSessionRestored: Promise<Session | null>;
86
88
  constructor(options?: NearConnectorOptions);
89
+ /**
90
+ * Initialize the connector and wait for manifest + session restoration + injected wallet detection.
91
+ * This is the recommended way to set up the connector.
92
+ * Returns the restored session if one exists, null otherwise.
93
+ */
94
+ init(): Promise<Session | null>;
95
+ /**
96
+ * Check if the connector is ready (manifest loaded).
97
+ */
98
+ get isReady(): boolean;
87
99
  get availableWallets(): NearWalletBase[];
88
100
  private _handleNearWalletInjected;
89
101
  private _loadManifest;
@@ -97,10 +109,27 @@ export declare class NearConnector {
97
109
  selectWallet(): Promise<string>;
98
110
  connect(id?: string): Promise<NearWalletBase>;
99
111
  disconnect(wallet?: NearWalletBase): Promise<void>;
112
+ /**
113
+ * Try to get the connected wallet without throwing.
114
+ * Returns null if no wallet is connected or no accounts found.
115
+ * Use this for checking connection state safely.
116
+ */
117
+ tryGetConnectedWallet(): Promise<{
118
+ wallet: NearWalletBase;
119
+ accounts: Account[];
120
+ } | null>;
121
+ /**
122
+ * Get the connected wallet. Throws if no wallet is connected.
123
+ * For a non-throwing version, use tryGetConnectedWallet().
124
+ */
100
125
  getConnectedWallet(): Promise<{
101
126
  wallet: NearWalletBase;
102
127
  accounts: Account[];
103
128
  }>;
129
+ /**
130
+ * Check if a wallet is currently connected (non-throwing).
131
+ */
132
+ isConnected(): Promise<boolean>;
104
133
  wallet(id?: string | null): Promise<NearWalletBase>;
105
134
  on<K extends keyof EventMap>(event: K, callback: (payload: EventMap[K]) => void): void;
106
135
  once<K extends keyof EventMap>(event: K, callback: (payload: EventMap[K]) => void): void;
@@ -13,6 +13,7 @@ const ParentFrameWallet_1 = require("./ParentFrameWallet");
13
13
  const InjectedWallet_1 = require("./InjectedWallet");
14
14
  const SandboxedWallet_1 = require("./SandboxedWallet");
15
15
  const errors_1 = require("./errors");
16
+ const injected_1 = require("./wallets/injected");
16
17
  const defaultManifests = [
17
18
  "https://raw.githubusercontent.com/hot-dao/near-selector/refs/heads/main/repository/manifest.json",
18
19
  "https://cdn.jsdelivr.net/gh/azbang/hot-connector/repository/manifest.json",
@@ -37,7 +38,10 @@ class NearConnector {
37
38
  // Multi-account state
38
39
  connectedAccounts = [];
39
40
  activeAccountId = null;
41
+ // Injected wallet manager
42
+ injectedManager;
40
43
  whenManifestLoaded;
44
+ whenInjectedWalletsDetected;
41
45
  whenSessionRestored;
42
46
  constructor(options) {
43
47
  this.db = new indexdb_1.default("hot-connector", "wallets");
@@ -90,6 +94,39 @@ class NearConnector {
90
94
  await new Promise((resolve) => setTimeout(resolve, 100));
91
95
  resolve();
92
96
  });
97
+ // Initialize injected wallet manager with detection callback
98
+ this.injectedManager = new injected_1.InjectedWalletManager({
99
+ detectionTimeout: 2000,
100
+ onDetected: (wallets) => {
101
+ // Add newly detected wallets (avoiding duplicates)
102
+ for (const wallet of wallets) {
103
+ if (!this.wallets.some((w) => w.manifest.id === wallet.manifest.id)) {
104
+ this.wallets.unshift(wallet);
105
+ this.events.emit("wallet:detected", {
106
+ walletId: wallet.manifest.id,
107
+ name: wallet.manifest.name,
108
+ });
109
+ }
110
+ }
111
+ this.events.emit("selector:walletsChanged", {});
112
+ },
113
+ });
114
+ // Start injected wallet detection
115
+ this.whenInjectedWalletsDetected = this.injectedManager.init().then((wallets) => {
116
+ // Add detected wallets to the list
117
+ for (const wallet of wallets) {
118
+ if (!this.wallets.some((w) => w.manifest.id === wallet.manifest.id)) {
119
+ this.wallets.unshift(wallet);
120
+ this.events.emit("wallet:detected", {
121
+ walletId: wallet.manifest.id,
122
+ name: wallet.manifest.name,
123
+ });
124
+ }
125
+ }
126
+ if (wallets.length > 0) {
127
+ this.events.emit("selector:walletsChanged", {});
128
+ }
129
+ });
93
130
  if (typeof window !== "undefined") {
94
131
  window.addEventListener("near-wallet-injected", this._handleNearWalletInjected);
95
132
  window.dispatchEvent(new Event("near-selector-ready"));
@@ -145,6 +182,31 @@ class NearConnector {
145
182
  return null;
146
183
  });
147
184
  }
185
+ /**
186
+ * Initialize the connector and wait for manifest + session restoration + injected wallet detection.
187
+ * This is the recommended way to set up the connector.
188
+ * Returns the restored session if one exists, null otherwise.
189
+ */
190
+ async init() {
191
+ try {
192
+ await Promise.all([
193
+ this.whenManifestLoaded,
194
+ this.whenInjectedWalletsDetected,
195
+ ]);
196
+ const session = await this.whenSessionRestored;
197
+ return session;
198
+ }
199
+ catch (e) {
200
+ this.logger?.log("Initialization error (non-fatal)", e);
201
+ return null;
202
+ }
203
+ }
204
+ /**
205
+ * Check if the connector is ready (manifest loaded).
206
+ */
207
+ get isReady() {
208
+ return this.manifest.wallets.length > 0;
209
+ }
148
210
  get availableWallets() {
149
211
  const wallets = this.wallets.filter((wallet) => {
150
212
  return Object.entries(this.features).every(([key, value]) => {
@@ -305,6 +367,33 @@ class NearConnector {
305
367
  throw walletError;
306
368
  }
307
369
  }
370
+ /**
371
+ * Try to get the connected wallet without throwing.
372
+ * Returns null if no wallet is connected or no accounts found.
373
+ * Use this for checking connection state safely.
374
+ */
375
+ async tryGetConnectedWallet() {
376
+ try {
377
+ await this.whenManifestLoaded.catch(() => { });
378
+ const id = await this.storage.get("selected-wallet");
379
+ if (!id)
380
+ return null;
381
+ const wallet = this.wallets.find((wallet) => wallet.manifest.id === id);
382
+ if (!wallet)
383
+ return null;
384
+ const accounts = await wallet.getAccounts();
385
+ if (!accounts?.length)
386
+ return null;
387
+ return { wallet, accounts };
388
+ }
389
+ catch {
390
+ return null;
391
+ }
392
+ }
393
+ /**
394
+ * Get the connected wallet. Throws if no wallet is connected.
395
+ * For a non-throwing version, use tryGetConnectedWallet().
396
+ */
308
397
  async getConnectedWallet() {
309
398
  await this.whenManifestLoaded.catch(() => { });
310
399
  const id = await this.storage.get("selected-wallet");
@@ -325,6 +414,13 @@ class NearConnector {
325
414
  }
326
415
  return { wallet, accounts };
327
416
  }
417
+ /**
418
+ * Check if a wallet is currently connected (non-throwing).
419
+ */
420
+ async isConnected() {
421
+ const result = await this.tryGetConnectedWallet();
422
+ return result !== null;
423
+ }
328
424
  async wallet(id) {
329
425
  await this.whenManifestLoaded.catch(() => { });
330
426
  if (!id) {
@@ -1 +1 @@
1
- {"version":3,"file":"NearConnector.js","sourceRoot":"","sources":["../src/NearConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NearConnector.js","sourceRoot":"","sources":["../src/NearConnector.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -18,4 +18,5 @@ export { type RetryConfig, type TimeoutConfig, type CircuitBreakerConfig, type C
18
18
  export { type HardwareWalletType, type HardwareConfig, type LedgerConfig, type TrezorConfig, type LedgerModel, type LedgerDeviceInfo, type APDUCommand, type APDUResponse, type HardwareWaitingEvent, type HardwareConfirmEvent, type HardwareRejectedEvent, HardwareErrorCode, NEAR_CLA, NEAR_INS, LEDGER_STATUS, DEFAULT_DERIVATION_PATH, LEDGER_PRODUCT_IDS, HardwareError, createHardwareError, handleLedgerStatus, isHardwareError, isUserRejection, isDeviceNotFound, isAppNotOpen, LedgerTransport, detectLedgerModel, LedgerNearApp, type NearAppVersion, type PublicKeyResult, type SignatureResult, } from "./hardware";
19
19
  export { LedgerWallet, createLedgerWallet, type LedgerWalletAccount, type LedgerTransactionResult, type LedgerSignedTransaction, type LedgerSignMessageParams, type LedgerSignedMessage, PrivilegedWalletManager, type PrivilegedWalletManagerConfig, type PrivilegedWalletManagerEvents, } from "./wallets/privileged";
20
20
  export { ExternalWalletManager, type ExternalWalletType, type ExternalWalletConfig, type ExternalWalletManagerConfig, type ExternalWalletAccount, type ExternalTransactionResult, type ExternalSignMessageParams, type ExternalSignedMessage, type ExternalWalletManifest, type PendingRequest, } from "./wallets/external";
21
+ export { InjectedWalletDetector, InjectedWalletAdapter, InjectedWalletManager, type InjectedWalletInfo, type DetectedWallet, type DetectionCallback, type InjectedWalletManagerConfig, } from "./wallets/injected";
21
22
  export { TransactionGuard, createDefaultTransactionGuard, type SecurityTransaction, type TransactionLimits, type TransactionRisk, OriginGuard, createSecureMessageHandler, type TrustedOrigins, type OriginGuardConfig, SecureStorage, createSecureStorage, type SecureStorageOptions, RateLimiter, connectLimiter, signLimiter, rpcLimiter, rateLimit, withRateLimit, type RateLimitConfig, type RateLimitResult, AuditLog, createAuditLog, type AuditEvent, type AuditEventType, type AuditLogConfig, generateCSP, getRecommendedCSP, mergeCSP, applyCSPMetaTag, runSecurityChecklist, getSecuritySummary, verifySecureContext, DEFAULT_CSP_DIRECTIVES, type CSPDirectives, type SecurityCheck, } from "./security";
package/build/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateStyles = exports.icons = exports.lightTheme = exports.darkTheme = exports.themeToCssVars = exports.getSystemTheme = exports.mergeTheme = exports.createLightTheme = exports.createDarkTheme = exports.getRecoveryOptions = exports.getUserFriendlyMessage = exports.deserializeError = exports.hasErrorCode = exports.isWalletError = exports.wrapError = exports.ManifestError = exports.RpcError = exports.SigningError = exports.SandboxError = exports.SessionError = exports.TransactionError = exports.NetworkMismatchError = exports.ConnectionTimeoutError = exports.UserRejectedError = exports.WalletNotFoundError = exports.WalletError = exports.ErrorCode = exports.nearActionsToConnectorActions = exports.NearConnector = exports.InjectedWallet = exports.SandboxWallet = exports.ParentFrameWallet = exports.quickTrustCheck = exports.TrustScorer = exports.DEFAULT_MANIFEST_SOURCES = exports.mergeManifests = exports.validateManifest = exports.FederatedManifestManager = exports.quickGasEstimate = exports.TransactionSimulator = exports.BatchingAnalyticsAdapter = exports.NoopAnalyticsAdapter = exports.ConsoleAnalyticsAdapter = exports.Analytics = exports.SessionManager = exports.EncryptedStorage = exports.IndexedDBStorage = exports.MemoryStorage = exports.SessionStorage = exports.LocalStorage = void 0;
4
- exports.createDefaultTransactionGuard = exports.TransactionGuard = exports.ExternalWalletManager = exports.PrivilegedWalletManager = exports.createLedgerWallet = exports.LedgerWallet = exports.LedgerNearApp = exports.detectLedgerModel = exports.LedgerTransport = exports.isAppNotOpen = exports.isDeviceNotFound = exports.isUserRejection = exports.isHardwareError = exports.handleLedgerStatus = exports.createHardwareError = exports.HardwareError = exports.LEDGER_PRODUCT_IDS = exports.DEFAULT_DERIVATION_PATH = exports.LEDGER_STATUS = exports.NEAR_INS = exports.NEAR_CLA = exports.HardwareErrorCode = exports.ReconnectionManager = exports.createReconnectionManager = exports.DEFAULT_RECONNECT_CONFIG = exports.DEFAULT_RECONNECT_TRIGGERS = exports.HealthMonitor = exports.createHealthMonitor = exports.createWalletHealthCheck = exports.DEFAULT_HEALTH_CONFIG = exports.ConnectionStateMachine = exports.getStatusDescription = exports.createStateMachine = exports.DEFAULT_STATE_MACHINE_CONFIG = exports.CircuitBreaker = exports.makeCancellable = exports.createTimeoutWrapper = exports.createRetryWrapper = exports.withRetryAndTimeout = exports.withTimeout = exports.withRetry = exports.isRetryableError = exports.calculateBackoffDelay = exports.DEFAULT_CIRCUIT_BREAKER_CONFIG = exports.DEFAULT_TIMEOUT_CONFIG = exports.DEFAULT_RETRY_CONFIG = exports.AccountSwitcherModal = exports.TransactionModal = exports.WalletSelectorModal = exports.Modal = void 0;
5
- exports.DEFAULT_CSP_DIRECTIVES = exports.verifySecureContext = exports.getSecuritySummary = exports.runSecurityChecklist = exports.applyCSPMetaTag = exports.mergeCSP = exports.getRecommendedCSP = exports.generateCSP = exports.createAuditLog = exports.AuditLog = exports.withRateLimit = exports.rateLimit = exports.rpcLimiter = exports.signLimiter = exports.connectLimiter = exports.RateLimiter = exports.createSecureStorage = exports.SecureStorage = exports.createSecureMessageHandler = exports.OriginGuard = void 0;
4
+ exports.InjectedWalletAdapter = exports.InjectedWalletDetector = exports.ExternalWalletManager = exports.PrivilegedWalletManager = exports.createLedgerWallet = exports.LedgerWallet = exports.LedgerNearApp = exports.detectLedgerModel = exports.LedgerTransport = exports.isAppNotOpen = exports.isDeviceNotFound = exports.isUserRejection = exports.isHardwareError = exports.handleLedgerStatus = exports.createHardwareError = exports.HardwareError = exports.LEDGER_PRODUCT_IDS = exports.DEFAULT_DERIVATION_PATH = exports.LEDGER_STATUS = exports.NEAR_INS = exports.NEAR_CLA = exports.HardwareErrorCode = exports.ReconnectionManager = exports.createReconnectionManager = exports.DEFAULT_RECONNECT_CONFIG = exports.DEFAULT_RECONNECT_TRIGGERS = exports.HealthMonitor = exports.createHealthMonitor = exports.createWalletHealthCheck = exports.DEFAULT_HEALTH_CONFIG = exports.ConnectionStateMachine = exports.getStatusDescription = exports.createStateMachine = exports.DEFAULT_STATE_MACHINE_CONFIG = exports.CircuitBreaker = exports.makeCancellable = exports.createTimeoutWrapper = exports.createRetryWrapper = exports.withRetryAndTimeout = exports.withTimeout = exports.withRetry = exports.isRetryableError = exports.calculateBackoffDelay = exports.DEFAULT_CIRCUIT_BREAKER_CONFIG = exports.DEFAULT_TIMEOUT_CONFIG = exports.DEFAULT_RETRY_CONFIG = exports.AccountSwitcherModal = exports.TransactionModal = exports.WalletSelectorModal = exports.Modal = void 0;
5
+ exports.DEFAULT_CSP_DIRECTIVES = exports.verifySecureContext = exports.getSecuritySummary = exports.runSecurityChecklist = exports.applyCSPMetaTag = exports.mergeCSP = exports.getRecommendedCSP = exports.generateCSP = exports.createAuditLog = exports.AuditLog = exports.withRateLimit = exports.rateLimit = exports.rpcLimiter = exports.signLimiter = exports.connectLimiter = exports.RateLimiter = exports.createSecureStorage = exports.SecureStorage = exports.createSecureMessageHandler = exports.OriginGuard = exports.createDefaultTransactionGuard = exports.TransactionGuard = exports.InjectedWalletManager = void 0;
6
6
  var storage_1 = require("./helpers/storage");
7
7
  Object.defineProperty(exports, "LocalStorage", { enumerable: true, get: function () { return storage_1.LocalStorage; } });
8
8
  Object.defineProperty(exports, "SessionStorage", { enumerable: true, get: function () { return storage_1.SessionStorage; } });
@@ -134,6 +134,11 @@ Object.defineProperty(exports, "PrivilegedWalletManager", { enumerable: true, ge
134
134
  // External wallet tier (mobile + WalletConnect)
135
135
  var external_1 = require("./wallets/external");
136
136
  Object.defineProperty(exports, "ExternalWalletManager", { enumerable: true, get: function () { return external_1.ExternalWalletManager; } });
137
+ // Injected wallet tier (browser extensions)
138
+ var injected_1 = require("./wallets/injected");
139
+ Object.defineProperty(exports, "InjectedWalletDetector", { enumerable: true, get: function () { return injected_1.InjectedWalletDetector; } });
140
+ Object.defineProperty(exports, "InjectedWalletAdapter", { enumerable: true, get: function () { return injected_1.InjectedWalletAdapter; } });
141
+ Object.defineProperty(exports, "InjectedWalletManager", { enumerable: true, get: function () { return injected_1.InjectedWalletManager; } });
137
142
  // Security layers
138
143
  var security_1 = require("./security");
139
144
  // Transaction verification
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,6CAO2B;AALzB,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,wGAAA,aAAa,OAAA;AACb,2GAAA,gBAAgB,OAAA;AAChB,2GAAA,gBAAgB,OAAA;AAElB,6CAA6G;AAApG,yGAAA,cAAc,OAAA;AACvB,iDAS6B;AAR3B,sGAAA,SAAS,OAAA;AAKT,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,qHAAA,wBAAwB,OAAA;AAE1B,mDAQ8B;AAP5B,kHAAA,oBAAoB,OAAA;AACpB,8GAAA,gBAAgB,OAAA;AAOlB,+CAS4B;AAR1B,oHAAA,wBAAwB,OAAA;AACxB,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,oHAAA,wBAAwB,OAAA;AAM1B,yCAWyB;AAVvB,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AAUjB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iDAAuE;AAA9D,8GAAA,aAAa,OAAA;AAEtB,qCAA0D;AAAjD,wHAAA,6BAA6B,OAAA;AAGtC,iBAAiB;AACjB,mCA0BkB;AAzBhB,cAAc;AACd,mGAAA,SAAS,OAAA;AAET,mBAAmB;AACnB,qGAAA,WAAW,OAAA;AAEX,yBAAyB;AACzB,6GAAA,mBAAmB,OAAA;AACnB,2GAAA,iBAAiB,OAAA;AACjB,gHAAA,sBAAsB,OAAA;AACtB,8GAAA,oBAAoB,OAAA;AACpB,0GAAA,gBAAgB,OAAA;AAChB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,kGAAA,QAAQ,OAAA;AACR,uGAAA,aAAa,OAAA;AAEb,oBAAoB;AACpB,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,0GAAA,gBAAgB,OAAA;AAChB,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AA8DpB,gBAAgB;AAChB,2BAsCc;AA3BZ,qGAAA,eAAe,OAAA;AACf,sGAAA,gBAAgB,OAAA;AAChB,gGAAA,UAAU,OAAA;AACV,oGAAA,cAAc,OAAA;AACd,oGAAA,cAAc,OAAA;AACd,+FAAA,SAAS,OAAA;AACT,gGAAA,UAAU,OAAA;AAEV,QAAQ;AACR,2FAAA,KAAK,OAAA;AAGL,SAAS;AACT,oGAAA,cAAc,OAAA;AAEd,SAAS;AACT,2FAAA,KAAK,OAAA;AAEL,yGAAA,mBAAmB,OAAA;AAInB,sGAAA,gBAAgB,OAAA;AAEhB,0GAAA,oBAAoB,OAAA;AAKtB,yBAAyB;AACzB,2CAqDsB;AA9CpB,kHAAA,oBAAoB,OAAA;AACpB,oHAAA,sBAAsB,OAAA;AACtB,4HAAA,8BAA8B,OAAA;AAC9B,mHAAA,qBAAqB,OAAA;AACrB,8GAAA,gBAAgB,OAAA;AAChB,uGAAA,SAAS,OAAA;AACT,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA;AACf,4GAAA,cAAc,OAAA;AAOd,0HAAA,4BAA4B,OAAA;AAC5B,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,oHAAA,sBAAsB,OAAA;AAStB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,iHAAA,mBAAmB,OAAA;AACnB,2GAAA,aAAa,OAAA;AASb,wHAAA,0BAA0B,OAAA;AAC1B,sHAAA,wBAAwB,OAAA;AACxB,uHAAA,yBAAyB,OAAA;AACzB,iHAAA,mBAAmB,OAAA;AAGrB,4CAA4C;AAC5C,uCAsCoB;AAzBlB,6GAAA,iBAAiB,OAAA;AACjB,oGAAA,QAAQ,OAAA;AACR,oGAAA,QAAQ,OAAA;AACR,yGAAA,aAAa,OAAA;AACb,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAElB,SAAS;AACT,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,YAAY;AACZ,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AAEjB,WAAW;AACX,yGAAA,aAAa,OAAA;AAMf,4CAA4C;AAC5C,mDAW8B;AAV5B,0GAAA,YAAY,OAAA;AACZ,gHAAA,kBAAkB,OAAA;AAMlB,qHAAA,uBAAuB,OAAA;AAKzB,gDAAgD;AAChD,+CAW4B;AAV1B,iHAAA,qBAAqB,OAAA;AAYvB,kBAAkB;AAClB,uCA+CoB;AA9ClB,2BAA2B;AAC3B,4GAAA,gBAAgB,OAAA;AAChB,yHAAA,6BAA6B,OAAA;AAK7B,sBAAsB;AACtB,uGAAA,WAAW,OAAA;AACX,sHAAA,0BAA0B,OAAA;AAI1B,iBAAiB;AACjB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AAGnB,gBAAgB;AAChB,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,sGAAA,UAAU,OAAA;AACV,qGAAA,SAAS,OAAA;AACT,yGAAA,aAAa,OAAA;AAIb,gBAAgB;AAChB,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AAKd,6BAA6B;AAC7B,uGAAA,WAAW,OAAA;AACX,6GAAA,iBAAiB,OAAA;AACjB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -388,6 +388,11 @@ export interface EventMap {
388
388
  };
389
389
  /** Emitted when all accounts are cleared */
390
390
  "account:cleared": Record<string, never>;
391
+ /** Emitted when an injected wallet is detected */
392
+ "wallet:detected": {
393
+ walletId: string;
394
+ name: string;
395
+ };
391
396
  }
392
397
  /**
393
398
  * Event type names
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Injected Wallet Adapter
3
+ *
4
+ * Normalizes the different APIs each injected wallet uses into
5
+ * a consistent interface matching NearWalletBase.
6
+ */
7
+ import type { Account, SignAndSendTransactionParams, SignAndSendTransactionsParams, SignMessageParams, SignedMessage, SignInParams, SignOutParams, GetAccountsParams, WalletManifest, NearWalletBase } from '../../types';
8
+ import type { FinalExecutionOutcome } from '@near-js/types';
9
+ import type { DetectedWallet } from './detector';
10
+ export declare class InjectedWalletAdapter implements NearWalletBase {
11
+ readonly manifest: WalletManifest;
12
+ private provider;
13
+ private cachedAccounts;
14
+ constructor(wallet: DetectedWallet);
15
+ /**
16
+ * Sign in to the wallet
17
+ */
18
+ signIn(data?: SignInParams): Promise<Account[]>;
19
+ /**
20
+ * Sign out from the wallet
21
+ */
22
+ signOut(_data?: SignOutParams): Promise<void>;
23
+ /**
24
+ * Get connected accounts
25
+ */
26
+ getAccounts(_data?: GetAccountsParams): Promise<Account[]>;
27
+ /**
28
+ * Sign and send a single transaction
29
+ */
30
+ signAndSendTransaction(params: SignAndSendTransactionParams): Promise<FinalExecutionOutcome>;
31
+ /**
32
+ * Sign and send multiple transactions
33
+ */
34
+ signAndSendTransactions(params: SignAndSendTransactionsParams): Promise<FinalExecutionOutcome[]>;
35
+ /**
36
+ * Sign a message (NEP-413)
37
+ */
38
+ signMessage(params: SignMessageParams): Promise<SignedMessage>;
39
+ /**
40
+ * Check if connected
41
+ */
42
+ isConnected(): Promise<boolean>;
43
+ /**
44
+ * Normalize different account response formats to Account[]
45
+ */
46
+ private normalizeAccounts;
47
+ }
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ /**
3
+ * Injected Wallet Adapter
4
+ *
5
+ * Normalizes the different APIs each injected wallet uses into
6
+ * a consistent interface matching NearWalletBase.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InjectedWalletAdapter = void 0;
10
+ class InjectedWalletAdapter {
11
+ manifest;
12
+ provider;
13
+ cachedAccounts = [];
14
+ constructor(wallet) {
15
+ this.provider = wallet.provider;
16
+ // Build manifest from detected wallet info
17
+ this.manifest = {
18
+ id: wallet.info.id,
19
+ name: wallet.info.name,
20
+ icon: wallet.info.icon,
21
+ website: wallet.info.website,
22
+ description: `${wallet.info.name} browser extension`,
23
+ type: 'injected',
24
+ version: '1.0.0',
25
+ executor: '',
26
+ permissions: {
27
+ storage: true,
28
+ external: [wallet.info.id],
29
+ },
30
+ features: {
31
+ signMessage: typeof this.provider.signMessage === 'function',
32
+ signTransaction: true,
33
+ signAndSendTransaction: typeof this.provider.signAndSendTransaction === 'function',
34
+ signAndSendTransactions: typeof this.provider.signAndSendTransactions === 'function' ||
35
+ typeof this.provider.requestSignTransactions === 'function',
36
+ signInWithoutAddKey: true,
37
+ mainnet: true,
38
+ testnet: true,
39
+ },
40
+ };
41
+ }
42
+ /**
43
+ * Sign in to the wallet
44
+ */
45
+ async signIn(data) {
46
+ let result;
47
+ // Different wallets use different method names
48
+ if (typeof this.provider.connect === 'function') {
49
+ result = await this.provider.connect({
50
+ contractId: data?.contractId,
51
+ methodNames: data?.methodNames,
52
+ });
53
+ }
54
+ else if (typeof this.provider.signIn === 'function') {
55
+ result = await this.provider.signIn({
56
+ contractId: data?.contractId,
57
+ methodNames: data?.methodNames,
58
+ });
59
+ }
60
+ else if (typeof this.provider.requestSignIn === 'function') {
61
+ result = await this.provider.requestSignIn({
62
+ contractId: data?.contractId,
63
+ methodNames: data?.methodNames,
64
+ });
65
+ }
66
+ else if (typeof this.provider.enable === 'function') {
67
+ result = await this.provider.enable();
68
+ }
69
+ else {
70
+ throw new Error(`Unknown connect method for ${this.manifest.name}`);
71
+ }
72
+ // Normalize and cache accounts
73
+ this.cachedAccounts = this.normalizeAccounts(result);
74
+ // If connect didn't return accounts, try to fetch them
75
+ if (this.cachedAccounts.length === 0) {
76
+ this.cachedAccounts = await this.getAccounts(data);
77
+ }
78
+ return this.cachedAccounts;
79
+ }
80
+ /**
81
+ * Sign out from the wallet
82
+ */
83
+ async signOut(_data) {
84
+ if (typeof this.provider.disconnect === 'function') {
85
+ await this.provider.disconnect();
86
+ }
87
+ else if (typeof this.provider.signOut === 'function') {
88
+ await this.provider.signOut();
89
+ }
90
+ this.cachedAccounts = [];
91
+ }
92
+ /**
93
+ * Get connected accounts
94
+ */
95
+ async getAccounts(_data) {
96
+ // Try various account retrieval methods
97
+ if (typeof this.provider.getAccounts === 'function') {
98
+ const accounts = await this.provider.getAccounts();
99
+ this.cachedAccounts = this.normalizeAccounts(accounts);
100
+ }
101
+ else if (typeof this.provider.getAccountId === 'function') {
102
+ const accountId = await this.provider.getAccountId();
103
+ if (accountId) {
104
+ this.cachedAccounts = [{ accountId }];
105
+ }
106
+ }
107
+ else if (typeof this.provider.account === 'function') {
108
+ const account = await this.provider.account();
109
+ if (account?.accountId) {
110
+ this.cachedAccounts = [
111
+ { accountId: account.accountId, publicKey: account.publicKey },
112
+ ];
113
+ }
114
+ }
115
+ else if (this.provider.accountId) {
116
+ this.cachedAccounts = [{ accountId: this.provider.accountId }];
117
+ }
118
+ return this.cachedAccounts;
119
+ }
120
+ /**
121
+ * Sign and send a single transaction
122
+ */
123
+ async signAndSendTransaction(params) {
124
+ if (typeof this.provider.signAndSendTransaction === 'function') {
125
+ return await this.provider.signAndSendTransaction(params);
126
+ }
127
+ // Some wallets nest params differently
128
+ if (typeof this.provider.signAndSendTransaction === 'function') {
129
+ return await this.provider.signAndSendTransaction({
130
+ receiverId: params.receiverId,
131
+ actions: params.actions,
132
+ });
133
+ }
134
+ throw new Error(`${this.manifest.name} does not support signAndSendTransaction`);
135
+ }
136
+ /**
137
+ * Sign and send multiple transactions
138
+ */
139
+ async signAndSendTransactions(params) {
140
+ if (typeof this.provider.signAndSendTransactions === 'function') {
141
+ return await this.provider.signAndSendTransactions(params);
142
+ }
143
+ if (typeof this.provider.requestSignTransactions === 'function') {
144
+ return await this.provider.requestSignTransactions(params);
145
+ }
146
+ // Fall back to sequential signing
147
+ const results = [];
148
+ for (const tx of params.transactions) {
149
+ const result = await this.signAndSendTransaction({
150
+ ...tx,
151
+ network: params.network,
152
+ signerId: params.signerId,
153
+ callbackUrl: params.callbackUrl,
154
+ });
155
+ results.push(result);
156
+ }
157
+ return results;
158
+ }
159
+ /**
160
+ * Sign a message (NEP-413)
161
+ */
162
+ async signMessage(params) {
163
+ if (typeof this.provider.signMessage === 'function') {
164
+ return await this.provider.signMessage(params);
165
+ }
166
+ // Some wallets use verifyOwner for message signing
167
+ if (typeof this.provider.verifyOwner === 'function') {
168
+ const result = await this.provider.verifyOwner({
169
+ message: params.message,
170
+ });
171
+ return {
172
+ accountId: result.accountId,
173
+ publicKey: result.publicKey,
174
+ signature: result.signature,
175
+ message: params.message,
176
+ };
177
+ }
178
+ throw new Error(`${this.manifest.name} does not support message signing`);
179
+ }
180
+ /**
181
+ * Check if connected
182
+ */
183
+ async isConnected() {
184
+ if (typeof this.provider.isConnected === 'function') {
185
+ return await this.provider.isConnected();
186
+ }
187
+ if (typeof this.provider.isSignedIn === 'function') {
188
+ return await this.provider.isSignedIn();
189
+ }
190
+ return this.cachedAccounts.length > 0;
191
+ }
192
+ /**
193
+ * Normalize different account response formats to Account[]
194
+ */
195
+ normalizeAccounts(response) {
196
+ if (!response)
197
+ return [];
198
+ // Array of accounts
199
+ if (Array.isArray(response)) {
200
+ return response.map((acc) => {
201
+ if (typeof acc === 'string') {
202
+ return { accountId: acc };
203
+ }
204
+ return {
205
+ accountId: acc.accountId || acc.account_id || acc.id,
206
+ publicKey: acc.publicKey || acc.public_key,
207
+ };
208
+ });
209
+ }
210
+ // Single account object
211
+ if (typeof response === 'object') {
212
+ if (response.accountId || response.account_id) {
213
+ return [
214
+ {
215
+ accountId: response.accountId || response.account_id,
216
+ publicKey: response.publicKey || response.public_key,
217
+ },
218
+ ];
219
+ }
220
+ // Accounts nested in response
221
+ if (response.accounts) {
222
+ return this.normalizeAccounts(response.accounts);
223
+ }
224
+ }
225
+ // Single account string
226
+ if (typeof response === 'string') {
227
+ return [{ accountId: response }];
228
+ }
229
+ return [];
230
+ }
231
+ }
232
+ exports.InjectedWalletAdapter = InjectedWalletAdapter;
233
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/wallets/injected/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Injected Wallet Detector
3
+ *
4
+ * Hybrid detection that:
5
+ * 1. Listens for near-wallet-injected events (compliant wallets)
6
+ * 2. Probes known window globals (non-compliant wallets)
7
+ * 3. Retries detection for slow-loading extensions
8
+ */
9
+ export interface InjectedWalletInfo {
10
+ id: string;
11
+ name: string;
12
+ icon: string;
13
+ /** Primary global property to check */
14
+ globalKey: string;
15
+ /** Alternative keys (some wallets use multiple) */
16
+ altKeys?: string[];
17
+ /** Website URL */
18
+ website: string;
19
+ /** Uses HOT Protocol (hotWalletsProviders array) */
20
+ usesHotProtocol?: boolean;
21
+ }
22
+ export interface DetectedWallet {
23
+ info: InjectedWalletInfo;
24
+ provider: unknown;
25
+ }
26
+ export type DetectionCallback = (wallets: DetectedWallet[]) => void;
27
+ export declare class InjectedWalletDetector {
28
+ private detected;
29
+ private listeners;
30
+ private isScanning;
31
+ private eventCleanup;
32
+ /**
33
+ * Start detection - combines event listening and global probing
34
+ */
35
+ detect(timeout?: number): Promise<DetectedWallet[]>;
36
+ /**
37
+ * Listen for wallets that use the event protocol
38
+ */
39
+ private listenForWalletEvents;
40
+ /**
41
+ * Announce that we're ready to receive wallet injections
42
+ */
43
+ private announceReady;
44
+ /**
45
+ * Directly probe window globals for known wallets
46
+ */
47
+ private probeGlobals;
48
+ /**
49
+ * Probe HOT Protocol providers (used by Meteor and potentially others)
50
+ * HOT Protocol injects wallet providers into window.hotWalletsProviders array
51
+ */
52
+ private probeHotProtocol;
53
+ /**
54
+ * Find provider by checking global key and alternatives
55
+ */
56
+ private findProvider;
57
+ /**
58
+ * Validate that this looks like a wallet provider
59
+ */
60
+ private isValidProvider;
61
+ /**
62
+ * Probe with retries for slow-loading extensions
63
+ */
64
+ private probeWithRetry;
65
+ /**
66
+ * Add a detected wallet
67
+ */
68
+ private addDetected;
69
+ /**
70
+ * Subscribe to detection updates
71
+ */
72
+ onDetected(callback: DetectionCallback): () => void;
73
+ /**
74
+ * Get specific wallet if detected
75
+ */
76
+ getWallet(id: string): DetectedWallet | undefined;
77
+ /**
78
+ * Check if specific wallet is available
79
+ */
80
+ isAvailable(id: string): boolean;
81
+ /**
82
+ * Get all detected wallets
83
+ */
84
+ getAll(): DetectedWallet[];
85
+ /**
86
+ * Cleanup event listeners
87
+ */
88
+ destroy(): void;
89
+ }
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ /**
3
+ * Injected Wallet Detector
4
+ *
5
+ * Hybrid detection that:
6
+ * 1. Listens for near-wallet-injected events (compliant wallets)
7
+ * 2. Probes known window globals (non-compliant wallets)
8
+ * 3. Retries detection for slow-loading extensions
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.InjectedWalletDetector = void 0;
12
+ /** Known NEAR wallet extensions and their injection patterns */
13
+ const KNOWN_INJECTED_WALLETS = [
14
+ {
15
+ id: 'meteor-wallet',
16
+ name: 'Meteor Wallet',
17
+ icon: 'https://wallet.meteorwallet.app/assets/logo.svg',
18
+ globalKey: 'hotWalletsProviders', // Meteor uses HOT Protocol
19
+ altKeys: ['meteorCom', 'hotWallet'],
20
+ website: 'https://wallet.meteorwallet.app',
21
+ usesHotProtocol: true,
22
+ },
23
+ {
24
+ id: 'sender',
25
+ name: 'Sender Wallet',
26
+ icon: 'https://sender.org/logo.svg',
27
+ globalKey: 'near',
28
+ altKeys: ['sender'],
29
+ website: 'https://sender.org',
30
+ },
31
+ {
32
+ id: 'here-wallet',
33
+ name: 'HERE Wallet',
34
+ icon: 'https://herewallet.app/logo.svg',
35
+ globalKey: 'here',
36
+ altKeys: ['hereWallet'],
37
+ website: 'https://herewallet.app',
38
+ },
39
+ {
40
+ id: 'nightly',
41
+ name: 'Nightly Wallet',
42
+ icon: 'https://nightly.app/logo.svg',
43
+ globalKey: 'nightly',
44
+ altKeys: ['nightlyNear'],
45
+ website: 'https://nightly.app',
46
+ },
47
+ {
48
+ id: 'mynearwallet',
49
+ name: 'MyNearWallet',
50
+ icon: 'https://mynearwallet.com/logo.svg',
51
+ globalKey: 'nearWallet',
52
+ website: 'https://mynearwallet.com',
53
+ },
54
+ {
55
+ id: 'welldone',
56
+ name: 'WELLDONE Wallet',
57
+ icon: 'https://welldone.xyz/logo.svg',
58
+ globalKey: 'dapp',
59
+ website: 'https://welldone.xyz',
60
+ },
61
+ ];
62
+ class InjectedWalletDetector {
63
+ detected = new Map();
64
+ listeners = new Set();
65
+ isScanning = false;
66
+ eventCleanup = null;
67
+ /**
68
+ * Start detection - combines event listening and global probing
69
+ */
70
+ async detect(timeout = 2000) {
71
+ if (typeof window === 'undefined') {
72
+ return [];
73
+ }
74
+ if (this.isScanning) {
75
+ return Array.from(this.detected.values());
76
+ }
77
+ this.isScanning = true;
78
+ // Method 1: Listen for compliant wallets via events
79
+ this.listenForWalletEvents();
80
+ // Method 2: Announce we're ready (triggers compliant wallets)
81
+ this.announceReady();
82
+ // Method 3: Probe globals immediately
83
+ this.probeGlobals();
84
+ // Method 4: Probe again with retries (for slow extensions)
85
+ await this.probeWithRetry(timeout);
86
+ this.isScanning = false;
87
+ return Array.from(this.detected.values());
88
+ }
89
+ /**
90
+ * Listen for wallets that use the event protocol
91
+ */
92
+ listenForWalletEvents() {
93
+ const handler = ((event) => {
94
+ const detail = event.detail;
95
+ if (detail?.id && detail?.provider) {
96
+ // Find matching known wallet or create generic entry
97
+ const knownWallet = KNOWN_INJECTED_WALLETS.find((w) => w.id === detail.id);
98
+ const walletInfo = knownWallet || {
99
+ id: detail.id,
100
+ name: detail.name || detail.id,
101
+ icon: detail.icon || '',
102
+ globalKey: detail.id,
103
+ website: detail.website || '',
104
+ };
105
+ this.addDetected(walletInfo, detail.provider);
106
+ }
107
+ });
108
+ window.addEventListener('near-wallet-injected', handler);
109
+ this.eventCleanup = () => {
110
+ window.removeEventListener('near-wallet-injected', handler);
111
+ };
112
+ }
113
+ /**
114
+ * Announce that we're ready to receive wallet injections
115
+ */
116
+ announceReady() {
117
+ // Different wallets listen for different event names
118
+ window.dispatchEvent(new CustomEvent('near-selector-ready'));
119
+ window.dispatchEvent(new CustomEvent('near-wallet-selector-ready'));
120
+ window.dispatchEvent(new CustomEvent('near:ready'));
121
+ }
122
+ /**
123
+ * Directly probe window globals for known wallets
124
+ */
125
+ probeGlobals() {
126
+ // First, check HOT Protocol providers (hotWalletsProviders array)
127
+ this.probeHotProtocol();
128
+ // Then check regular globals
129
+ for (const wallet of KNOWN_INJECTED_WALLETS) {
130
+ // Skip if already detected or uses HOT Protocol (handled separately)
131
+ if (this.detected.has(wallet.id) || wallet.usesHotProtocol)
132
+ continue;
133
+ const provider = this.findProvider(wallet);
134
+ if (provider) {
135
+ this.addDetected(wallet, provider);
136
+ }
137
+ }
138
+ }
139
+ /**
140
+ * Probe HOT Protocol providers (used by Meteor and potentially others)
141
+ * HOT Protocol injects wallet providers into window.hotWalletsProviders array
142
+ */
143
+ probeHotProtocol() {
144
+ const win = window;
145
+ const hotProviders = win['hotWalletsProviders'];
146
+ if (!Array.isArray(hotProviders))
147
+ return;
148
+ for (const provider of hotProviders) {
149
+ if (!provider || typeof provider !== 'object')
150
+ continue;
151
+ const p = provider;
152
+ const providerId = p.id;
153
+ const providerName = p.name;
154
+ if (!providerId)
155
+ continue;
156
+ // Skip if already detected
157
+ if (this.detected.has(providerId))
158
+ continue;
159
+ // Find matching known wallet config
160
+ const knownWallet = KNOWN_INJECTED_WALLETS.find((w) => w.usesHotProtocol && (w.id === providerId || w.name === providerName));
161
+ // Create wallet info (use known config or create from provider)
162
+ const walletInfo = knownWallet || {
163
+ id: providerId,
164
+ name: providerName || providerId,
165
+ icon: p.icon || '',
166
+ globalKey: 'hotWalletsProviders',
167
+ website: p.website || '',
168
+ usesHotProtocol: true,
169
+ };
170
+ // Validate it has wallet methods
171
+ if (this.isValidProvider(provider)) {
172
+ console.log(`[NearConnect] Detected HOT Protocol wallet: ${walletInfo.name}`);
173
+ this.addDetected(walletInfo, provider);
174
+ }
175
+ }
176
+ }
177
+ /**
178
+ * Find provider by checking global key and alternatives
179
+ */
180
+ findProvider(wallet) {
181
+ const win = window;
182
+ // Check primary key
183
+ if (win[wallet.globalKey] && this.isValidProvider(win[wallet.globalKey])) {
184
+ return win[wallet.globalKey];
185
+ }
186
+ // Check alternative keys
187
+ if (wallet.altKeys) {
188
+ for (const key of wallet.altKeys) {
189
+ if (win[key] && this.isValidProvider(win[key])) {
190
+ return win[key];
191
+ }
192
+ }
193
+ }
194
+ return null;
195
+ }
196
+ /**
197
+ * Validate that this looks like a wallet provider
198
+ */
199
+ isValidProvider(obj) {
200
+ if (!obj || typeof obj !== 'object')
201
+ return false;
202
+ const provider = obj;
203
+ // Most wallet providers have at least one of these methods
204
+ return (typeof provider.connect === 'function' ||
205
+ typeof provider.signIn === 'function' ||
206
+ typeof provider.requestSignIn === 'function' ||
207
+ typeof provider.signAndSendTransaction === 'function' ||
208
+ typeof provider.isConnected === 'function' ||
209
+ typeof provider.enable === 'function');
210
+ }
211
+ /**
212
+ * Probe with retries for slow-loading extensions
213
+ */
214
+ async probeWithRetry(timeout) {
215
+ const intervals = [100, 250, 500, 1000];
216
+ let elapsed = 0;
217
+ for (const interval of intervals) {
218
+ if (elapsed >= timeout)
219
+ break;
220
+ await new Promise((resolve) => setTimeout(resolve, interval));
221
+ elapsed += interval;
222
+ this.probeGlobals();
223
+ }
224
+ }
225
+ /**
226
+ * Add a detected wallet
227
+ */
228
+ addDetected(info, provider) {
229
+ if (this.detected.has(info.id))
230
+ return;
231
+ const detected = { info, provider };
232
+ this.detected.set(info.id, detected);
233
+ console.log(`[NearConnect] Detected injected wallet: ${info.name}`);
234
+ // Notify listeners
235
+ this.listeners.forEach((cb) => cb(Array.from(this.detected.values())));
236
+ }
237
+ /**
238
+ * Subscribe to detection updates
239
+ */
240
+ onDetected(callback) {
241
+ this.listeners.add(callback);
242
+ // Immediately call with current detections
243
+ if (this.detected.size > 0) {
244
+ callback(Array.from(this.detected.values()));
245
+ }
246
+ return () => this.listeners.delete(callback);
247
+ }
248
+ /**
249
+ * Get specific wallet if detected
250
+ */
251
+ getWallet(id) {
252
+ return this.detected.get(id);
253
+ }
254
+ /**
255
+ * Check if specific wallet is available
256
+ */
257
+ isAvailable(id) {
258
+ return this.detected.has(id);
259
+ }
260
+ /**
261
+ * Get all detected wallets
262
+ */
263
+ getAll() {
264
+ return Array.from(this.detected.values());
265
+ }
266
+ /**
267
+ * Cleanup event listeners
268
+ */
269
+ destroy() {
270
+ if (this.eventCleanup) {
271
+ this.eventCleanup();
272
+ this.eventCleanup = null;
273
+ }
274
+ this.listeners.clear();
275
+ this.detected.clear();
276
+ }
277
+ }
278
+ exports.InjectedWalletDetector = InjectedWalletDetector;
279
+ //# sourceMappingURL=detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../src/wallets/injected/detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Injected Wallet Module
3
+ *
4
+ * Exports for browser extension wallet detection and management.
5
+ */
6
+ export { InjectedWalletDetector } from './detector';
7
+ export type { InjectedWalletInfo, DetectedWallet, DetectionCallback } from './detector';
8
+ export { InjectedWalletAdapter } from './adapter';
9
+ export { InjectedWalletManager } from './manager';
10
+ export type { InjectedWalletManagerConfig } from './manager';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Injected Wallet Module
4
+ *
5
+ * Exports for browser extension wallet detection and management.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.InjectedWalletManager = exports.InjectedWalletAdapter = exports.InjectedWalletDetector = void 0;
9
+ var detector_1 = require("./detector");
10
+ Object.defineProperty(exports, "InjectedWalletDetector", { enumerable: true, get: function () { return detector_1.InjectedWalletDetector; } });
11
+ var adapter_1 = require("./adapter");
12
+ Object.defineProperty(exports, "InjectedWalletAdapter", { enumerable: true, get: function () { return adapter_1.InjectedWalletAdapter; } });
13
+ var manager_1 = require("./manager");
14
+ Object.defineProperty(exports, "InjectedWalletManager", { enumerable: true, get: function () { return manager_1.InjectedWalletManager; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallets/injected/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAG/B,qCAAkD;AAAzC,gHAAA,qBAAqB,OAAA;AAE9B,qCAAkD;AAAzC,gHAAA,qBAAqB,OAAA"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Injected Wallet Manager
3
+ *
4
+ * Manages detection and interaction with browser extension wallets.
5
+ */
6
+ import type { NearWalletBase } from '../../types';
7
+ export interface InjectedWalletManagerConfig {
8
+ /** Detection timeout in ms (default: 2000) */
9
+ detectionTimeout?: number;
10
+ /** Callback when wallets are detected */
11
+ onDetected?: (wallets: NearWalletBase[]) => void;
12
+ }
13
+ export declare class InjectedWalletManager {
14
+ private detector;
15
+ private adapters;
16
+ private config;
17
+ private initialized;
18
+ constructor(config?: InjectedWalletManagerConfig);
19
+ /**
20
+ * Initialize detection
21
+ */
22
+ init(): Promise<NearWalletBase[]>;
23
+ /**
24
+ * Add an adapter for a detected wallet
25
+ */
26
+ private addAdapter;
27
+ /**
28
+ * Get all detected wallets as NearWalletBase
29
+ */
30
+ getWallets(): NearWalletBase[];
31
+ /**
32
+ * Get a specific wallet by ID
33
+ */
34
+ getWallet(walletId: string): NearWalletBase | undefined;
35
+ /**
36
+ * Check if wallet ID is an injected wallet
37
+ */
38
+ isInjectedWallet(walletId: string): boolean;
39
+ /**
40
+ * Check if any injected wallets were detected
41
+ */
42
+ hasWallets(): boolean;
43
+ /**
44
+ * Get count of detected wallets
45
+ */
46
+ get count(): number;
47
+ /**
48
+ * Cleanup
49
+ */
50
+ destroy(): void;
51
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * Injected Wallet Manager
4
+ *
5
+ * Manages detection and interaction with browser extension wallets.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.InjectedWalletManager = void 0;
9
+ const detector_1 = require("./detector");
10
+ const adapter_1 = require("./adapter");
11
+ class InjectedWalletManager {
12
+ detector;
13
+ adapters = new Map();
14
+ config;
15
+ initialized = false;
16
+ constructor(config = {}) {
17
+ this.detector = new detector_1.InjectedWalletDetector();
18
+ this.config = config;
19
+ }
20
+ /**
21
+ * Initialize detection
22
+ */
23
+ async init() {
24
+ if (this.initialized) {
25
+ return this.getWallets();
26
+ }
27
+ const timeout = this.config.detectionTimeout ?? 2000;
28
+ const detected = await this.detector.detect(timeout);
29
+ for (const wallet of detected) {
30
+ this.addAdapter(wallet);
31
+ }
32
+ // Subscribe to future detections
33
+ this.detector.onDetected((wallets) => {
34
+ for (const wallet of wallets) {
35
+ if (!this.adapters.has(wallet.info.id)) {
36
+ this.addAdapter(wallet);
37
+ }
38
+ }
39
+ if (this.config.onDetected) {
40
+ this.config.onDetected(this.getWallets());
41
+ }
42
+ });
43
+ this.initialized = true;
44
+ console.log(`[NearConnect] Found ${detected.length} injected wallet(s)`);
45
+ return this.getWallets();
46
+ }
47
+ /**
48
+ * Add an adapter for a detected wallet
49
+ */
50
+ addAdapter(wallet) {
51
+ const adapter = new adapter_1.InjectedWalletAdapter(wallet);
52
+ this.adapters.set(wallet.info.id, adapter);
53
+ }
54
+ /**
55
+ * Get all detected wallets as NearWalletBase
56
+ */
57
+ getWallets() {
58
+ return Array.from(this.adapters.values());
59
+ }
60
+ /**
61
+ * Get a specific wallet by ID
62
+ */
63
+ getWallet(walletId) {
64
+ return this.adapters.get(walletId);
65
+ }
66
+ /**
67
+ * Check if wallet ID is an injected wallet
68
+ */
69
+ isInjectedWallet(walletId) {
70
+ return this.adapters.has(walletId);
71
+ }
72
+ /**
73
+ * Check if any injected wallets were detected
74
+ */
75
+ hasWallets() {
76
+ return this.adapters.size > 0;
77
+ }
78
+ /**
79
+ * Get count of detected wallets
80
+ */
81
+ get count() {
82
+ return this.adapters.size;
83
+ }
84
+ /**
85
+ * Cleanup
86
+ */
87
+ destroy() {
88
+ this.detector.destroy();
89
+ this.adapters.clear();
90
+ this.initialized = false;
91
+ }
92
+ }
93
+ exports.InjectedWalletManager = InjectedWalletManager;
94
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +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;;OAEG;IACK,UAAU,CAAC,MAAsB;QACvC,MAAM,OAAO,GAAG,IAAI,+BAAqB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF;AAhGD,sDAgGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shadow-corp/nearconnect",
3
- "version": "1.0.1",
3
+ "version": "1.0.5",
4
4
  "type": "commonjs",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",