@web3auth/metamask-adapter
Advanced tools
Comparing version 0.1.1 to 0.2.0
@@ -134,3 +134,2 @@ module.exports = | ||
class metamaskAdapter_MetamaskAdapter extends base_["BaseAdapter"] { | ||
// added after connecting | ||
constructor() { | ||
@@ -150,4 +149,2 @@ let adapterOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
defineProperty_default()(this, "provider", null); | ||
defineProperty_default()(this, "rehydrated", false); | ||
@@ -160,2 +157,14 @@ | ||
get provider() { | ||
if (this.status === base_["ADAPTER_STATUS"].CONNECTED && this.metamaskProvider) { | ||
return this.metamaskProvider; | ||
} | ||
return null; | ||
} | ||
set provider(_) { | ||
throw new Error("Not implemented"); | ||
} | ||
async init(options) { | ||
@@ -168,3 +177,3 @@ super.checkInitializationRequirements(); | ||
this.status = base_["ADAPTER_STATUS"].READY; | ||
this.emit(base_["ADAPTER_STATUS"].READY, base_["WALLET_ADAPTERS"].METAMASK); | ||
this.emit(base_["ADAPTER_EVENTS"].READY, base_["WALLET_ADAPTERS"].METAMASK); | ||
@@ -177,3 +186,3 @@ try { | ||
} catch (error) { | ||
this.emit(base_["ADAPTER_STATUS"].ERRORED, error); | ||
this.emit(base_["ADAPTER_EVENTS"].ERRORED, error); | ||
} | ||
@@ -189,3 +198,3 @@ } | ||
this.status = base_["ADAPTER_STATUS"].CONNECTING; | ||
this.emit(base_["ADAPTER_STATUS"].CONNECTING, { | ||
this.emit(base_["ADAPTER_EVENTS"].CONNECTING, { | ||
adapter: base_["WALLET_ADAPTERS"].METAMASK | ||
@@ -208,3 +217,3 @@ }); | ||
this.status = base_["ADAPTER_STATUS"].CONNECTED; | ||
this.provider = this.metamaskProvider; | ||
if (!this.provider) throw base_["WalletLoginError"].notConnectedError("Failed to connect with provider"); | ||
this.provider.once("disconnect", () => { | ||
@@ -214,6 +223,7 @@ // ready to be connected again | ||
}); | ||
this.emit(base_["ADAPTER_STATUS"].CONNECTED, { | ||
this.emit(base_["ADAPTER_EVENTS"].CONNECTED, { | ||
adapter: base_["WALLET_ADAPTERS"].METAMASK, | ||
reconnected: this.rehydrated | ||
}); | ||
return this.provider; | ||
} catch (error) { | ||
@@ -223,3 +233,3 @@ // ready again to be connected | ||
this.rehydrated = false; | ||
this.emit(base_["ADAPTER_STATUS"].ERRORED, error); | ||
this.emit(base_["ADAPTER_EVENTS"].ERRORED, error); | ||
throw base_["WalletLoginError"].connectionError("Failed to login with metamask wallet"); | ||
@@ -232,9 +242,18 @@ } | ||
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { | ||
cleanup: false | ||
}; | ||
if (this.status !== base_["ADAPTER_STATUS"].CONNECTED) throw base_["WalletLoginError"].disconnectionError("Not connected with wallet"); | ||
(_this$provider = this.provider) === null || _this$provider === void 0 ? void 0 : _this$provider.removeAllListeners(); | ||
this.provider = null; // ready to be connected again | ||
this.status = base_["ADAPTER_STATUS"].READY; | ||
if (options.cleanup) { | ||
this.status = base_["ADAPTER_STATUS"].NOT_READY; | ||
this.metamaskProvider = null; | ||
} else { | ||
// ready to be connected again | ||
this.status = base_["ADAPTER_STATUS"].READY; | ||
} | ||
this.rehydrated = false; | ||
this.emit(base_["ADAPTER_STATUS"].DISCONNECTED); | ||
this.emit(base_["ADAPTER_EVENTS"].DISCONNECTED); | ||
} | ||
@@ -241,0 +260,0 @@ |
import _defineProperty from '@babel/runtime/helpers/defineProperty'; | ||
import detectEthereumProvider from '@metamask/detect-provider'; | ||
import { BaseAdapter, ADAPTER_NAMESPACES, CHAIN_NAMESPACES, ADAPTER_CATEGORY, WALLET_ADAPTERS, ADAPTER_STATUS, WalletInitializationError, getChainConfig, WalletLoginError } from '@web3auth/base'; | ||
import { BaseAdapter, ADAPTER_NAMESPACES, CHAIN_NAMESPACES, ADAPTER_CATEGORY, WALLET_ADAPTERS, ADAPTER_STATUS, WalletInitializationError, ADAPTER_EVENTS, getChainConfig, WalletLoginError } from '@web3auth/base'; | ||
class MetamaskAdapter extends BaseAdapter { | ||
// added after connecting | ||
constructor() { | ||
@@ -21,4 +20,2 @@ let adapterOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
_defineProperty(this, "provider", null); | ||
_defineProperty(this, "rehydrated", false); | ||
@@ -31,2 +28,14 @@ | ||
get provider() { | ||
if (this.status === ADAPTER_STATUS.CONNECTED && this.metamaskProvider) { | ||
return this.metamaskProvider; | ||
} | ||
return null; | ||
} | ||
set provider(_) { | ||
throw new Error("Not implemented"); | ||
} | ||
async init(options) { | ||
@@ -39,3 +48,3 @@ super.checkInitializationRequirements(); | ||
this.status = ADAPTER_STATUS.READY; | ||
this.emit(ADAPTER_STATUS.READY, WALLET_ADAPTERS.METAMASK); | ||
this.emit(ADAPTER_EVENTS.READY, WALLET_ADAPTERS.METAMASK); | ||
@@ -48,3 +57,3 @@ try { | ||
} catch (error) { | ||
this.emit(ADAPTER_STATUS.ERRORED, error); | ||
this.emit(ADAPTER_EVENTS.ERRORED, error); | ||
} | ||
@@ -60,3 +69,3 @@ } | ||
this.status = ADAPTER_STATUS.CONNECTING; | ||
this.emit(ADAPTER_STATUS.CONNECTING, { | ||
this.emit(ADAPTER_EVENTS.CONNECTING, { | ||
adapter: WALLET_ADAPTERS.METAMASK | ||
@@ -79,3 +88,3 @@ }); | ||
this.status = ADAPTER_STATUS.CONNECTED; | ||
this.provider = this.metamaskProvider; | ||
if (!this.provider) throw WalletLoginError.notConnectedError("Failed to connect with provider"); | ||
this.provider.once("disconnect", () => { | ||
@@ -85,6 +94,7 @@ // ready to be connected again | ||
}); | ||
this.emit(ADAPTER_STATUS.CONNECTED, { | ||
this.emit(ADAPTER_EVENTS.CONNECTED, { | ||
adapter: WALLET_ADAPTERS.METAMASK, | ||
reconnected: this.rehydrated | ||
}); | ||
return this.provider; | ||
} catch (error) { | ||
@@ -94,3 +104,3 @@ // ready again to be connected | ||
this.rehydrated = false; | ||
this.emit(ADAPTER_STATUS.ERRORED, error); | ||
this.emit(ADAPTER_EVENTS.ERRORED, error); | ||
throw WalletLoginError.connectionError("Failed to login with metamask wallet"); | ||
@@ -103,9 +113,18 @@ } | ||
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { | ||
cleanup: false | ||
}; | ||
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.disconnectionError("Not connected with wallet"); | ||
(_this$provider = this.provider) === null || _this$provider === void 0 ? void 0 : _this$provider.removeAllListeners(); | ||
this.provider = null; // ready to be connected again | ||
this.status = ADAPTER_STATUS.READY; | ||
if (options.cleanup) { | ||
this.status = ADAPTER_STATUS.NOT_READY; | ||
this.metamaskProvider = null; | ||
} else { | ||
// ready to be connected again | ||
this.status = ADAPTER_STATUS.READY; | ||
} | ||
this.rehydrated = false; | ||
this.emit(ADAPTER_STATUS.DISCONNECTED); | ||
this.emit(ADAPTER_EVENTS.DISCONNECTED); | ||
} | ||
@@ -112,0 +131,0 @@ |
@@ -11,10 +11,13 @@ import { ADAPTER_CATEGORY_TYPE, ADAPTER_STATUS_TYPE, AdapterInitOptions, AdapterNamespaceType, BaseAdapter, ChainNamespaceType, CustomChainConfig, SafeEventEmitterProvider, UserInfo } from "@web3auth/base"; | ||
status: ADAPTER_STATUS_TYPE; | ||
provider: SafeEventEmitterProvider | null; | ||
private rehydrated; | ||
private metamaskProvider; | ||
constructor(adapterOptions?: MetamaskAdapterOptions); | ||
get provider(): SafeEventEmitterProvider | null; | ||
set provider(_: SafeEventEmitterProvider | null); | ||
init(options: AdapterInitOptions): Promise<void>; | ||
setAdapterSettings(_: unknown): void; | ||
connect(): Promise<void>; | ||
disconnect(): Promise<void>; | ||
connect(): Promise<SafeEventEmitterProvider | null>; | ||
disconnect(options?: { | ||
cleanup: boolean; | ||
}): Promise<void>; | ||
getUserInfo(): Promise<Partial<UserInfo>>; | ||
@@ -21,0 +24,0 @@ private switchChain; |
{ | ||
"name": "@web3auth/metamask-adapter", | ||
"version": "0.1.1", | ||
"version": "0.2.0", | ||
"description": "metamask wallet adapter for web3auth", | ||
@@ -40,3 +40,3 @@ "keywords": [ | ||
"@metamask/detect-provider": "^1.2.0", | ||
"@web3auth/base": "^0.1.1", | ||
"@web3auth/base": "^0.2.0", | ||
"loglevel": "^1.8.0" | ||
@@ -60,3 +60,3 @@ }, | ||
}, | ||
"gitHead": "1c18c5c104a267ac263fd632c3d55b4639ca80f7" | ||
"gitHead": "17813d53ec87d23c2909dcf2f03f380192b4346d" | ||
} |
@@ -5,2 +5,3 @@ import detectEthereumProvider from "@metamask/detect-provider"; | ||
ADAPTER_CATEGORY_TYPE, | ||
ADAPTER_EVENTS, | ||
ADAPTER_NAMESPACES, | ||
@@ -44,5 +45,2 @@ ADAPTER_STATUS, | ||
// added after connecting | ||
public provider: SafeEventEmitterProvider | null = null; | ||
private rehydrated = false; | ||
@@ -57,2 +55,13 @@ | ||
get provider(): SafeEventEmitterProvider | null { | ||
if (this.status === ADAPTER_STATUS.CONNECTED && this.metamaskProvider) { | ||
return this.metamaskProvider as SafeEventEmitterProvider; | ||
} | ||
return null; | ||
} | ||
set provider(_: SafeEventEmitterProvider | null) { | ||
throw new Error("Not implemented"); | ||
} | ||
async init(options: AdapterInitOptions): Promise<void> { | ||
@@ -63,3 +72,3 @@ super.checkInitializationRequirements(); | ||
this.status = ADAPTER_STATUS.READY; | ||
this.emit(ADAPTER_STATUS.READY, WALLET_ADAPTERS.METAMASK); | ||
this.emit(ADAPTER_EVENTS.READY, WALLET_ADAPTERS.METAMASK); | ||
try { | ||
@@ -71,3 +80,3 @@ if (options.autoConnect) { | ||
} catch (error) { | ||
this.emit(ADAPTER_STATUS.ERRORED, error); | ||
this.emit(ADAPTER_EVENTS.ERRORED, error); | ||
} | ||
@@ -78,3 +87,3 @@ } | ||
async connect(): Promise<void> { | ||
async connect(): Promise<SafeEventEmitterProvider | null> { | ||
super.checkConnectionRequirements(); | ||
@@ -85,3 +94,3 @@ // set default to mainnet | ||
this.status = ADAPTER_STATUS.CONNECTING; | ||
this.emit(ADAPTER_STATUS.CONNECTING, { adapter: WALLET_ADAPTERS.METAMASK }); | ||
this.emit(ADAPTER_EVENTS.CONNECTING, { adapter: WALLET_ADAPTERS.METAMASK }); | ||
if (!this.metamaskProvider) throw WalletLoginError.notConnectedError("Not able to connect with metamask"); | ||
@@ -95,3 +104,3 @@ try { | ||
this.status = ADAPTER_STATUS.CONNECTED; | ||
this.provider = this.metamaskProvider; | ||
if (!this.provider) throw WalletLoginError.notConnectedError("Failed to connect with provider"); | ||
this.provider.once("disconnect", () => { | ||
@@ -101,3 +110,4 @@ // ready to be connected again | ||
}); | ||
this.emit(ADAPTER_STATUS.CONNECTED, { adapter: WALLET_ADAPTERS.METAMASK, reconnected: this.rehydrated } as CONNECTED_EVENT_DATA); | ||
this.emit(ADAPTER_EVENTS.CONNECTED, { adapter: WALLET_ADAPTERS.METAMASK, reconnected: this.rehydrated } as CONNECTED_EVENT_DATA); | ||
return this.provider; | ||
} catch (error) { | ||
@@ -107,3 +117,3 @@ // ready again to be connected | ||
this.rehydrated = false; | ||
this.emit(ADAPTER_STATUS.ERRORED, error); | ||
this.emit(ADAPTER_EVENTS.ERRORED, error); | ||
throw WalletLoginError.connectionError("Failed to login with metamask wallet"); | ||
@@ -113,10 +123,15 @@ } | ||
async disconnect(): Promise<void> { | ||
async disconnect(options: { cleanup: boolean } = { cleanup: false }): Promise<void> { | ||
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.disconnectionError("Not connected with wallet"); | ||
this.provider?.removeAllListeners(); | ||
this.provider = null; | ||
// ready to be connected again | ||
this.status = ADAPTER_STATUS.READY; | ||
if (options.cleanup) { | ||
this.status = ADAPTER_STATUS.NOT_READY; | ||
this.metamaskProvider = null; | ||
} else { | ||
// ready to be connected again | ||
this.status = ADAPTER_STATUS.READY; | ||
} | ||
this.rehydrated = false; | ||
this.emit(ADAPTER_STATUS.DISCONNECTED); | ||
this.emit(ADAPTER_EVENTS.DISCONNECTED); | ||
} | ||
@@ -123,0 +138,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
573487
929
+ Added@web3auth/base@0.2.2(transitive)
- Removed@web3auth/base@0.1.1(transitive)
Updated@web3auth/base@^0.2.0