Socket
Socket
Sign inDemoInstall

@web3auth/metamask-adapter

Package Overview
Dependencies
Maintainers
1
Versions
113
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@web3auth/metamask-adapter - npm Package Compare versions

Comparing version 0.1.1 to 0.2.0

43

dist/metamaskAdapter.cjs.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc