@emblemvault/auth-sdk 2.0.0
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/LICENSE +21 -0
- package/README.md +180 -0
- package/dist/EmblemAuthSDK.d.ts +150 -0
- package/dist/EmblemAuthSDK.d.ts.map +1 -0
- package/dist/SessionManager.d.ts +57 -0
- package/dist/SessionManager.d.ts.map +1 -0
- package/dist/emblem-auth.min.js +15 -0
- package/dist/emblem-auth.min.js.map +1 -0
- package/dist/emblem-auth.umd.js +15 -0
- package/dist/emblem-auth.umd.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/signers/ethers.d.ts +20 -0
- package/dist/signers/ethers.d.ts.map +1 -0
- package/dist/signers/ethers.js +2 -0
- package/dist/signers/ethers.js.map +1 -0
- package/dist/signers/ethers.mjs +2 -0
- package/dist/signers/ethers.mjs.map +1 -0
- package/dist/signers/http.d.ts +4 -0
- package/dist/signers/http.d.ts.map +1 -0
- package/dist/signers/index.d.ts +9 -0
- package/dist/signers/index.d.ts.map +1 -0
- package/dist/signers/index.js +2 -0
- package/dist/signers/index.js.map +1 -0
- package/dist/signers/index.mjs +2 -0
- package/dist/signers/index.mjs.map +1 -0
- package/dist/signers/solana.d.ts +32 -0
- package/dist/signers/solana.d.ts.map +1 -0
- package/dist/signers/solana.js +2 -0
- package/dist/signers/solana.js.map +1 -0
- package/dist/signers/solana.mjs +2 -0
- package/dist/signers/solana.mjs.map +1 -0
- package/dist/signers/utils.d.ts +10 -0
- package/dist/signers/utils.d.ts.map +1 -0
- package/dist/signers/validation.d.ts +43 -0
- package/dist/signers/validation.d.ts.map +1 -0
- package/dist/signers/vault.d.ts +3 -0
- package/dist/signers/vault.d.ts.map +1 -0
- package/dist/signers/viem.d.ts +15 -0
- package/dist/signers/viem.d.ts.map +1 -0
- package/dist/signers/viem.js +2 -0
- package/dist/signers/viem.js.map +1 -0
- package/dist/signers/viem.mjs +2 -0
- package/dist/signers/viem.mjs.map +1 -0
- package/dist/signers/web3.d.ts +13 -0
- package/dist/signers/web3.d.ts.map +1 -0
- package/dist/signers/web3.js +2 -0
- package/dist/signers/web3.js.map +1 -0
- package/dist/signers/web3.mjs +2 -0
- package/dist/signers/web3.mjs.map +1 -0
- package/dist/types/auth.d.ts +96 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/config.d.ts +43 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/events.d.ts +27 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/session.d.ts +63 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/signers.d.ts +37 -0
- package/dist/types/signers.d.ts.map +1 -0
- package/package.json +145 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface AuthUser {
|
|
2
|
+
/**
|
|
3
|
+
* User identifier (e.g., "ethereum:0x...", "solana:...", "twitter:...")
|
|
4
|
+
*/
|
|
5
|
+
identifier: string;
|
|
6
|
+
/**
|
|
7
|
+
* Emblem Vault tokenId
|
|
8
|
+
*/
|
|
9
|
+
vaultId: string;
|
|
10
|
+
/**
|
|
11
|
+
* EVM address if available
|
|
12
|
+
*/
|
|
13
|
+
evmAddress?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Solana address if available
|
|
16
|
+
*/
|
|
17
|
+
solanaAddress?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether this is a guest session (fingerprint auth)
|
|
20
|
+
*/
|
|
21
|
+
isGuest?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface AuthSession {
|
|
24
|
+
/**
|
|
25
|
+
* User information
|
|
26
|
+
*/
|
|
27
|
+
user: AuthUser;
|
|
28
|
+
/**
|
|
29
|
+
* JWT access token for API calls
|
|
30
|
+
*/
|
|
31
|
+
authToken: string;
|
|
32
|
+
/**
|
|
33
|
+
* Refresh token for obtaining new access tokens
|
|
34
|
+
*/
|
|
35
|
+
refreshToken?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Token expiration timestamp (milliseconds)
|
|
38
|
+
*/
|
|
39
|
+
expiresAt: number;
|
|
40
|
+
/**
|
|
41
|
+
* Application ID this session is scoped to
|
|
42
|
+
*/
|
|
43
|
+
appId: string;
|
|
44
|
+
/**
|
|
45
|
+
* OAuth scopes granted
|
|
46
|
+
*/
|
|
47
|
+
scope?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Authentication method used (wallet, oauth, fingerprint, email)
|
|
50
|
+
*/
|
|
51
|
+
authType?: 'wallet' | 'oauth' | 'fingerprint' | 'email';
|
|
52
|
+
}
|
|
53
|
+
export interface SessionRefreshInfo {
|
|
54
|
+
/**
|
|
55
|
+
* Time until refresh in milliseconds
|
|
56
|
+
*/
|
|
57
|
+
inMs: number;
|
|
58
|
+
/**
|
|
59
|
+
* Total time to live in milliseconds
|
|
60
|
+
*/
|
|
61
|
+
ttl: number;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CAAC;CACzD;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hex string type with 0x prefix
|
|
3
|
+
*/
|
|
4
|
+
export type Hex = `0x${string}`;
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for signer adapters
|
|
7
|
+
* Used internally when SDK methods create signers
|
|
8
|
+
*/
|
|
9
|
+
export interface SignerConfig {
|
|
10
|
+
/** x-api-key for authenticate middleware (optional when JWT provided) */
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
/** Static JWT to send as Authorization: Bearer */
|
|
13
|
+
jwt?: string;
|
|
14
|
+
/** Lazy JWT provider */
|
|
15
|
+
getJwt?: () => Promise<string | null | undefined> | string | null | undefined;
|
|
16
|
+
/** Custom headers provider (e.g., Authorization) */
|
|
17
|
+
getAuthHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
|
|
18
|
+
/** SDK-like object exposing getSession() that returns { authToken? } */
|
|
19
|
+
sdk?: {
|
|
20
|
+
getSession: () => {
|
|
21
|
+
authToken?: string | null | undefined;
|
|
22
|
+
} | null | undefined;
|
|
23
|
+
};
|
|
24
|
+
/** Base URL for the Emblem signer API */
|
|
25
|
+
baseUrl?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Internal vault info used by signers
|
|
29
|
+
*/
|
|
30
|
+
export interface SignerVaultInfo {
|
|
31
|
+
vaultId: string;
|
|
32
|
+
tokenId?: string;
|
|
33
|
+
address: string;
|
|
34
|
+
evmAddress: Hex;
|
|
35
|
+
created_by?: string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=signers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signers.d.ts","sourceRoot":"","sources":["../../src/types/signers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;AAEhC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9E,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,wEAAwE;IACxE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM;YAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;SAAE,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAC;IACzF,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@emblemvault/auth-sdk",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Official TypeScript SDK for Emblem Vault authentication and signing",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.mjs",
|
|
13
|
+
"require": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./signers": {
|
|
16
|
+
"types": "./dist/signers/index.d.ts",
|
|
17
|
+
"import": "./dist/signers/index.mjs",
|
|
18
|
+
"require": "./dist/signers/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./signers/viem": {
|
|
21
|
+
"types": "./dist/signers/viem.d.ts",
|
|
22
|
+
"import": "./dist/signers/viem.mjs",
|
|
23
|
+
"require": "./dist/signers/viem.js"
|
|
24
|
+
},
|
|
25
|
+
"./signers/ethers": {
|
|
26
|
+
"types": "./dist/signers/ethers.d.ts",
|
|
27
|
+
"import": "./dist/signers/ethers.mjs",
|
|
28
|
+
"require": "./dist/signers/ethers.js"
|
|
29
|
+
},
|
|
30
|
+
"./signers/solana": {
|
|
31
|
+
"types": "./dist/signers/solana.d.ts",
|
|
32
|
+
"import": "./dist/signers/solana.mjs",
|
|
33
|
+
"require": "./dist/signers/solana.js"
|
|
34
|
+
},
|
|
35
|
+
"./signers/web3": {
|
|
36
|
+
"types": "./dist/signers/web3.d.ts",
|
|
37
|
+
"import": "./dist/signers/web3.mjs",
|
|
38
|
+
"require": "./dist/signers/web3.js"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"README.md",
|
|
44
|
+
"LICENSE"
|
|
45
|
+
],
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "npm run clean && npm run build:types && npm run build:rollup",
|
|
48
|
+
"build:types": "tsc --emitDeclarationOnly",
|
|
49
|
+
"build:rollup": "rollup -c",
|
|
50
|
+
"clean": "rm -rf dist",
|
|
51
|
+
"dev": "rollup -c -w",
|
|
52
|
+
"demo": "node demo/server.js",
|
|
53
|
+
"demo:build": "npm run build && npm run demo",
|
|
54
|
+
"test": "vitest",
|
|
55
|
+
"test:run": "vitest run",
|
|
56
|
+
"test:coverage": "vitest run --coverage",
|
|
57
|
+
"test:integration": "vitest -c vitest.int.config.mts run --reporter=verbose",
|
|
58
|
+
"lint": "eslint 'src/**/*.ts' 'tests/**/*.ts'",
|
|
59
|
+
"lint:fix": "eslint 'src/**/*.ts' 'tests/**/*.ts' --fix",
|
|
60
|
+
"format": "prettier --write 'src/**/*.ts' 'tests/**/*.ts'",
|
|
61
|
+
"format:check": "prettier --check 'src/**/*.ts' 'tests/**/*.ts'",
|
|
62
|
+
"prepublishOnly": "npm run build",
|
|
63
|
+
"version:patch": "npm version patch",
|
|
64
|
+
"version:minor": "npm version minor",
|
|
65
|
+
"version:major": "npm version major",
|
|
66
|
+
"version:prerelease": "npm version prerelease --preid=alpha"
|
|
67
|
+
},
|
|
68
|
+
"keywords": [
|
|
69
|
+
"emblem",
|
|
70
|
+
"vault",
|
|
71
|
+
"authentication",
|
|
72
|
+
"wallet",
|
|
73
|
+
"web3",
|
|
74
|
+
"ethereum",
|
|
75
|
+
"solana",
|
|
76
|
+
"viem",
|
|
77
|
+
"ethers",
|
|
78
|
+
"signer",
|
|
79
|
+
"oauth",
|
|
80
|
+
"sdk",
|
|
81
|
+
"typescript"
|
|
82
|
+
],
|
|
83
|
+
"author": "Emblem Vault",
|
|
84
|
+
"license": "MIT",
|
|
85
|
+
"repository": {
|
|
86
|
+
"type": "git",
|
|
87
|
+
"url": "https://github.com/emblemvault/auth-sdk.git"
|
|
88
|
+
},
|
|
89
|
+
"bugs": {
|
|
90
|
+
"url": "https://github.com/emblemvault/auth-sdk/issues"
|
|
91
|
+
},
|
|
92
|
+
"homepage": "https://github.com/emblemvault/auth-sdk#readme",
|
|
93
|
+
"publishConfig": {
|
|
94
|
+
"access": "public"
|
|
95
|
+
},
|
|
96
|
+
"engines": {
|
|
97
|
+
"node": ">=16.0.0"
|
|
98
|
+
},
|
|
99
|
+
"peerDependencies": {
|
|
100
|
+
"@solana/web3.js": "^1.0.0",
|
|
101
|
+
"ethers": ">=5.0.0 || >=6.0.0",
|
|
102
|
+
"viem": "^2.0.0"
|
|
103
|
+
},
|
|
104
|
+
"peerDependenciesMeta": {
|
|
105
|
+
"ethers": {
|
|
106
|
+
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"viem": {
|
|
109
|
+
"optional": true
|
|
110
|
+
},
|
|
111
|
+
"@solana/web3.js": {
|
|
112
|
+
"optional": true
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"devDependencies": {
|
|
116
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
117
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
118
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
119
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
120
|
+
"@types/jest": "^30.0.0",
|
|
121
|
+
"@types/node": "^24.10.1",
|
|
122
|
+
"@typescript-eslint/eslint-plugin": "^8.46.4",
|
|
123
|
+
"@typescript-eslint/parser": "^8.46.4",
|
|
124
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
125
|
+
"bs58": "^6.0.0",
|
|
126
|
+
"dotenv": "^17.2.3",
|
|
127
|
+
"eslint": "^8.57.1",
|
|
128
|
+
"eslint-config-prettier": "^10.1.8",
|
|
129
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
130
|
+
"ethers": "^6.16.0",
|
|
131
|
+
"happy-dom": "^20.0.11",
|
|
132
|
+
"jest": "^29.7.0",
|
|
133
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
134
|
+
"jsdom": "^27.4.0",
|
|
135
|
+
"prettier": "^3.6.2",
|
|
136
|
+
"rollup": "^2.79.2",
|
|
137
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
138
|
+
"ts-jest": "^29.4.5",
|
|
139
|
+
"tslib": "^2.8.1",
|
|
140
|
+
"tweetnacl": "^1.0.3",
|
|
141
|
+
"typescript": "^5.9.3",
|
|
142
|
+
"viem": "^2.0.0",
|
|
143
|
+
"vitest": "^4.0.16"
|
|
144
|
+
}
|
|
145
|
+
}
|