Skip to content

Commit 5d41e01

Browse files
add factor manager interface
1 parent b678f3c commit 5d41e01

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

src/interfaces.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import BN from "bn.js";
2323

2424
import { FactorKeyTypeShareDescription, TssShareType, USER_PATH, WEB3AUTH_NETWORK } from "./constants";
2525
import { ISessionSigGenerator } from "./plugins/SessionSigGenerator/ISessionSigGenerator";
26-
import { IDklsSignConfig, IFrostSignConfig, IRemoteFactor } from "./plugins/Signer/ISigner";
26+
import { IDklsSignConfig, IFrostSignConfig, IRemoteFactor, ISigner } from "./plugins/Signer/ISigner";
2727

2828
export type CoreKitMode = UX_MODE_TYPE | "nodejs" | "react-native";
2929

@@ -358,13 +358,26 @@ export interface ISignerContext {
358358
}>;
359359
preSetupDKLSSigningConfig(): Promise<IDklsSignConfig>;
360360
preSetupFrostSigningConfig(): Promise<IFrostSignConfig>;
361+
setCustomSigner(customSigner: ISigner, remoteFactor?: IRemoteFactor): Promise<void>;
362+
}
363+
364+
export interface IFactorManagerContext {
365+
stateEmitter: SafeEventEmitter;
366+
config: Web3AuthOptionsWithDefaults;
367+
status: COREKIT_STATUS;
368+
state: Web3AuthState;
369+
tKey: TKeyTSS;
370+
keyType: KeyType;
371+
sigType: SigType;
372+
verifier: string;
373+
verifierId: string;
374+
getWeb3AuthNetwork(): WEB3AUTH_NETWORK_TYPE;
361375
createFactor(createFactorParams: CreateFactorParams): Promise<string>;
362-
inputFactorKey(factorKey: string): Promise<void>;
363376
deleteFactor(factorPub: TkeyPoint, factorKey?: BNString): Promise<void>;
364-
getKeyDetails(): Record<string, unknown> & { shareDescriptions: ShareDescriptionMap };
365377
getMetadataKey(): string | undefined;
366-
getMetadataPublicKey(): string | undefined;
367-
getWeb3AuthNetwork(): WEB3AUTH_NETWORK_TYPE;
378+
getKeyDetails(): Record<string, unknown> & {
379+
shareDescriptions: ShareDescriptionMap;
380+
};
368381
}
369382

370383
export interface IMPCContext {

src/mpcCoreKit.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ import {
5858
Web3AuthOptionsWithDefaults,
5959
Web3AuthState,
6060
} from "./interfaces";
61+
import { DefaultSignerPlugin } from "./plugins";
6162
import { DefaultSessionSigGeneratorPlugin } from "./plugins/SessionSigGenerator/DefaultSessionSigGenerator";
6263
import { ISessionSigGenerator } from "./plugins/SessionSigGenerator/ISessionSigGenerator";
6364
import { IDklsSignConfig, IFrostSignConfig, IRemoteFactor, ISigner } from "./plugins/Signer/ISigner";
@@ -140,6 +141,7 @@ export class Web3AuthMPCCoreKit implements ICoreKit, IMPCContext, ISignerContext
140141
if (!options.hashedFactorNonce) options.hashedFactorNonce = options.web3AuthClientId;
141142
if (options.disableSessionManager === undefined) options.disableSessionManager = false;
142143
this.sessionSigGenerator = new DefaultSessionSigGeneratorPlugin(this);
144+
this.signer = new DefaultSignerPlugin(this);
143145
this.options = options as Web3AuthOptionsWithDefaults;
144146

145147
this.currentStorage = new AsyncStorage(this._storageBaseKey, options.storage);

src/plugins/Signer/DefaultSigner.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,6 @@ export class DefaultSignerPlugin implements ISigner {
3333
data = keccak256(data);
3434
}
3535

36-
// // Custom Dkls Sign
37-
// if (this.customDklsSign) {
38-
// // PreSetup
39-
// const setupSigningParams = await this.context.preSetupSigning();
40-
// const result = await this.customDklsSign(setupSigningParams, data);
41-
// return result;
42-
// }
43-
4436
const isAlreadyPrecomputed = precomputedTssClient?.client && precomputedTssClient?.serverCoeffs;
4537
const { client, serverCoeffs, signatures } = isAlreadyPrecomputed ? precomputedTssClient : await this.context.precomputeSecp256k1();
4638

0 commit comments

Comments
 (0)