Skip to content

Commit

Permalink
feat: remove provider
Browse files Browse the repository at this point in the history
  • Loading branch information
ieow committed May 3, 2024
1 parent 7151318 commit 90f59e0
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 59 deletions.
44 changes: 22 additions & 22 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 1 addition & 6 deletions src/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import type {
TorusVerifierResponse,
UX_MODE_TYPE,
} from "@toruslabs/customauth";
import { CustomChainConfig, SafeEventEmitterProvider } from "@web3auth/base";
import { CustomChainConfig } from "@web3auth/base";
import BN from "bn.js";

import { FactorKeyTypeShareDescription, TssShareType, USER_PATH, WEB3AUTH_NETWORK } from "./constants";
Expand Down Expand Up @@ -156,11 +156,6 @@ export interface ICoreKit {
**/
tKey: ThresholdKey | null;

/**
* Provider for making the blockchain calls.
**/
provider: SafeEventEmitterProvider | null;

/**
* Signatures generated from the OAuth Login.
**/
Expand Down
21 changes: 1 addition & 20 deletions src/mpcCoreKit.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/* eslint-disable @typescript-eslint/member-ordering */
import { createSwappableProxy, SwappableProxy } from "@metamask/swappable-obj-proxy";
import { BNString, encrypt, getPubKeyPoint, Point as TkeyPoint, SHARE_DELETED, ShareStore, StringifiedType } from "@tkey-mpc/common-types";
import ThresholdKey, { CoreError, lagrangeInterpolation } from "@tkey-mpc/core";
import { TorusServiceProvider } from "@tkey-mpc/service-provider-torus";
Expand All @@ -15,7 +14,7 @@ import { OpenloginSessionManager } from "@toruslabs/openlogin-session-manager";
import TorusUtils, { TorusKey } from "@toruslabs/torus.js";
import { Client, getDKLSCoeff, setupSockets } from "@toruslabs/tss-client";
import type * as TssLib from "@toruslabs/tss-lib";
import { CHAIN_NAMESPACES, CustomChainConfig, log, SafeEventEmitterProvider } from "@web3auth/base";
import { CHAIN_NAMESPACES, CustomChainConfig, log } from "@web3auth/base";
import { EthereumSigningProvider } from "@web3auth-mpc/ethereum-provider";
import BN from "bn.js";
import bowser from "bowser";
Expand Down Expand Up @@ -69,8 +68,6 @@ export class Web3AuthMPCCoreKit implements ICoreKit {

private options: Web3AuthOptionsWithDefaults;

private providerProxy: SwappableProxy<SafeEventEmitterProvider> | null = null;

private torusSp: TorusServiceProvider | null = null;

private storageLayer: TorusStorageLayer | null = null;
Expand Down Expand Up @@ -152,14 +149,6 @@ export class Web3AuthMPCCoreKit implements ICoreKit {
return this.tkey;
}

get provider(): SafeEventEmitterProvider | null {
return this.providerProxy ? this.providerProxy : null;
}

set provider(_: SafeEventEmitterProvider | null) {
throw new Error("Not implemented");
}

get signatures(): string[] {
return this.state?.signatures ? this.state.signatures : [];
}
Expand Down Expand Up @@ -1166,13 +1155,6 @@ export class Web3AuthMPCCoreKit implements ICoreKit {
this.options.chainConfig = option.chainConfig;
const signingProvider = new EthereumSigningProvider({ config: { chainConfig: this.options.chainConfig } });
await signingProvider.setupProvider({ sign: this.sign, getPublic: this.getPublic });

if (this.providerProxy === null) {
const provider = createSwappableProxy<SafeEventEmitterProvider>(signingProvider.provider);
this.providerProxy = provider;
} else {
this.providerProxy.setTarget(signingProvider.provider);
}
}

private updateState(newState: Partial<Web3AuthState>): void {
Expand All @@ -1184,7 +1166,6 @@ export class Web3AuthMPCCoreKit implements ICoreKit {
this.tkey = null;
this.torusSp = null;
this.storageLayer = null;
this.providerProxy = null;
}

private _getOAuthKey(result: TorusKey): string {
Expand Down
22 changes: 11 additions & 11 deletions tests/login.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import * as TssLib from "@toruslabs/tss-lib-node";
import BN from "bn.js";
import { ec as EC } from "elliptic";

import { BrowserStorage, COREKIT_STATUS, DEFAULT_CHAIN_CONFIG, WEB3AUTH_NETWORK, WEB3AUTH_NETWORK_TYPE, Web3AuthMPCCoreKit } from "../src";
import { BrowserStorage, COREKIT_STATUS, WEB3AUTH_NETWORK, WEB3AUTH_NETWORK_TYPE, Web3AuthMPCCoreKit } from "../src";
import { criticalResetAccount, mockLogin, stringGen } from "./setup";

type TestVariable = {
Expand Down Expand Up @@ -107,8 +107,8 @@ variable.forEach((testVariable) => {
// get key details
await checkLogin(coreKitInstance);

const result = await coreKitInstance.provider.request({ method: "eth_chainId", params: [] });
assert.strictEqual(result, DEFAULT_CHAIN_CONFIG.chainId);
// const result = await coreKitInstance.provider.request({ method: "eth_chainId", params: [] });
// assert.strictEqual(result, DEFAULT_CHAIN_CONFIG.chainId);

checkPubKey = coreKitInstance.getTssPublicKey();
const factorkey = coreKitInstance.getCurrentFactorKey();
Expand Down Expand Up @@ -137,16 +137,16 @@ variable.forEach((testVariable) => {
// get key details
await checkLogin(coreKitInstanceWithoutProvider);
assert.strictEqual(coreKitInstanceWithoutProvider.status, COREKIT_STATUS.LOGGED_IN);
assert.strictEqual(coreKitInstanceWithoutProvider.provider, null);
try {
await coreKitInstanceWithoutProvider.provider.request({ method: "eth_chainId", params: [] });
throw new Error("should not reach here");
} catch (error) {}
// assert.strictEqual(coreKitInstanceWithoutProvider.provider, null);
// try {
// await coreKitInstanceWithoutProvider.provider.request({ method: "eth_chainId", params: [] });
// throw new Error("should not reach here");
// } catch (error) {}

// setup provider
await coreKitInstanceWithoutProvider.setupProvider({ chainConfig: DEFAULT_CHAIN_CONFIG });
const result = await coreKitInstanceWithoutProvider.provider.request({ method: "eth_chainId", params: [] });
assert.strictEqual(result, DEFAULT_CHAIN_CONFIG.chainId);
// await coreKitInstanceWithoutProvider.setupProvider({ chainConfig: DEFAULT_CHAIN_CONFIG });
// const result = await coreKitInstanceWithoutProvider.provider.request({ method: "eth_chainId", params: [] });
// assert.strictEqual(result, DEFAULT_CHAIN_CONFIG.chainId);
});

await t.test("#relogin ", async function () {
Expand Down

0 comments on commit 90f59e0

Please sign in to comment.