@0xsequence/wallet-wdk 0.0.0-20250520201059
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.
- package/.env.test +3 -0
- package/.turbo/turbo-build.log +5 -0
- package/CHANGELOG.md +11 -0
- package/LICENSE +202 -0
- package/dist/dbs/auth-commitments.d.ts +17 -0
- package/dist/dbs/auth-commitments.d.ts.map +1 -0
- package/dist/dbs/auth-commitments.js +13 -0
- package/dist/dbs/auth-keys.d.ts +19 -0
- package/dist/dbs/auth-keys.d.ts.map +1 -0
- package/dist/dbs/auth-keys.js +67 -0
- package/dist/dbs/generic.d.ts +33 -0
- package/dist/dbs/generic.d.ts.map +1 -0
- package/dist/dbs/generic.js +170 -0
- package/dist/dbs/index.d.ts +12 -0
- package/dist/dbs/index.d.ts.map +1 -0
- package/dist/dbs/index.js +8 -0
- package/dist/dbs/messages.d.ts +6 -0
- package/dist/dbs/messages.d.ts.map +1 -0
- package/dist/dbs/messages.js +13 -0
- package/dist/dbs/recovery.d.ts +6 -0
- package/dist/dbs/recovery.d.ts.map +1 -0
- package/dist/dbs/recovery.js +13 -0
- package/dist/dbs/signatures.d.ts +6 -0
- package/dist/dbs/signatures.d.ts.map +1 -0
- package/dist/dbs/signatures.js +13 -0
- package/dist/dbs/transactions.d.ts +6 -0
- package/dist/dbs/transactions.d.ts.map +1 -0
- package/dist/dbs/transactions.js +13 -0
- package/dist/dbs/wallets.d.ts +6 -0
- package/dist/dbs/wallets.d.ts.map +1 -0
- package/dist/dbs/wallets.js +13 -0
- package/dist/identity/signer.d.ts +17 -0
- package/dist/identity/signer.d.ts.map +1 -0
- package/dist/identity/signer.js +58 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/sequence/cron.d.ts +19 -0
- package/dist/sequence/cron.d.ts.map +1 -0
- package/dist/sequence/cron.js +118 -0
- package/dist/sequence/devices.d.ts +14 -0
- package/dist/sequence/devices.d.ts.map +1 -0
- package/dist/sequence/devices.js +43 -0
- package/dist/sequence/handlers/authcode-pkce.d.ts +14 -0
- package/dist/sequence/handlers/authcode-pkce.d.ts.map +1 -0
- package/dist/sequence/handlers/authcode-pkce.js +48 -0
- package/dist/sequence/handlers/authcode.d.ts +25 -0
- package/dist/sequence/handlers/authcode.d.ts.map +1 -0
- package/dist/sequence/handlers/authcode.js +91 -0
- package/dist/sequence/handlers/devices.d.ts +14 -0
- package/dist/sequence/handlers/devices.d.ts.map +1 -0
- package/dist/sequence/handlers/devices.js +39 -0
- package/dist/sequence/handlers/handler.d.ts +8 -0
- package/dist/sequence/handlers/handler.d.ts.map +1 -0
- package/dist/sequence/handlers/handler.js +1 -0
- package/dist/sequence/handlers/identity.d.ts +21 -0
- package/dist/sequence/handlers/identity.d.ts.map +1 -0
- package/dist/sequence/handlers/identity.js +86 -0
- package/dist/sequence/handlers/index.d.ts +7 -0
- package/dist/sequence/handlers/index.d.ts.map +1 -0
- package/dist/sequence/handlers/index.js +5 -0
- package/dist/sequence/handlers/mnemonic.d.ts +19 -0
- package/dist/sequence/handlers/mnemonic.d.ts.map +1 -0
- package/dist/sequence/handlers/mnemonic.js +67 -0
- package/dist/sequence/handlers/otp.d.ts +20 -0
- package/dist/sequence/handlers/otp.d.ts.map +1 -0
- package/dist/sequence/handlers/otp.js +83 -0
- package/dist/sequence/handlers/passkeys.d.ts +17 -0
- package/dist/sequence/handlers/passkeys.d.ts.map +1 -0
- package/dist/sequence/handlers/passkeys.js +63 -0
- package/dist/sequence/handlers/recovery.d.ts +15 -0
- package/dist/sequence/handlers/recovery.d.ts.map +1 -0
- package/dist/sequence/handlers/recovery.js +72 -0
- package/dist/sequence/index.d.ts +12 -0
- package/dist/sequence/index.d.ts.map +1 -0
- package/dist/sequence/index.js +9 -0
- package/dist/sequence/logger.d.ts +7 -0
- package/dist/sequence/logger.d.ts.map +1 -0
- package/dist/sequence/logger.js +11 -0
- package/dist/sequence/manager.d.ts +287 -0
- package/dist/sequence/manager.d.ts.map +1 -0
- package/dist/sequence/manager.js +356 -0
- package/dist/sequence/messages.d.ts +18 -0
- package/dist/sequence/messages.d.ts.map +1 -0
- package/dist/sequence/messages.js +115 -0
- package/dist/sequence/recovery.d.ts +30 -0
- package/dist/sequence/recovery.d.ts.map +1 -0
- package/dist/sequence/recovery.js +314 -0
- package/dist/sequence/sessions.d.ts +26 -0
- package/dist/sequence/sessions.d.ts.map +1 -0
- package/dist/sequence/sessions.js +169 -0
- package/dist/sequence/signatures.d.ts +21 -0
- package/dist/sequence/signatures.d.ts.map +1 -0
- package/dist/sequence/signatures.js +192 -0
- package/dist/sequence/signers.d.ts +14 -0
- package/dist/sequence/signers.d.ts.map +1 -0
- package/dist/sequence/signers.js +74 -0
- package/dist/sequence/transactions.d.ts +26 -0
- package/dist/sequence/transactions.d.ts.map +1 -0
- package/dist/sequence/transactions.js +201 -0
- package/dist/sequence/types/index.d.ts +9 -0
- package/dist/sequence/types/index.d.ts.map +1 -0
- package/dist/sequence/types/index.js +2 -0
- package/dist/sequence/types/message-request.d.ts +23 -0
- package/dist/sequence/types/message-request.d.ts.map +1 -0
- package/dist/sequence/types/message-request.js +1 -0
- package/dist/sequence/types/recovery.d.ts +15 -0
- package/dist/sequence/types/recovery.d.ts.map +1 -0
- package/dist/sequence/types/recovery.js +1 -0
- package/dist/sequence/types/signature-request.d.ts +76 -0
- package/dist/sequence/types/signature-request.d.ts.map +1 -0
- package/dist/sequence/types/signature-request.js +11 -0
- package/dist/sequence/types/signer.d.ts +28 -0
- package/dist/sequence/types/signer.d.ts.map +1 -0
- package/dist/sequence/types/signer.js +10 -0
- package/dist/sequence/types/transaction-request.d.ts +41 -0
- package/dist/sequence/types/transaction-request.d.ts.map +1 -0
- package/dist/sequence/types/transaction-request.js +1 -0
- package/dist/sequence/types/wallet.d.ts +21 -0
- package/dist/sequence/types/wallet.d.ts.map +1 -0
- package/dist/sequence/types/wallet.js +1 -0
- package/dist/sequence/wallets.d.ts +121 -0
- package/dist/sequence/wallets.d.ts.map +1 -0
- package/dist/sequence/wallets.js +632 -0
- package/package.json +40 -0
- package/src/dbs/auth-commitments.ts +26 -0
- package/src/dbs/auth-keys.ts +85 -0
- package/src/dbs/generic.ts +194 -0
- package/src/dbs/index.ts +13 -0
- package/src/dbs/messages.ts +16 -0
- package/src/dbs/recovery.ts +15 -0
- package/src/dbs/signatures.ts +15 -0
- package/src/dbs/transactions.ts +16 -0
- package/src/dbs/wallets.ts +16 -0
- package/src/identity/signer.ts +78 -0
- package/src/index.ts +2 -0
- package/src/sequence/cron.ts +134 -0
- package/src/sequence/devices.ts +53 -0
- package/src/sequence/handlers/authcode-pkce.ts +70 -0
- package/src/sequence/handlers/authcode.ts +116 -0
- package/src/sequence/handlers/devices.ts +53 -0
- package/src/sequence/handlers/handler.ts +14 -0
- package/src/sequence/handlers/identity.ts +101 -0
- package/src/sequence/handlers/index.ts +6 -0
- package/src/sequence/handlers/mnemonic.ts +88 -0
- package/src/sequence/handlers/otp.ts +107 -0
- package/src/sequence/handlers/passkeys.ts +84 -0
- package/src/sequence/handlers/recovery.ts +88 -0
- package/src/sequence/index.ts +25 -0
- package/src/sequence/logger.ts +11 -0
- package/src/sequence/manager.ts +634 -0
- package/src/sequence/messages.ts +146 -0
- package/src/sequence/recovery.ts +429 -0
- package/src/sequence/sessions.ts +238 -0
- package/src/sequence/signatures.ts +263 -0
- package/src/sequence/signers.ts +88 -0
- package/src/sequence/transactions.ts +281 -0
- package/src/sequence/types/index.ts +27 -0
- package/src/sequence/types/message-request.ts +26 -0
- package/src/sequence/types/recovery.ts +15 -0
- package/src/sequence/types/signature-request.ts +89 -0
- package/src/sequence/types/signer.ts +32 -0
- package/src/sequence/types/transaction-request.ts +47 -0
- package/src/sequence/types/wallet.ts +24 -0
- package/src/sequence/wallets.ts +853 -0
- package/test/constants.ts +62 -0
- package/test/recovery.test.ts +211 -0
- package/test/sessions.test.ts +324 -0
- package/test/setup.ts +63 -0
- package/test/transactions.test.ts +464 -0
- package/test/wallets.test.ts +381 -0
- package/tsconfig.json +10 -0
- package/vitest.config.ts +11 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Hex } from 'ox';
|
|
2
|
+
import * as Db from '../../dbs/index.js';
|
|
3
|
+
import * as Identity from '@0xsequence/identity-instrument';
|
|
4
|
+
import { Signatures } from '../signatures.js';
|
|
5
|
+
import { BaseSignatureRequest } from '../types/signature-request.js';
|
|
6
|
+
import { IdentitySigner } from '../../identity/signer.js';
|
|
7
|
+
export declare const identityTypeToHex: (identityType?: Identity.IdentityType) => Hex.Hex;
|
|
8
|
+
export declare class IdentityHandler {
|
|
9
|
+
private readonly nitro;
|
|
10
|
+
private readonly authKeys;
|
|
11
|
+
private readonly signatures;
|
|
12
|
+
readonly identityType: Identity.IdentityType;
|
|
13
|
+
constructor(nitro: Identity.IdentityInstrument, authKeys: Db.AuthKeys, signatures: Signatures, identityType: Identity.IdentityType);
|
|
14
|
+
onStatusChange(cb: () => void): () => void;
|
|
15
|
+
protected nitroCommitVerifier(challenge: Identity.Challenge): Promise<Identity.CommitVerifierReturn>;
|
|
16
|
+
protected nitroCompleteAuth(challenge: Identity.Challenge): Promise<IdentitySigner>;
|
|
17
|
+
protected sign(signer: IdentitySigner, request: BaseSignatureRequest): Promise<void>;
|
|
18
|
+
protected getAuthKeySigner(address: string): Promise<IdentitySigner | undefined>;
|
|
19
|
+
private getAuthKey;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,IAAI,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAA;AAE5E,eAAO,MAAM,iBAAiB,GAAI,eAAe,QAAQ,CAAC,YAAY,KAAG,GAAG,CAAC,GAa5E,CAAA;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;aACX,YAAY,EAAE,QAAQ,CAAC,YAAY;gBAHlC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAClC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,UAAU,EAAE,UAAU,EACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;IAG9C,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;cAIjC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS;cAWjD,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS;cAiB/C,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB;cAQ1D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YAQxE,UAAU;CAsBzB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Hex } from 'ox';
|
|
2
|
+
import * as Identity from '@0xsequence/identity-instrument';
|
|
3
|
+
import { IdentitySigner, toIdentityAuthKey } from '../../identity/signer.js';
|
|
4
|
+
export const identityTypeToHex = (identityType) => {
|
|
5
|
+
// Bytes4
|
|
6
|
+
switch (identityType) {
|
|
7
|
+
case Identity.IdentityType.Guest:
|
|
8
|
+
return '0x00000000';
|
|
9
|
+
case Identity.IdentityType.Email:
|
|
10
|
+
return '0x00000001';
|
|
11
|
+
case Identity.IdentityType.OIDC:
|
|
12
|
+
return '0x00000002';
|
|
13
|
+
default:
|
|
14
|
+
// Unknown identity type
|
|
15
|
+
return '0xffffffff';
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export class IdentityHandler {
|
|
19
|
+
nitro;
|
|
20
|
+
authKeys;
|
|
21
|
+
signatures;
|
|
22
|
+
identityType;
|
|
23
|
+
constructor(nitro, authKeys, signatures, identityType) {
|
|
24
|
+
this.nitro = nitro;
|
|
25
|
+
this.authKeys = authKeys;
|
|
26
|
+
this.signatures = signatures;
|
|
27
|
+
this.identityType = identityType;
|
|
28
|
+
}
|
|
29
|
+
onStatusChange(cb) {
|
|
30
|
+
return this.authKeys.addListener(cb);
|
|
31
|
+
}
|
|
32
|
+
async nitroCommitVerifier(challenge) {
|
|
33
|
+
await this.authKeys.delBySigner('');
|
|
34
|
+
const authKey = await this.getAuthKey('');
|
|
35
|
+
if (!authKey) {
|
|
36
|
+
throw new Error('no-auth-key');
|
|
37
|
+
}
|
|
38
|
+
const res = await this.nitro.commitVerifier(toIdentityAuthKey(authKey), challenge);
|
|
39
|
+
return res;
|
|
40
|
+
}
|
|
41
|
+
async nitroCompleteAuth(challenge) {
|
|
42
|
+
const authKey = await this.getAuthKey('');
|
|
43
|
+
if (!authKey) {
|
|
44
|
+
throw new Error('no-auth-key');
|
|
45
|
+
}
|
|
46
|
+
const res = await this.nitro.completeAuth(toIdentityAuthKey(authKey), challenge);
|
|
47
|
+
authKey.identitySigner = res.signer;
|
|
48
|
+
authKey.expiresAt = new Date(Date.now() + 1000 * 60 * 3); // 3 minutes
|
|
49
|
+
await this.authKeys.delBySigner('');
|
|
50
|
+
await this.authKeys.set(authKey);
|
|
51
|
+
const signer = new IdentitySigner(this.nitro, authKey);
|
|
52
|
+
return signer;
|
|
53
|
+
}
|
|
54
|
+
async sign(signer, request) {
|
|
55
|
+
const signature = await signer.sign(request.envelope.wallet, request.envelope.chainId, request.envelope.payload);
|
|
56
|
+
await this.signatures.addSignature(request.id, {
|
|
57
|
+
address: signer.address,
|
|
58
|
+
signature,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async getAuthKeySigner(address) {
|
|
62
|
+
const authKey = await this.getAuthKey(address);
|
|
63
|
+
if (!authKey) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
return new IdentitySigner(this.nitro, authKey);
|
|
67
|
+
}
|
|
68
|
+
async getAuthKey(signer) {
|
|
69
|
+
let authKey = await this.authKeys.getBySigner(signer);
|
|
70
|
+
if (!signer && !authKey) {
|
|
71
|
+
const keyPair = await window.crypto.subtle.generateKey({
|
|
72
|
+
name: 'ECDSA',
|
|
73
|
+
namedCurve: 'P-256',
|
|
74
|
+
}, false, ['sign', 'verify']);
|
|
75
|
+
const publicKey = await window.crypto.subtle.exportKey('raw', keyPair.publicKey);
|
|
76
|
+
authKey = {
|
|
77
|
+
address: Hex.fromBytes(new Uint8Array(publicKey)),
|
|
78
|
+
identitySigner: '',
|
|
79
|
+
expiresAt: new Date(Date.now() + 1000 * 60 * 60), // 1 hour
|
|
80
|
+
privateKey: keyPair.privateKey,
|
|
81
|
+
};
|
|
82
|
+
await this.authKeys.set(authKey);
|
|
83
|
+
}
|
|
84
|
+
return authKey;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type { Handler } from './handler.js';
|
|
2
|
+
export { DevicesHandler } from './devices.js';
|
|
3
|
+
export { PasskeysHandler } from './passkeys.js';
|
|
4
|
+
export { OtpHandler } from './otp.js';
|
|
5
|
+
export { AuthCodePkceHandler } from './authcode-pkce.js';
|
|
6
|
+
export { MnemonicHandler } from './mnemonic.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Signers } from '@0xsequence/wallet-core';
|
|
2
|
+
import { Address, Hex } from 'ox';
|
|
3
|
+
import { Handler } from './handler.js';
|
|
4
|
+
import { Signatures } from '../signatures.js';
|
|
5
|
+
import { SignerUnavailable, BaseSignatureRequest, SignerActionable } from '../types/index.js';
|
|
6
|
+
type RespondFn = (mnemonic: string) => Promise<void>;
|
|
7
|
+
export declare class MnemonicHandler implements Handler {
|
|
8
|
+
private readonly signatures;
|
|
9
|
+
kind: "login-mnemonic";
|
|
10
|
+
private onPromptMnemonic;
|
|
11
|
+
constructor(signatures: Signatures);
|
|
12
|
+
registerUI(onPromptMnemonic: (respond: RespondFn) => Promise<void>): () => void;
|
|
13
|
+
unregisterUI(): void;
|
|
14
|
+
onStatusChange(_cb: () => void): () => void;
|
|
15
|
+
static toSigner(mnemonic: string): Signers.Pk.Pk | undefined;
|
|
16
|
+
status(address: Address.Address, _imageHash: Hex.Hex | undefined, request: BaseSignatureRequest): Promise<SignerUnavailable | SignerActionable>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAY,MAAM,IAAI,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAe,iBAAiB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE1G,KAAK,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,qBAAa,eAAgB,YAAW,OAAO;IAKjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJvC,IAAI,mBAAsB;IAE1B,OAAO,CAAC,gBAAgB,CAAqD;gBAEhD,UAAU,EAAE,UAAU;IAE5C,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC;IAOlE,YAAY;IAInB,cAAc,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;WAI7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS;IAS7D,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;CA2CjD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Signers } from '@0xsequence/wallet-core';
|
|
2
|
+
import { Hex, Mnemonic } from 'ox';
|
|
3
|
+
import { Kinds } from '../types/signer.js';
|
|
4
|
+
export class MnemonicHandler {
|
|
5
|
+
signatures;
|
|
6
|
+
kind = Kinds.LoginMnemonic;
|
|
7
|
+
onPromptMnemonic;
|
|
8
|
+
constructor(signatures) {
|
|
9
|
+
this.signatures = signatures;
|
|
10
|
+
}
|
|
11
|
+
registerUI(onPromptMnemonic) {
|
|
12
|
+
this.onPromptMnemonic = onPromptMnemonic;
|
|
13
|
+
return () => {
|
|
14
|
+
this.onPromptMnemonic = undefined;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
unregisterUI() {
|
|
18
|
+
this.onPromptMnemonic = undefined;
|
|
19
|
+
}
|
|
20
|
+
onStatusChange(_cb) {
|
|
21
|
+
return () => { };
|
|
22
|
+
}
|
|
23
|
+
static toSigner(mnemonic) {
|
|
24
|
+
try {
|
|
25
|
+
const pk = Mnemonic.toPrivateKey(mnemonic);
|
|
26
|
+
return new Signers.Pk.Pk(Hex.from(pk));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async status(address, _imageHash, request) {
|
|
33
|
+
const onPromptMnemonic = this.onPromptMnemonic;
|
|
34
|
+
if (!onPromptMnemonic) {
|
|
35
|
+
return {
|
|
36
|
+
address,
|
|
37
|
+
handler: this,
|
|
38
|
+
reason: 'ui-not-registered',
|
|
39
|
+
status: 'unavailable',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
address,
|
|
44
|
+
handler: this,
|
|
45
|
+
status: 'actionable',
|
|
46
|
+
message: 'enter-mnemonic',
|
|
47
|
+
handle: () => new Promise(async (resolve, reject) => {
|
|
48
|
+
const respond = async (mnemonic) => {
|
|
49
|
+
const signer = MnemonicHandler.toSigner(mnemonic);
|
|
50
|
+
if (!signer) {
|
|
51
|
+
return reject('invalid-mnemonic');
|
|
52
|
+
}
|
|
53
|
+
if (signer.address !== address) {
|
|
54
|
+
return reject('wrong-mnemonic');
|
|
55
|
+
}
|
|
56
|
+
const signature = await signer.sign(request.envelope.wallet, request.envelope.chainId, request.envelope.payload);
|
|
57
|
+
await this.signatures.addSignature(request.id, {
|
|
58
|
+
address,
|
|
59
|
+
signature,
|
|
60
|
+
});
|
|
61
|
+
resolve(true);
|
|
62
|
+
};
|
|
63
|
+
await onPromptMnemonic(respond);
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Hex, Address } from 'ox';
|
|
2
|
+
import { Signers } from '@0xsequence/wallet-core';
|
|
3
|
+
import * as Identity from '@0xsequence/identity-instrument';
|
|
4
|
+
import { Handler } from './handler.js';
|
|
5
|
+
import * as Db from '../../dbs/index.js';
|
|
6
|
+
import { Signatures } from '../signatures.js';
|
|
7
|
+
import { SignerUnavailable, SignerReady, SignerActionable, BaseSignatureRequest } from '../types/signature-request.js';
|
|
8
|
+
import { IdentityHandler } from './identity.js';
|
|
9
|
+
type RespondFn = (otp: string) => Promise<void>;
|
|
10
|
+
export declare class OtpHandler extends IdentityHandler implements Handler {
|
|
11
|
+
kind: "login-email-otp";
|
|
12
|
+
private onPromptOtp;
|
|
13
|
+
constructor(nitro: Identity.IdentityInstrument, signatures: Signatures, authKeys: Db.AuthKeys);
|
|
14
|
+
registerUI(onPromptOtp: (recipient: string, respond: RespondFn) => Promise<void>): () => void;
|
|
15
|
+
unregisterUI(): void;
|
|
16
|
+
getSigner(email: string): Promise<Signers.Signer & Signers.Witnessable>;
|
|
17
|
+
status(address: Address.Address, _imageHash: Hex.Hex | undefined, request: BaseSignatureRequest): Promise<SignerUnavailable | SignerReady | SignerActionable>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=otp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/otp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEtH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE/C,qBAAa,UAAW,SAAQ,eAAgB,YAAW,OAAO;IAChE,IAAI,oBAAsB;IAE1B,OAAO,CAAC,WAAW,CAAwE;gBAE/E,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ;IAItF,UAAU,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC;IAOhF,YAAY;IAIN,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB9E,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;CAgD/D"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as Identity from '@0xsequence/identity-instrument';
|
|
2
|
+
import { Kinds } from '../types/signer.js';
|
|
3
|
+
import { IdentityHandler } from './identity.js';
|
|
4
|
+
export class OtpHandler extends IdentityHandler {
|
|
5
|
+
kind = Kinds.LoginEmailOtp;
|
|
6
|
+
onPromptOtp;
|
|
7
|
+
constructor(nitro, signatures, authKeys) {
|
|
8
|
+
super(nitro, authKeys, signatures, Identity.IdentityType.Email);
|
|
9
|
+
}
|
|
10
|
+
registerUI(onPromptOtp) {
|
|
11
|
+
this.onPromptOtp = onPromptOtp;
|
|
12
|
+
return () => {
|
|
13
|
+
this.onPromptOtp = undefined;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
unregisterUI() {
|
|
17
|
+
this.onPromptOtp = undefined;
|
|
18
|
+
}
|
|
19
|
+
async getSigner(email) {
|
|
20
|
+
const onPromptOtp = this.onPromptOtp;
|
|
21
|
+
if (!onPromptOtp) {
|
|
22
|
+
throw new Error('otp-handler-ui-not-registered');
|
|
23
|
+
}
|
|
24
|
+
const challenge = Identity.OtpChallenge.fromRecipient(this.identityType, email);
|
|
25
|
+
const { loginHint, challenge: codeChallenge } = await this.nitroCommitVerifier(challenge);
|
|
26
|
+
return new Promise(async (resolve, reject) => {
|
|
27
|
+
const respond = async (otp) => {
|
|
28
|
+
try {
|
|
29
|
+
const signer = await this.nitroCompleteAuth(challenge.withAnswer(codeChallenge, otp));
|
|
30
|
+
resolve(signer);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
await onPromptOtp(loginHint, respond);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async status(address, _imageHash, request) {
|
|
40
|
+
const onPromptOtp = this.onPromptOtp;
|
|
41
|
+
if (!onPromptOtp) {
|
|
42
|
+
return {
|
|
43
|
+
address,
|
|
44
|
+
handler: this,
|
|
45
|
+
reason: 'ui-not-registered',
|
|
46
|
+
status: 'unavailable',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const signer = await this.getAuthKeySigner(address);
|
|
50
|
+
if (signer) {
|
|
51
|
+
return {
|
|
52
|
+
address,
|
|
53
|
+
handler: this,
|
|
54
|
+
status: 'ready',
|
|
55
|
+
handle: async () => {
|
|
56
|
+
await this.sign(signer, request);
|
|
57
|
+
return true;
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
address,
|
|
63
|
+
handler: this,
|
|
64
|
+
status: 'actionable',
|
|
65
|
+
message: 'request-otp',
|
|
66
|
+
handle: () => new Promise(async (resolve, reject) => {
|
|
67
|
+
const challenge = Identity.OtpChallenge.fromSigner(this.identityType, address);
|
|
68
|
+
const { loginHint, challenge: codeChallenge } = await this.nitroCommitVerifier(challenge);
|
|
69
|
+
const respond = async (otp) => {
|
|
70
|
+
try {
|
|
71
|
+
await this.nitroCompleteAuth(challenge.withAnswer(codeChallenge, otp));
|
|
72
|
+
resolve(true);
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
resolve(false);
|
|
76
|
+
throw e;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
await onPromptOtp(loginHint, respond);
|
|
80
|
+
}),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { State } from '@0xsequence/wallet-core';
|
|
2
|
+
import { Address, Hex } from 'ox';
|
|
3
|
+
import { Signatures } from '../signatures.js';
|
|
4
|
+
import { Extensions } from '@0xsequence/wallet-primitives';
|
|
5
|
+
import { Handler } from './handler.js';
|
|
6
|
+
import { SignerActionable, SignerUnavailable, BaseSignatureRequest } from '../types/index.js';
|
|
7
|
+
export declare class PasskeysHandler implements Handler {
|
|
8
|
+
private readonly signatures;
|
|
9
|
+
private readonly extensions;
|
|
10
|
+
private readonly stateReader;
|
|
11
|
+
kind: "login-passkey";
|
|
12
|
+
constructor(signatures: Signatures, extensions: Pick<Extensions.Extensions, 'passkeys'>, stateReader: State.Reader);
|
|
13
|
+
onStatusChange(cb: () => void): () => void;
|
|
14
|
+
private loadPasskey;
|
|
15
|
+
status(address: Address.Address, imageHash: Hex.Hex | undefined, request: BaseSignatureRequest): Promise<SignerActionable | SignerUnavailable>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=passkeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7F,qBAAa,eAAgB,YAAW,OAAO;IAI3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAL9B,IAAI,kBAAqB;gBAGN,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,WAAW,EAAE,KAAK,CAAC,MAAM;IAG5C,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;YAI5B,WAAW;IASnB,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;CAiDjD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Signers } from '@0xsequence/wallet-core';
|
|
2
|
+
import { Kinds } from '../types/signer.js';
|
|
3
|
+
export class PasskeysHandler {
|
|
4
|
+
signatures;
|
|
5
|
+
extensions;
|
|
6
|
+
stateReader;
|
|
7
|
+
kind = Kinds.LoginPasskey;
|
|
8
|
+
constructor(signatures, extensions, stateReader) {
|
|
9
|
+
this.signatures = signatures;
|
|
10
|
+
this.extensions = extensions;
|
|
11
|
+
this.stateReader = stateReader;
|
|
12
|
+
}
|
|
13
|
+
onStatusChange(cb) {
|
|
14
|
+
return () => { };
|
|
15
|
+
}
|
|
16
|
+
async loadPasskey(wallet, imageHash) {
|
|
17
|
+
try {
|
|
18
|
+
return await Signers.Passkey.Passkey.loadFromWitness(this.stateReader, this.extensions, wallet, imageHash);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
console.warn('Failed to load passkey:', e);
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async status(address, imageHash, request) {
|
|
26
|
+
const base = { address, imageHash, handler: this };
|
|
27
|
+
if (address !== this.extensions.passkeys) {
|
|
28
|
+
console.warn('PasskeySigner: status address does not match passkey module address', address, this.extensions.passkeys);
|
|
29
|
+
const status = {
|
|
30
|
+
...base,
|
|
31
|
+
status: 'unavailable',
|
|
32
|
+
reason: 'unknown-error',
|
|
33
|
+
};
|
|
34
|
+
return status;
|
|
35
|
+
}
|
|
36
|
+
const passkey = imageHash && (await this.loadPasskey(request.envelope.wallet, imageHash));
|
|
37
|
+
if (!passkey) {
|
|
38
|
+
console.warn('PasskeySigner: status failed to load passkey', address, imageHash);
|
|
39
|
+
const status = {
|
|
40
|
+
...base,
|
|
41
|
+
status: 'unavailable',
|
|
42
|
+
reason: 'unknown-error',
|
|
43
|
+
};
|
|
44
|
+
return status;
|
|
45
|
+
}
|
|
46
|
+
const status = {
|
|
47
|
+
...base,
|
|
48
|
+
status: 'actionable',
|
|
49
|
+
message: 'request-interaction-with-passkey',
|
|
50
|
+
imageHash: imageHash,
|
|
51
|
+
handle: async () => {
|
|
52
|
+
const signature = await passkey.signSapient(request.envelope.wallet, request.envelope.chainId, request.envelope.payload, imageHash);
|
|
53
|
+
await this.signatures.addSignature(request.id, {
|
|
54
|
+
address,
|
|
55
|
+
imageHash,
|
|
56
|
+
signature,
|
|
57
|
+
});
|
|
58
|
+
return true;
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
return status;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Address } from 'ox/Address';
|
|
2
|
+
import { BaseSignatureRequest, SignerUnavailable, SignerReady, SignerActionable } from '../types/index.js';
|
|
3
|
+
import { Handler } from './handler.js';
|
|
4
|
+
import { Recovery } from '../recovery.js';
|
|
5
|
+
import { Hex } from 'ox';
|
|
6
|
+
import { Signatures } from '../signatures.js';
|
|
7
|
+
export declare class RecoveryHandler implements Handler {
|
|
8
|
+
private readonly signatures;
|
|
9
|
+
readonly recovery: Recovery;
|
|
10
|
+
kind: "recovery-extension";
|
|
11
|
+
constructor(signatures: Signatures, recovery: Recovery);
|
|
12
|
+
onStatusChange(cb: () => void): () => void;
|
|
13
|
+
status(address: Address, imageHash: Hex.Hex | undefined, request: BaseSignatureRequest): Promise<SignerUnavailable | SignerReady | SignerActionable>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAS,MAAM,mBAAmB,CAAA;AACjH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,qBAAa,eAAgB,YAAW,OAAO;IAI3C,OAAO,CAAC,QAAQ,CAAC,UAAU;aACX,QAAQ,EAAE,QAAQ;IAJpC,IAAI,uBAAiB;gBAGF,UAAU,EAAE,UAAU,EACvB,QAAQ,EAAE,QAAQ;IAGpC,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIpC,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;CA+D/D"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Kinds } from '../types/index.js';
|
|
2
|
+
import { Payload } from '@0xsequence/wallet-primitives';
|
|
3
|
+
import { Hex } from 'ox';
|
|
4
|
+
export class RecoveryHandler {
|
|
5
|
+
signatures;
|
|
6
|
+
recovery;
|
|
7
|
+
kind = Kinds.Recovery;
|
|
8
|
+
constructor(signatures, recovery) {
|
|
9
|
+
this.signatures = signatures;
|
|
10
|
+
this.recovery = recovery;
|
|
11
|
+
}
|
|
12
|
+
onStatusChange(cb) {
|
|
13
|
+
return this.recovery.onQueuedRecoveryPayloadsUpdate(undefined, cb);
|
|
14
|
+
}
|
|
15
|
+
async status(address, imageHash, request) {
|
|
16
|
+
const queued = await this.recovery.getQueuedRecoveryPayloads(request.wallet);
|
|
17
|
+
// If there is no queued payload for this request then we are unavailable
|
|
18
|
+
const requestHash = Hex.fromBytes(Payload.hash(request.envelope.wallet, request.envelope.chainId, request.envelope.payload));
|
|
19
|
+
const found = queued.find((p) => p.payloadHash === requestHash);
|
|
20
|
+
if (!found) {
|
|
21
|
+
return {
|
|
22
|
+
address: request.wallet,
|
|
23
|
+
handler: this,
|
|
24
|
+
status: 'unavailable',
|
|
25
|
+
reason: 'no-recovery-payload-queued',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (!imageHash) {
|
|
29
|
+
return {
|
|
30
|
+
address: request.wallet,
|
|
31
|
+
handler: this,
|
|
32
|
+
status: 'unavailable',
|
|
33
|
+
reason: 'no-image-hash',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (found.endTimestamp > Date.now() / 1000) {
|
|
37
|
+
return {
|
|
38
|
+
address: request.wallet,
|
|
39
|
+
handler: this,
|
|
40
|
+
status: 'unavailable',
|
|
41
|
+
reason: 'timelock-not-met',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const signature = await this.recovery.encodeRecoverySignature(imageHash, found.signer);
|
|
46
|
+
return {
|
|
47
|
+
address: request.wallet,
|
|
48
|
+
handler: this,
|
|
49
|
+
status: 'ready',
|
|
50
|
+
handle: async () => {
|
|
51
|
+
this.signatures.addSignature(request.id, {
|
|
52
|
+
imageHash,
|
|
53
|
+
signature: {
|
|
54
|
+
address,
|
|
55
|
+
data: Hex.fromBytes(signature),
|
|
56
|
+
type: 'sapient_compact',
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
return true;
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
return {
|
|
65
|
+
address: request.wallet,
|
|
66
|
+
handler: this,
|
|
67
|
+
status: 'unavailable',
|
|
68
|
+
reason: 'failed-to-encode-recovery-signature',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Network } from '@0xsequence/wallet-primitives';
|
|
2
|
+
export { Network as Networks };
|
|
3
|
+
export type { ManagerOptions, Databases, Sequence, Modules, Shared } from './manager.js';
|
|
4
|
+
export { ManagerOptionsDefaults, CreateWalletOptionsDefaults, applyManagerOptionsDefaults, Manager } from './manager.js';
|
|
5
|
+
export { Sessions } from './sessions.js';
|
|
6
|
+
export { Signatures } from './signatures.js';
|
|
7
|
+
export type { StartSignUpWithRedirectArgs, CommonSignupArgs, PasskeySignupArgs, MnemonicSignupArgs, EmailOtpSignupArgs, CompleteRedirectArgs, SignupArgs, LoginToWalletArgs, LoginToMnemonicArgs, LoginToPasskeyArgs, LoginArgs, } from './wallets.js';
|
|
8
|
+
export { isLoginToWalletArgs, isLoginToMnemonicArgs, isLoginToPasskeyArgs, Wallets } from './wallets.js';
|
|
9
|
+
export * from './types/index.js';
|
|
10
|
+
import * as Handlers from './handlers/index.js';
|
|
11
|
+
export { Handlers };
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sequence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACxH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAExG,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Network } from '@0xsequence/wallet-primitives';
|
|
2
|
+
export { Network as Networks };
|
|
3
|
+
export { ManagerOptionsDefaults, CreateWalletOptionsDefaults, applyManagerOptionsDefaults, Manager } from './manager.js';
|
|
4
|
+
export { Sessions } from './sessions.js';
|
|
5
|
+
export { Signatures } from './signatures.js';
|
|
6
|
+
export { isLoginToWalletArgs, isLoginToMnemonicArgs, isLoginToPasskeyArgs, Wallets } from './wallets.js';
|
|
7
|
+
export * from './types/index.js';
|
|
8
|
+
import * as Handlers from './handlers/index.js';
|
|
9
|
+
export { Handlers };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/sequence/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAKnB"}
|