@haneullabs/enoki 0.1.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/CHANGELOG.md +1109 -0
- package/README.md +1 -0
- package/dist/cjs/EnokiClient/index.d.ts +36 -0
- package/dist/cjs/EnokiClient/index.js +196 -0
- package/dist/cjs/EnokiClient/index.js.map +7 -0
- package/dist/cjs/EnokiClient/type.d.ts +119 -0
- package/dist/cjs/EnokiClient/type.js +17 -0
- package/dist/cjs/EnokiClient/type.js.map +7 -0
- package/dist/cjs/EnokiFlow.d.ts +74 -0
- package/dist/cjs/EnokiFlow.js +279 -0
- package/dist/cjs/EnokiFlow.js.map +7 -0
- package/dist/cjs/EnokiKeypair.d.ts +20 -0
- package/dist/cjs/EnokiKeypair.js +87 -0
- package/dist/cjs/EnokiKeypair.js.map +7 -0
- package/dist/cjs/encryption.d.ts +15 -0
- package/dist/cjs/encryption.js +96 -0
- package/dist/cjs/encryption.js.map +7 -0
- package/dist/cjs/index.d.ts +12 -0
- package/dist/cjs/index.js +50 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/react.d.ts +20 -0
- package/dist/cjs/react.js +76 -0
- package/dist/cjs/react.js.map +7 -0
- package/dist/cjs/stores.d.ts +21 -0
- package/dist/cjs/stores.js +67 -0
- package/dist/cjs/stores.js.map +7 -0
- package/dist/cjs/utils.d.ts +2 -0
- package/dist/cjs/utils.js +27 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/cjs/wallet/features.d.ts +50 -0
- package/dist/cjs/wallet/features.js +27 -0
- package/dist/cjs/wallet/features.js.map +7 -0
- package/dist/cjs/wallet/initializer.d.ts +11 -0
- package/dist/cjs/wallet/initializer.js +41 -0
- package/dist/cjs/wallet/initializer.js.map +7 -0
- package/dist/cjs/wallet/providers.d.ts +7 -0
- package/dist/cjs/wallet/providers.js +51 -0
- package/dist/cjs/wallet/providers.js.map +7 -0
- package/dist/cjs/wallet/register.d.ts +7 -0
- package/dist/cjs/wallet/register.js +68 -0
- package/dist/cjs/wallet/register.js.map +7 -0
- package/dist/cjs/wallet/state.d.ts +18 -0
- package/dist/cjs/wallet/state.js +142 -0
- package/dist/cjs/wallet/state.js.map +7 -0
- package/dist/cjs/wallet/types.d.ts +82 -0
- package/dist/cjs/wallet/types.js +17 -0
- package/dist/cjs/wallet/types.js.map +7 -0
- package/dist/cjs/wallet/utils.d.ts +11 -0
- package/dist/cjs/wallet/utils.js +83 -0
- package/dist/cjs/wallet/utils.js.map +7 -0
- package/dist/cjs/wallet/wallet.d.ts +16 -0
- package/dist/cjs/wallet/wallet.js +466 -0
- package/dist/cjs/wallet/wallet.js.map +7 -0
- package/dist/esm/EnokiClient/index.d.ts +36 -0
- package/dist/esm/EnokiClient/index.js +176 -0
- package/dist/esm/EnokiClient/index.js.map +7 -0
- package/dist/esm/EnokiClient/type.d.ts +119 -0
- package/dist/esm/EnokiClient/type.js +1 -0
- package/dist/esm/EnokiClient/type.js.map +7 -0
- package/dist/esm/EnokiFlow.d.ts +74 -0
- package/dist/esm/EnokiFlow.js +259 -0
- package/dist/esm/EnokiFlow.js.map +7 -0
- package/dist/esm/EnokiKeypair.d.ts +20 -0
- package/dist/esm/EnokiKeypair.js +67 -0
- package/dist/esm/EnokiKeypair.js.map +7 -0
- package/dist/esm/encryption.d.ts +15 -0
- package/dist/esm/encryption.js +76 -0
- package/dist/esm/encryption.js.map +7 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.js +41 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/react.d.ts +20 -0
- package/dist/esm/react.js +56 -0
- package/dist/esm/react.js.map +7 -0
- package/dist/esm/stores.d.ts +21 -0
- package/dist/esm/stores.js +47 -0
- package/dist/esm/stores.js.map +7 -0
- package/dist/esm/utils.d.ts +2 -0
- package/dist/esm/utils.js +7 -0
- package/dist/esm/utils.js.map +7 -0
- package/dist/esm/wallet/features.d.ts +50 -0
- package/dist/esm/wallet/features.js +7 -0
- package/dist/esm/wallet/features.js.map +7 -0
- package/dist/esm/wallet/initializer.d.ts +11 -0
- package/dist/esm/wallet/initializer.js +21 -0
- package/dist/esm/wallet/initializer.js.map +7 -0
- package/dist/esm/wallet/providers.d.ts +7 -0
- package/dist/esm/wallet/providers.js +31 -0
- package/dist/esm/wallet/providers.js.map +7 -0
- package/dist/esm/wallet/register.d.ts +7 -0
- package/dist/esm/wallet/register.js +48 -0
- package/dist/esm/wallet/register.js.map +7 -0
- package/dist/esm/wallet/state.d.ts +18 -0
- package/dist/esm/wallet/state.js +122 -0
- package/dist/esm/wallet/state.js.map +7 -0
- package/dist/esm/wallet/types.d.ts +82 -0
- package/dist/esm/wallet/types.js +1 -0
- package/dist/esm/wallet/types.js.map +7 -0
- package/dist/esm/wallet/utils.d.ts +11 -0
- package/dist/esm/wallet/utils.js +63 -0
- package/dist/esm/wallet/utils.js.map +7 -0
- package/dist/esm/wallet/wallet.d.ts +16 -0
- package/dist/esm/wallet/wallet.js +444 -0
- package/dist/esm/wallet/wallet.js.map +7 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +80 -0
- package/react/package.json +5 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { EnokiFlowConfig } from './EnokiFlow.js';
|
|
3
|
+
import { EnokiFlow } from './EnokiFlow.js';
|
|
4
|
+
/** @deprecated use `registerEnokiWallets` instead */
|
|
5
|
+
export type EnokiFlowProviderProps = EnokiFlowConfig & {
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
/** @deprecated use `registerEnokiWallets` instead */
|
|
9
|
+
export declare function EnokiFlowProvider({ children, ...config }: EnokiFlowProviderProps): import("react/jsx-runtime.js").JSX.Element;
|
|
10
|
+
/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */
|
|
11
|
+
export declare function useEnokiFlow(): EnokiFlow;
|
|
12
|
+
/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */
|
|
13
|
+
export declare function useZkLogin(): import("./EnokiFlow.js").ZkLoginState;
|
|
14
|
+
/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */
|
|
15
|
+
export declare function useZkLoginSession(): import("./EnokiFlow.js").ZkLoginSession | null;
|
|
16
|
+
/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */
|
|
17
|
+
export declare function useAuthCallback(): {
|
|
18
|
+
handled: boolean;
|
|
19
|
+
state: string | null;
|
|
20
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var react_exports = {};
|
|
20
|
+
__export(react_exports, {
|
|
21
|
+
EnokiFlowProvider: () => EnokiFlowProvider,
|
|
22
|
+
useAuthCallback: () => useAuthCallback,
|
|
23
|
+
useEnokiFlow: () => useEnokiFlow,
|
|
24
|
+
useZkLogin: () => useZkLogin,
|
|
25
|
+
useZkLoginSession: () => useZkLoginSession
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(react_exports);
|
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
+
var import_react = require("@nanostores/react");
|
|
30
|
+
var import_react2 = require("react");
|
|
31
|
+
var import_EnokiFlow = require("./EnokiFlow.js");
|
|
32
|
+
const EnokiFlowContext = (0, import_react2.createContext)(null);
|
|
33
|
+
function EnokiFlowProvider({ children, ...config }) {
|
|
34
|
+
const [enokiFlow] = (0, import_react2.useState)(() => new import_EnokiFlow.EnokiFlow(config));
|
|
35
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnokiFlowContext.Provider, { value: enokiFlow, children });
|
|
36
|
+
}
|
|
37
|
+
function useEnokiFlow() {
|
|
38
|
+
const context = (0, import_react2.useContext)(EnokiFlowContext);
|
|
39
|
+
if (!context) {
|
|
40
|
+
throw new Error("Missing `EnokiFlowContext` provider");
|
|
41
|
+
}
|
|
42
|
+
return context;
|
|
43
|
+
}
|
|
44
|
+
function useZkLogin() {
|
|
45
|
+
const flow = useEnokiFlow();
|
|
46
|
+
return (0, import_react.useStore)(flow.$zkLoginState);
|
|
47
|
+
}
|
|
48
|
+
function useZkLoginSession() {
|
|
49
|
+
const flow = useEnokiFlow();
|
|
50
|
+
return (0, import_react.useStore)(flow.$zkLoginSession).value;
|
|
51
|
+
}
|
|
52
|
+
function useAuthCallback() {
|
|
53
|
+
const flow = useEnokiFlow();
|
|
54
|
+
const [state, setState] = (0, import_react2.useState)(null);
|
|
55
|
+
const [handled, setHandled] = (0, import_react2.useState)(false);
|
|
56
|
+
const [hash, setHash] = (0, import_react2.useState)(null);
|
|
57
|
+
(0, import_react2.useEffect)(() => {
|
|
58
|
+
const listener = () => setHash(window.location.hash.slice(1).trim());
|
|
59
|
+
listener();
|
|
60
|
+
window.addEventListener("hashchange", listener);
|
|
61
|
+
return () => window.removeEventListener("hashchange", listener);
|
|
62
|
+
}, []);
|
|
63
|
+
(0, import_react2.useEffect)(() => {
|
|
64
|
+
if (!hash) return;
|
|
65
|
+
(async () => {
|
|
66
|
+
try {
|
|
67
|
+
setState(await flow.handleAuthCallback(hash));
|
|
68
|
+
window.location.hash = "";
|
|
69
|
+
} finally {
|
|
70
|
+
setHandled(true);
|
|
71
|
+
}
|
|
72
|
+
})();
|
|
73
|
+
}, [hash, flow]);
|
|
74
|
+
return { handled, state };
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/react.tsx"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useStore } from '@nanostores/react';\nimport type { ReactNode } from 'react';\nimport { createContext, useContext, useEffect, useState } from 'react';\n\nimport type { EnokiFlowConfig } from './EnokiFlow.js';\nimport { EnokiFlow } from './EnokiFlow.js';\n\nconst EnokiFlowContext = createContext<EnokiFlow | null>(null);\n\n/** @deprecated use `registerEnokiWallets` instead */\nexport type EnokiFlowProviderProps = EnokiFlowConfig & {\n\tchildren: ReactNode;\n};\n\n/** @deprecated use `registerEnokiWallets` instead */\nexport function EnokiFlowProvider({ children, ...config }: EnokiFlowProviderProps) {\n\tconst [enokiFlow] = useState(() => new EnokiFlow(config));\n\treturn <EnokiFlowContext.Provider value={enokiFlow}>{children}</EnokiFlowContext.Provider>;\n}\n\n/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */\nexport function useEnokiFlow() {\n\tconst context = useContext(EnokiFlowContext);\n\tif (!context) {\n\t\tthrow new Error('Missing `EnokiFlowContext` provider');\n\t}\n\treturn context;\n}\n\n/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */\nexport function useZkLogin() {\n\tconst flow = useEnokiFlow();\n\treturn useStore(flow.$zkLoginState);\n}\n\n/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */\nexport function useZkLoginSession() {\n\tconst flow = useEnokiFlow();\n\treturn useStore(flow.$zkLoginSession).value;\n}\n\n/** @deprecated use `registerEnokiWallets` and dapp-kit wallet hooks instead */\nexport function useAuthCallback() {\n\tconst flow = useEnokiFlow();\n\tconst [state, setState] = useState<string | null>(null);\n\tconst [handled, setHandled] = useState(false);\n\tconst [hash, setHash] = useState<string | null>(null);\n\n\tuseEffect(() => {\n\t\tconst listener = () => setHash(window.location.hash.slice(1).trim());\n\t\tlistener();\n\n\t\twindow.addEventListener('hashchange', listener);\n\t\treturn () => window.removeEventListener('hashchange', listener);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!hash) return;\n\n\t\t// oxlint-disable @typescript-eslint/no-floating-promises\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tsetState(await flow.handleAuthCallback(hash));\n\n\t\t\t\twindow.location.hash = '';\n\t\t\t} finally {\n\t\t\t\tsetHandled(true);\n\t\t\t}\n\t\t})();\n\t}, [hash, flow]);\n\n\treturn { handled, state };\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBQ;AAjBR,mBAAyB;AAEzB,IAAAA,gBAA+D;AAG/D,uBAA0B;AAE1B,MAAM,uBAAmB,6BAAgC,IAAI;AAQtD,SAAS,kBAAkB,EAAE,UAAU,GAAG,OAAO,GAA2B;AAClF,QAAM,CAAC,SAAS,QAAI,wBAAS,MAAM,IAAI,2BAAU,MAAM,CAAC;AACxD,SAAO,4CAAC,iBAAiB,UAAjB,EAA0B,OAAO,WAAY,UAAS;AAC/D;AAGO,SAAS,eAAe;AAC9B,QAAM,cAAU,0BAAW,gBAAgB;AAC3C,MAAI,CAAC,SAAS;AACb,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD;AACA,SAAO;AACR;AAGO,SAAS,aAAa;AAC5B,QAAM,OAAO,aAAa;AAC1B,aAAO,uBAAS,KAAK,aAAa;AACnC;AAGO,SAAS,oBAAoB;AACnC,QAAM,OAAO,aAAa;AAC1B,aAAO,uBAAS,KAAK,eAAe,EAAE;AACvC;AAGO,SAAS,kBAAkB;AACjC,QAAM,OAAO,aAAa;AAC1B,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAwB,IAAI;AACtD,QAAM,CAAC,SAAS,UAAU,QAAI,wBAAS,KAAK;AAC5C,QAAM,CAAC,MAAM,OAAO,QAAI,wBAAwB,IAAI;AAEpD,+BAAU,MAAM;AACf,UAAM,WAAW,MAAM,QAAQ,OAAO,SAAS,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC;AACnE,aAAS;AAET,WAAO,iBAAiB,cAAc,QAAQ;AAC9C,WAAO,MAAM,OAAO,oBAAoB,cAAc,QAAQ;AAAA,EAC/D,GAAG,CAAC,CAAC;AAEL,+BAAU,MAAM;AACf,QAAI,CAAC,KAAM;AAGX,KAAC,YAAY;AACZ,UAAI;AACH,iBAAS,MAAM,KAAK,mBAAmB,IAAI,CAAC;AAE5C,eAAO,SAAS,OAAO;AAAA,MACxB,UAAE;AACD,mBAAW,IAAI;AAAA,MAChB;AAAA,IACD,GAAG;AAAA,EACJ,GAAG,CAAC,MAAM,IAAI,CAAC;AAEf,SAAO,EAAE,SAAS,MAAM;AACzB;",
|
|
6
|
+
"names": ["import_react"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An sync key-value store.
|
|
3
|
+
*/
|
|
4
|
+
export interface SyncStore {
|
|
5
|
+
get(key: string): string | null;
|
|
6
|
+
set(key: string, value: string): void;
|
|
7
|
+
delete(key: string): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create a storage interface backed by memory.
|
|
11
|
+
* This is generally useful for server-side rendering, and test environments.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createInMemoryStorage(): SyncStore;
|
|
14
|
+
/**
|
|
15
|
+
* Create a store backed by `localStorage`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createLocalStorage(): SyncStore;
|
|
18
|
+
/**
|
|
19
|
+
* Create a store backed by `sessionStorage`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createSessionStorage(): SyncStore;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var stores_exports = {};
|
|
20
|
+
__export(stores_exports, {
|
|
21
|
+
createInMemoryStorage: () => createInMemoryStorage,
|
|
22
|
+
createLocalStorage: () => createLocalStorage,
|
|
23
|
+
createSessionStorage: () => createSessionStorage
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(stores_exports);
|
|
26
|
+
function createWebStorage(storage) {
|
|
27
|
+
return {
|
|
28
|
+
get(key) {
|
|
29
|
+
return storage.getItem(key);
|
|
30
|
+
},
|
|
31
|
+
set(key, value) {
|
|
32
|
+
storage.setItem(key, value);
|
|
33
|
+
},
|
|
34
|
+
delete(key) {
|
|
35
|
+
storage.removeItem(key);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function createInMemoryStorage() {
|
|
40
|
+
const store = /* @__PURE__ */ new Map();
|
|
41
|
+
return {
|
|
42
|
+
get(key) {
|
|
43
|
+
return store.get(key) ?? null;
|
|
44
|
+
},
|
|
45
|
+
set(key, value) {
|
|
46
|
+
store.set(key, value);
|
|
47
|
+
},
|
|
48
|
+
delete(key) {
|
|
49
|
+
store.delete(key);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function createLocalStorage() {
|
|
54
|
+
if (typeof window === "undefined") {
|
|
55
|
+
console.warn("`window.localStorage` is not available, falling back to in-memory storage");
|
|
56
|
+
return createInMemoryStorage();
|
|
57
|
+
}
|
|
58
|
+
return createWebStorage(window.localStorage);
|
|
59
|
+
}
|
|
60
|
+
function createSessionStorage() {
|
|
61
|
+
if (typeof window === "undefined") {
|
|
62
|
+
console.warn("`window.sessionStorage` is not available, falling back to in-memory storage");
|
|
63
|
+
return createInMemoryStorage();
|
|
64
|
+
}
|
|
65
|
+
return createWebStorage(window.sessionStorage);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=stores.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/stores.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * An sync key-value store.\n */\nexport interface SyncStore {\n\tget(key: string): string | null;\n\tset(key: string, value: string): void;\n\tdelete(key: string): void;\n}\n\nfunction createWebStorage(storage: Storage): SyncStore {\n\treturn {\n\t\tget(key: string) {\n\t\t\treturn storage.getItem(key);\n\t\t},\n\t\tset(key: string, value: string) {\n\t\t\tstorage.setItem(key, value);\n\t\t},\n\t\tdelete(key: string) {\n\t\t\tstorage.removeItem(key);\n\t\t},\n\t};\n}\n\n/**\n * Create a storage interface backed by memory.\n * This is generally useful for server-side rendering, and test environments.\n */\nexport function createInMemoryStorage(): SyncStore {\n\tconst store = new Map<string, string>();\n\treturn {\n\t\tget(key) {\n\t\t\treturn store.get(key) ?? null;\n\t\t},\n\t\tset(key, value) {\n\t\t\tstore.set(key, value);\n\t\t},\n\t\tdelete(key) {\n\t\t\tstore.delete(key);\n\t\t},\n\t};\n}\n\n/**\n * Create a store backed by `localStorage`.\n */\nexport function createLocalStorage(): SyncStore {\n\tif (typeof window === 'undefined') {\n\t\tconsole.warn('`window.localStorage` is not available, falling back to in-memory storage');\n\t\treturn createInMemoryStorage();\n\t}\n\n\treturn createWebStorage(window.localStorage);\n}\n\n/**\n * Create a store backed by `sessionStorage`.\n */\nexport function createSessionStorage(): SyncStore {\n\tif (typeof window === 'undefined') {\n\t\tconsole.warn('`window.sessionStorage` is not available, falling back to in-memory storage');\n\t\treturn createInMemoryStorage();\n\t}\n\n\treturn createWebStorage(window.sessionStorage);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,SAAS,iBAAiB,SAA6B;AACtD,SAAO;AAAA,IACN,IAAI,KAAa;AAChB,aAAO,QAAQ,QAAQ,GAAG;AAAA,IAC3B;AAAA,IACA,IAAI,KAAa,OAAe;AAC/B,cAAQ,QAAQ,KAAK,KAAK;AAAA,IAC3B;AAAA,IACA,OAAO,KAAa;AACnB,cAAQ,WAAW,GAAG;AAAA,IACvB;AAAA,EACD;AACD;AAMO,SAAS,wBAAmC;AAClD,QAAM,QAAQ,oBAAI,IAAoB;AACtC,SAAO;AAAA,IACN,IAAI,KAAK;AACR,aAAO,MAAM,IAAI,GAAG,KAAK;AAAA,IAC1B;AAAA,IACA,IAAI,KAAK,OAAO;AACf,YAAM,IAAI,KAAK,KAAK;AAAA,IACrB;AAAA,IACA,OAAO,KAAK;AACX,YAAM,OAAO,GAAG;AAAA,IACjB;AAAA,EACD;AACD;AAKO,SAAS,qBAAgC;AAC/C,MAAI,OAAO,WAAW,aAAa;AAClC,YAAQ,KAAK,2EAA2E;AACxF,WAAO,sBAAsB;AAAA,EAC9B;AAEA,SAAO,iBAAiB,OAAO,YAAY;AAC5C;AAKO,SAAS,uBAAkC;AACjD,MAAI,OAAO,WAAW,aAAa;AAClC,YAAQ,KAAK,6EAA6E;AAC1F,WAAO,sBAAsB;AAAA,EAC9B;AAEA,SAAO,iBAAiB,OAAO,cAAc;AAC9C;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
isEnokiNetwork: () => isEnokiNetwork
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(utils_exports);
|
|
24
|
+
function isEnokiNetwork(network) {
|
|
25
|
+
return network === "mainnet" || network === "testnet" || network === "devnet";
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { EnokiNetwork } from './EnokiClient/type.js';\n\nexport function isEnokiNetwork(network: string): network is EnokiNetwork {\n\treturn network === 'mainnet' || network === 'testnet' || network === 'devnet';\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,SAAS,eAAe,SAA0C;AACxE,SAAO,YAAY,aAAa,YAAY,aAAa,YAAY;AACtE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AuthProvider, EnokiNetwork } from '../EnokiClient/type.js';
|
|
2
|
+
import type { ZkLoginSession } from './types.js';
|
|
3
|
+
/** Name of the feature for retrieving basic wallet metadata. */
|
|
4
|
+
export declare const EnokiGetMetadata = "enoki:getMetadata";
|
|
5
|
+
/** The latest API version of the getMetadata API. */
|
|
6
|
+
export type EnokiGetMetadataVersion = '1.0.0';
|
|
7
|
+
/**
|
|
8
|
+
* A Wallet Standard feature for retreiving Enoki-specific metadata about the wallet.
|
|
9
|
+
*/
|
|
10
|
+
export type EnokiGetMetadataFeature = {
|
|
11
|
+
/** Namespace for the feature. */
|
|
12
|
+
[EnokiGetMetadata]: {
|
|
13
|
+
/** Version of the feature API. */
|
|
14
|
+
version: EnokiGetMetadataVersion;
|
|
15
|
+
getMetadata: EnokiGetMetadataMethod;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export type EnokiGetMetadataMethod = (input?: EnokiGetMetadataInput) => EnokiGetMetadataOutput;
|
|
19
|
+
/** Input for retrieving metadata about the wallet. */
|
|
20
|
+
export type EnokiGetMetadataInput = void;
|
|
21
|
+
/** Output of retrieving metadata about the wallet. */
|
|
22
|
+
export type EnokiGetMetadataOutput = {
|
|
23
|
+
/** The social provider for the wallet. */
|
|
24
|
+
provider: AuthProvider;
|
|
25
|
+
};
|
|
26
|
+
/** Name of the feature for retrieving the Enoki session. */
|
|
27
|
+
export declare const EnokiGetSession = "enoki:getSession";
|
|
28
|
+
/** The latest API version of the getSession API. */
|
|
29
|
+
export type EnokiGetSessionVersion = '1.0.0';
|
|
30
|
+
/**
|
|
31
|
+
* A Wallet Standard feature for retreiving the zkLogin session from the wallet.
|
|
32
|
+
*/
|
|
33
|
+
export type EnokiGetSessionFeature = {
|
|
34
|
+
/** Namespace for the feature. */
|
|
35
|
+
[EnokiGetSession]: {
|
|
36
|
+
/** Version of the feature API. */
|
|
37
|
+
version: EnokiGetSessionVersion;
|
|
38
|
+
getSession: EnokiGetSessionMethod;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export type EnokiGetSessionMethod = (input?: EnokiGetSessionInput) => Promise<EnokiGetSessionOutput>;
|
|
42
|
+
/** Input for retrieving the session from the wallet. */
|
|
43
|
+
export type EnokiGetSessionInput = {
|
|
44
|
+
/**
|
|
45
|
+
* The network to retrieve session data for. Defaults to the active network.
|
|
46
|
+
**/
|
|
47
|
+
network?: EnokiNetwork;
|
|
48
|
+
};
|
|
49
|
+
/** Output of retrieving the Enoki session. */
|
|
50
|
+
export type EnokiGetSessionOutput = ZkLoginSession | null;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var features_exports = {};
|
|
20
|
+
__export(features_exports, {
|
|
21
|
+
EnokiGetMetadata: () => EnokiGetMetadata,
|
|
22
|
+
EnokiGetSession: () => EnokiGetSession
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(features_exports);
|
|
25
|
+
const EnokiGetMetadata = "enoki:getMetadata";
|
|
26
|
+
const EnokiGetSession = "enoki:getSession";
|
|
27
|
+
//# sourceMappingURL=features.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/wallet/features.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { AuthProvider, EnokiNetwork } from '../EnokiClient/type.js';\nimport type { ZkLoginSession } from './types.js';\n\n/** Name of the feature for retrieving basic wallet metadata. */\nexport const EnokiGetMetadata = 'enoki:getMetadata';\n\n/** The latest API version of the getMetadata API. */\nexport type EnokiGetMetadataVersion = '1.0.0';\n\n/**\n * A Wallet Standard feature for retreiving Enoki-specific metadata about the wallet.\n */\nexport type EnokiGetMetadataFeature = {\n\t/** Namespace for the feature. */\n\t[EnokiGetMetadata]: {\n\t\t/** Version of the feature API. */\n\t\tversion: EnokiGetMetadataVersion;\n\t\tgetMetadata: EnokiGetMetadataMethod;\n\t};\n};\n\nexport type EnokiGetMetadataMethod = (input?: EnokiGetMetadataInput) => EnokiGetMetadataOutput;\n\n/** Input for retrieving metadata about the wallet. */\nexport type EnokiGetMetadataInput = void;\n\n/** Output of retrieving metadata about the wallet. */\nexport type EnokiGetMetadataOutput = {\n\t/** The social provider for the wallet. */\n\tprovider: AuthProvider;\n};\n\n/** Name of the feature for retrieving the Enoki session. */\nexport const EnokiGetSession = 'enoki:getSession';\n\n/** The latest API version of the getSession API. */\nexport type EnokiGetSessionVersion = '1.0.0';\n\n/**\n * A Wallet Standard feature for retreiving the zkLogin session from the wallet.\n */\nexport type EnokiGetSessionFeature = {\n\t/** Namespace for the feature. */\n\t[EnokiGetSession]: {\n\t\t/** Version of the feature API. */\n\t\tversion: EnokiGetSessionVersion;\n\t\tgetSession: EnokiGetSessionMethod;\n\t};\n};\n\nexport type EnokiGetSessionMethod = (\n\tinput?: EnokiGetSessionInput,\n) => Promise<EnokiGetSessionOutput>;\n\n/** Input for retrieving the session from the wallet. */\nexport type EnokiGetSessionInput = {\n\t/**\n\t * The network to retrieve session data for. Defaults to the active network.\n\t **/\n\tnetwork?: EnokiNetwork;\n};\n\n/** Output of retrieving the Enoki session. */\nexport type EnokiGetSessionOutput = ZkLoginSession | null;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,mBAAmB;AA6BzB,MAAM,kBAAkB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ClientWithCoreApi, Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';
|
|
2
|
+
import type { RegisterEnokiWalletsOptions } from './types.js';
|
|
3
|
+
export declare function enokiWalletsInitializer(options: Omit<RegisterEnokiWalletsOptions, 'clients' | 'getCurrentNetwork'>): {
|
|
4
|
+
id: string;
|
|
5
|
+
initialize({ networks, getClient, }: {
|
|
6
|
+
networks: readonly Experimental_HaneulClientTypes.Network[];
|
|
7
|
+
getClient: (network?: Experimental_HaneulClientTypes.Network) => ClientWithCoreApi;
|
|
8
|
+
}): Promise<{
|
|
9
|
+
unregister: () => void;
|
|
10
|
+
}>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var initializer_exports = {};
|
|
20
|
+
__export(initializer_exports, {
|
|
21
|
+
enokiWalletsInitializer: () => enokiWalletsInitializer
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(initializer_exports);
|
|
24
|
+
var import_register = require("./register.js");
|
|
25
|
+
function enokiWalletsInitializer(options) {
|
|
26
|
+
return {
|
|
27
|
+
id: "enoki-wallets-initializer",
|
|
28
|
+
async initialize({
|
|
29
|
+
networks,
|
|
30
|
+
getClient
|
|
31
|
+
}) {
|
|
32
|
+
const { unregister } = (0, import_register.registerEnokiWallets)({
|
|
33
|
+
...options,
|
|
34
|
+
getCurrentNetwork: () => getClient().network,
|
|
35
|
+
clients: networks.map(getClient)
|
|
36
|
+
});
|
|
37
|
+
return { unregister };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=initializer.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/wallet/initializer.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ClientWithCoreApi, Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';\nimport { registerEnokiWallets } from './register.js';\nimport type { RegisterEnokiWalletsOptions } from './types.js';\n\nexport function enokiWalletsInitializer(\n\toptions: Omit<RegisterEnokiWalletsOptions, 'clients' | 'getCurrentNetwork'>,\n) {\n\treturn {\n\t\tid: 'enoki-wallets-initializer',\n\t\tasync initialize({\n\t\t\tnetworks,\n\t\t\tgetClient,\n\t\t}: {\n\t\t\tnetworks: readonly Experimental_HaneulClientTypes.Network[];\n\t\t\tgetClient: (network?: Experimental_HaneulClientTypes.Network) => ClientWithCoreApi;\n\t\t}) {\n\t\t\tconst { unregister } = registerEnokiWallets({\n\t\t\t\t...options,\n\t\t\t\tgetCurrentNetwork: () => getClient().network,\n\t\t\t\tclients: networks.map(getClient),\n\t\t\t});\n\n\t\t\treturn { unregister };\n\t\t},\n\t};\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,sBAAqC;AAG9B,SAAS,wBACf,SACC;AACD,SAAO;AAAA,IACN,IAAI;AAAA,IACJ,MAAM,WAAW;AAAA,MAChB;AAAA,MACA;AAAA,IACD,GAGG;AACF,YAAM,EAAE,WAAW,QAAI,sCAAqB;AAAA,QAC3C,GAAG;AAAA,QACH,mBAAmB,MAAM,UAAU,EAAE;AAAA,QACrC,SAAS,SAAS,IAAI,SAAS;AAAA,MAChC,CAAC;AAED,aAAO,EAAE,WAAW;AAAA,IACrB;AAAA,EACD;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var providers_exports = {};
|
|
20
|
+
__export(providers_exports, {
|
|
21
|
+
ENOKI_PROVIDER_WALLETS_INFO: () => ENOKI_PROVIDER_WALLETS_INFO
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(providers_exports);
|
|
24
|
+
const ENOKI_PROVIDER_WALLETS_INFO = [
|
|
25
|
+
{
|
|
26
|
+
provider: "google",
|
|
27
|
+
name: "Sign in with Google",
|
|
28
|
+
icon: "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMzIgMGgtMzJ2MzJoMzJ6IiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Im0yMy44Mjk5IDE2LjE4MThjMC0uNTY3Mi0uMDUwOS0xLjExMjctLjE0NTQtMS42MzYzaC03LjUzNDZ2My4wOTQ1aDQuMzA1NWMtLjE4NTUgMS0uNzQ5MSAxLjg0NzMtMS41OTY0IDIuNDE0NnYyLjAwNzNoMi41ODU1YzEuNTEyNy0xLjM5MjggMi4zODU0LTMuNDQzNyAyLjM4NTQtNS44ODAxeiIgZmlsbD0iIzQyODVmNCIvPjxwYXRoIGQ9Im0xNi4xNDk2IDI0YzIuMTYgMCAzLjk3MDktLjcxNjQgNS4yOTQ2LTEuOTM4MmwtMi41ODU1LTIuMDA3M2MtLjcxNjQuNDgtMS42MzI3Ljc2MzYtMi43MDkxLjc2MzYtMi4wODM2IDAtMy44NDczLTEuNDA3Mi00LjQ3NjQtMy4yOTgxaC0yLjY3MjcxdjIuMDcyN2MxLjMxNjQxIDIuNjE0NSA0LjAyMTgxIDQuNDA3MyA3LjE0OTExIDQuNDA3M3oiIGZpbGw9IiMzNGE4NTMiLz48cGF0aCBkPSJtMTEuNjczNSAxNy41MmMtLjE2LS40OC0uMjUwOS0uOTkyOC0uMjUwOS0xLjUyIDAtLjUyNzMuMDkwOS0xLjA0LjI1MDktMS41MnYtMi4wNzI4aC0yLjY3MjY5Yy0uNTQxODIgMS4wOC0uODUwOTEgMi4zMDE4LS44NTA5MSAzLjU5MjggMCAxLjI5MDkuMzA5MDkgMi41MTI3Ljg1MDkxIDMuNTkyN3oiIGZpbGw9IiNmYmJjMDUiLz48cGF0aCBkPSJtMTYuMTQ5NiAxMS4xODE4YzEuMTc0NSAwIDIuMjI5MS40MDM3IDMuMDU4MiAxLjE5NjRsMi4yOTQ1LTIuMjk0NmMtMS4zODU0LTEuMjkwODctMy4xOTYzLTIuMDgzNi01LjM1MjctMi4wODM2LTMuMTI3MyAwLTUuODMyNyAxLjc5MjczLTcuMTQ5MTEgNC40MDczbDIuNjcyNzEgMi4wNzI3Yy42MjkxLTEuODkwOSAyLjM5MjgtMy4yOTgyIDQuNDc2NC0zLjI5ODJ6IiBmaWxsPSIjZWE0MzM1Ii8+PC9nPjwvc3ZnPg=="
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
provider: "facebook",
|
|
32
|
+
name: "Sign in with Facebook",
|
|
33
|
+
icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgZmlsbD0iIzE4NzdGMiIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgMjA4NCAyMDg0Ij48cGF0aCBkPSJNOTkyIDJDODU4LjcgOS4xIDczNi42IDM4LjEgNjE5IDkwLjVjLTI4NS41IDEyNy4yLTQ5OS4xIDM3NS45LTU4MS41IDY3Ny0yNS45IDk0LjYtMzcuOCAxOTAuMi0zNi4yIDI5MSAuOCA0Ni43IDIuOCA3NS4zIDguMyAxMTguNSAxNi4xIDEyNi42IDU2LjcgMjUxLjUgMTE4IDM2My44IDEwMS44IDE4NiAyNTYuOSAzMzYuMiA0NDUuOSA0MzEuNyA2Mi4xIDMxLjMgMTI3LjggNTYuNiAxOTMgNzQuMyA5LjkgMi43IDE5LjIgNS4yIDIwLjggNS42bDIuNy42di02OTJsLTEwNy4yLS4yLTEwNy4zLS4zdi0zMThsMTA3LjEtLjMgMTA3LjItLjIuNS05Mi44Yy41LTkwIC45LTEwMyA0LjMtMTM5LjIgMTctMTgzLjIgOTAtMzA1LjUgMjIwLjUtMzY5LjUgNTguNy0yOC44IDEyOC4zLTQ1LjcgMjE1LjktNTIuNSAyMi44LTEuOCA4Mi40LTIuNCAxMDYtMS4xIDU3LjEgMy4yIDEyMC40IDEwLjYgMTYzIDE5LjEgMTAuNyAyLjIgMjAuOSA0LjMgMjIuNSA0LjhsMyAuOC4zIDE0NC45LjIgMTQ0LjgtNi4yLS42Yy0yOS4zLTMtMTMzLjEtNC4yLTE1OC4zLTEuOS02NS42IDYtMTA4LjYgMjIuMy0xMzkgNTIuNy0yMi45IDIyLjktMzcuOCA1My00NS45IDkyLjgtNi40IDMxLjEtNy42IDUyLjgtNy42IDEzMi45djY0LjhoMTcwYzkzLjUgMCAxNzAgLjQgMTcwIC44IDAgLjUtMTMgNzEuOS0yOSAxNTguNy0xNS45IDg2LjgtMjkgMTU4LjItMjkgMTU4LjcgMCAuNC02My40LjgtMTQxIC44aC0xNDF2MzU3LjVjMCAyODUuMy4zIDM1Ny41IDEuMyAzNTcuNSAzLjMgMCA0NC43LTYuNCA2MS42LTkuNSAxNjMtMjkuOSAzMTYuNy05OC44IDQ0OS4xLTIwMS40IDU1LjgtNDMuMiAxMTMuOS05OS4xIDE1OS42LTE1My43IDQxLjMtNDkuMSA4MC41LTEwNi4yIDExMi44LTE2My45IDE5LjctMzUuMiA0Ny05My42IDYxLjctMTMyLjMgNzAuNi0xODQuOCA4Ny4yLTM4Ni4xIDQ3LjgtNTgxLjUtNDUuNy0yMjYuNi0xNjkuNC00MzUuNi0zNDYuOS01ODUuOC0xNDQuNS0xMjIuMi0zMTYuNC0yMDItNTAxLjUtMjMyLjktMzEuMy01LjItNjYuNC05LjItMTA0LTEyLTE4LjMtMS40LTk4LjctMi4xLTExOC41LTF6Ii8+PC9zdmc+"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
provider: "twitch",
|
|
37
|
+
name: "Sign in with Twitch",
|
|
38
|
+
icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCgl2aWV3Qm94PSItNDAwIC00MDAgMjgwMCAzMjAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkJLnN0MCB7CgkJCWZpbGw6ICNGRkZGRkY7CgkJfQoKCQkuc3QxIHsKCQkJZmlsbDogIzkxNDZGRjsKCQl9Cgk8L3N0eWxlPgoJPHRpdGxlPkFzc2V0IDI8L3RpdGxlPgoJPGc+CgkJPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyMjAwLDEzMDAgMTgwMCwxNzAwIDE0MDAsMTcwMCAxMDUwLDIwNTAgMTA1MCwxNzAwIDYwMCwxNzAwIDYwMCwyMDAgMjIwMCwyMDAgCSIgLz4KCQk8Zz4KCQkJPGcgaWQ9IkxheWVyXzEtMiI+CgkJCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNTAwLDBMMCw1MDB2MTgwMGg2MDB2NTAwbDUwMC01MDBoNDAwbDkwMC05MDBWMEg1MDB6IE0yMjAwLDEzMDBsLTQwMCw0MDBoLTQwMGwtMzUwLDM1MHYtMzUwSDYwMFYyMDBoMTYwMAoJCQkJVjEzMDB6IiAvPgoJCQkJPHJlY3QgeD0iMTcwMCIgeT0iNTUwIiBjbGFzcz0ic3QxIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjYwMCIgLz4KCQkJCTxyZWN0IHg9IjExNTAiIHk9IjU1MCIgY2xhc3M9InN0MSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSI2MDAiIC8+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+Cjwvc3ZnPgo="
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
provider: "onefc",
|
|
42
|
+
name: "Sign in with ONE Championship",
|
|
43
|
+
icon: "data:image/png;base64,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"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
provider: "playtron",
|
|
47
|
+
name: "Sign in with Playtron",
|
|
48
|
+
icon: "data:image/png;base64,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"
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/wallet/providers.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Wallet } from '@haneullabs/wallet-standard';\n\nimport type { AuthProvider } from '../EnokiClient/type.js';\n\nexport const ENOKI_PROVIDER_WALLETS_INFO: {\n\tname: string;\n\ticon: Wallet['icon'];\n\tprovider: AuthProvider;\n}[] = [\n\t{\n\t\tprovider: 'google',\n\t\tname: 'Sign in with Google',\n\t\ticon: 'data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMzIgMGgtMzJ2MzJoMzJ6IiBmaWxsPSIjZmZmIi8+PGcgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Im0yMy44Mjk5IDE2LjE4MThjMC0uNTY3Mi0uMDUwOS0xLjExMjctLjE0NTQtMS42MzYzaC03LjUzNDZ2My4wOTQ1aDQuMzA1NWMtLjE4NTUgMS0uNzQ5MSAxLjg0NzMtMS41OTY0IDIuNDE0NnYyLjAwNzNoMi41ODU1YzEuNTEyNy0xLjM5MjggMi4zODU0LTMuNDQzNyAyLjM4NTQtNS44ODAxeiIgZmlsbD0iIzQyODVmNCIvPjxwYXRoIGQ9Im0xNi4xNDk2IDI0YzIuMTYgMCAzLjk3MDktLjcxNjQgNS4yOTQ2LTEuOTM4MmwtMi41ODU1LTIuMDA3M2MtLjcxNjQuNDgtMS42MzI3Ljc2MzYtMi43MDkxLjc2MzYtMi4wODM2IDAtMy44NDczLTEuNDA3Mi00LjQ3NjQtMy4yOTgxaC0yLjY3MjcxdjIuMDcyN2MxLjMxNjQxIDIuNjE0NSA0LjAyMTgxIDQuNDA3MyA3LjE0OTExIDQuNDA3M3oiIGZpbGw9IiMzNGE4NTMiLz48cGF0aCBkPSJtMTEuNjczNSAxNy41MmMtLjE2LS40OC0uMjUwOS0uOTkyOC0uMjUwOS0xLjUyIDAtLjUyNzMuMDkwOS0xLjA0LjI1MDktMS41MnYtMi4wNzI4aC0yLjY3MjY5Yy0uNTQxODIgMS4wOC0uODUwOTEgMi4zMDE4LS44NTA5MSAzLjU5MjggMCAxLjI5MDkuMzA5MDkgMi41MTI3Ljg1MDkxIDMuNTkyN3oiIGZpbGw9IiNmYmJjMDUiLz48cGF0aCBkPSJtMTYuMTQ5NiAxMS4xODE4YzEuMTc0NSAwIDIuMjI5MS40MDM3IDMuMDU4MiAxLjE5NjRsMi4yOTQ1LTIuMjk0NmMtMS4zODU0LTEuMjkwODctMy4xOTYzLTIuMDgzNi01LjM1MjctMi4wODM2LTMuMTI3MyAwLTUuODMyNyAxLjc5MjczLTcuMTQ5MTEgNC40MDczbDIuNjcyNzEgMi4wNzI3Yy42MjkxLTEuODkwOSAyLjM5MjgtMy4yOTgyIDQuNDc2NC0zLjI5ODJ6IiBmaWxsPSIjZWE0MzM1Ii8+PC9nPjwvc3ZnPg==',\n\t},\n\t{\n\t\tprovider: 'facebook',\n\t\tname: 'Sign in with Facebook',\n\t\ticon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgZmlsbD0iIzE4NzdGMiIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgMjA4NCAyMDg0Ij48cGF0aCBkPSJNOTkyIDJDODU4LjcgOS4xIDczNi42IDM4LjEgNjE5IDkwLjVjLTI4NS41IDEyNy4yLTQ5OS4xIDM3NS45LTU4MS41IDY3Ny0yNS45IDk0LjYtMzcuOCAxOTAuMi0zNi4yIDI5MSAuOCA0Ni43IDIuOCA3NS4zIDguMyAxMTguNSAxNi4xIDEyNi42IDU2LjcgMjUxLjUgMTE4IDM2My44IDEwMS44IDE4NiAyNTYuOSAzMzYuMiA0NDUuOSA0MzEuNyA2Mi4xIDMxLjMgMTI3LjggNTYuNiAxOTMgNzQuMyA5LjkgMi43IDE5LjIgNS4yIDIwLjggNS42bDIuNy42di02OTJsLTEwNy4yLS4yLTEwNy4zLS4zdi0zMThsMTA3LjEtLjMgMTA3LjItLjIuNS05Mi44Yy41LTkwIC45LTEwMyA0LjMtMTM5LjIgMTctMTgzLjIgOTAtMzA1LjUgMjIwLjUtMzY5LjUgNTguNy0yOC44IDEyOC4zLTQ1LjcgMjE1LjktNTIuNSAyMi44LTEuOCA4Mi40LTIuNCAxMDYtMS4xIDU3LjEgMy4yIDEyMC40IDEwLjYgMTYzIDE5LjEgMTAuNyAyLjIgMjAuOSA0LjMgMjIuNSA0LjhsMyAuOC4zIDE0NC45LjIgMTQ0LjgtNi4yLS42Yy0yOS4zLTMtMTMzLjEtNC4yLTE1OC4zLTEuOS02NS42IDYtMTA4LjYgMjIuMy0xMzkgNTIuNy0yMi45IDIyLjktMzcuOCA1My00NS45IDkyLjgtNi40IDMxLjEtNy42IDUyLjgtNy42IDEzMi45djY0LjhoMTcwYzkzLjUgMCAxNzAgLjQgMTcwIC44IDAgLjUtMTMgNzEuOS0yOSAxNTguNy0xNS45IDg2LjgtMjkgMTU4LjItMjkgMTU4LjcgMCAuNC02My40LjgtMTQxIC44aC0xNDF2MzU3LjVjMCAyODUuMy4zIDM1Ny41IDEuMyAzNTcuNSAzLjMgMCA0NC43LTYuNCA2MS42LTkuNSAxNjMtMjkuOSAzMTYuNy05OC44IDQ0OS4xLTIwMS40IDU1LjgtNDMuMiAxMTMuOS05OS4xIDE1OS42LTE1My43IDQxLjMtNDkuMSA4MC41LTEwNi4yIDExMi44LTE2My45IDE5LjctMzUuMiA0Ny05My42IDYxLjctMTMyLjMgNzAuNi0xODQuOCA4Ny4yLTM4Ni4xIDQ3LjgtNTgxLjUtNDUuNy0yMjYuNi0xNjkuNC00MzUuNi0zNDYuOS01ODUuOC0xNDQuNS0xMjIuMi0zMTYuNC0yMDItNTAxLjUtMjMyLjktMzEuMy01LjItNjYuNC05LjItMTA0LTEyLTE4LjMtMS40LTk4LjctMi4xLTExOC41LTF6Ii8+PC9zdmc+',\n\t},\n\t{\n\t\tprovider: 'twitch',\n\t\tname: 'Sign in with Twitch',\n\t\ticon: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCgl2aWV3Qm94PSItNDAwIC00MDAgMjgwMCAzMjAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkJLnN0MCB7CgkJCWZpbGw6ICNGRkZGRkY7CgkJfQoKCQkuc3QxIHsKCQkJZmlsbDogIzkxNDZGRjsKCQl9Cgk8L3N0eWxlPgoJPHRpdGxlPkFzc2V0IDI8L3RpdGxlPgoJPGc+CgkJPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyMjAwLDEzMDAgMTgwMCwxNzAwIDE0MDAsMTcwMCAxMDUwLDIwNTAgMTA1MCwxNzAwIDYwMCwxNzAwIDYwMCwyMDAgMjIwMCwyMDAgCSIgLz4KCQk8Zz4KCQkJPGcgaWQ9IkxheWVyXzEtMiI+CgkJCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNTAwLDBMMCw1MDB2MTgwMGg2MDB2NTAwbDUwMC01MDBoNDAwbDkwMC05MDBWMEg1MDB6IE0yMjAwLDEzMDBsLTQwMCw0MDBoLTQwMGwtMzUwLDM1MHYtMzUwSDYwMFYyMDBoMTYwMAoJCQkJVjEzMDB6IiAvPgoJCQkJPHJlY3QgeD0iMTcwMCIgeT0iNTUwIiBjbGFzcz0ic3QxIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjYwMCIgLz4KCQkJCTxyZWN0IHg9IjExNTAiIHk9IjU1MCIgY2xhc3M9InN0MSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSI2MDAiIC8+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+Cjwvc3ZnPgo=',\n\t},\n\t{\n\t\tprovider: 'onefc',\n\t\tname: 'Sign in with ONE Championship',\n\t\ticon: 'data:image/png;base64,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',\n\t},\n\t{\n\t\tprovider: 'playtron',\n\t\tname: 'Sign in with Playtron',\n\t\ticon: 'data:image/png;base64,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',\n\t},\n];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,8BAIP;AAAA,EACL;AAAA,IACC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EnokiWallet } from './wallet.js';
|
|
2
|
+
import type { RegisterEnokiWalletsOptions } from './types.js';
|
|
3
|
+
import type { AuthProvider } from '../EnokiClient/type.js';
|
|
4
|
+
export declare function registerEnokiWallets({ providers, windowFeatures, ...config }: RegisterEnokiWalletsOptions): {
|
|
5
|
+
wallets: Partial<Record<AuthProvider, EnokiWallet>>;
|
|
6
|
+
unregister: () => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var register_exports = {};
|
|
20
|
+
__export(register_exports, {
|
|
21
|
+
registerEnokiWallets: () => registerEnokiWallets
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(register_exports);
|
|
24
|
+
var import_wallet = require("./wallet.js");
|
|
25
|
+
var import_wallet_standard = require("@haneullabs/wallet-standard");
|
|
26
|
+
var import_utils = require("../utils.js");
|
|
27
|
+
var import_providers = require("./providers.js");
|
|
28
|
+
function registerEnokiWallets({
|
|
29
|
+
providers,
|
|
30
|
+
windowFeatures = defaultWindowFeatures,
|
|
31
|
+
...config
|
|
32
|
+
}) {
|
|
33
|
+
const clients = "clients" in config ? config.clients : [Object.assign(config.client, { network: config.network ?? "mainnet" })];
|
|
34
|
+
const enokiCompatibleClients = clients.filter(({ network }) => (0, import_utils.isEnokiNetwork)(network));
|
|
35
|
+
if (enokiCompatibleClients.length === 0) {
|
|
36
|
+
throw new Error("None of the specified clients are compatible with Enoki.");
|
|
37
|
+
}
|
|
38
|
+
const getCurrentNetwork = "clients" in config ? config.getCurrentNetwork : () => clients[0].network;
|
|
39
|
+
const walletsApi = (0, import_wallet_standard.getWallets)();
|
|
40
|
+
const wallets = {};
|
|
41
|
+
for (const { name, icon, provider } of import_providers.ENOKI_PROVIDER_WALLETS_INFO) {
|
|
42
|
+
const providerOptions = providers[provider];
|
|
43
|
+
if (providerOptions) {
|
|
44
|
+
wallets[provider] = new import_wallet.EnokiWallet({
|
|
45
|
+
...providerOptions,
|
|
46
|
+
name,
|
|
47
|
+
icon,
|
|
48
|
+
provider,
|
|
49
|
+
windowFeatures,
|
|
50
|
+
getCurrentNetwork,
|
|
51
|
+
apiKey: config.apiKey,
|
|
52
|
+
apiUrl: config.apiUrl,
|
|
53
|
+
additionalEpochs: config.additionalEpochs,
|
|
54
|
+
clients: enokiCompatibleClients
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const unregister = walletsApi.register(...Object.values(wallets));
|
|
59
|
+
return { wallets, unregister };
|
|
60
|
+
}
|
|
61
|
+
function defaultWindowFeatures() {
|
|
62
|
+
const width = 500;
|
|
63
|
+
const height = 800;
|
|
64
|
+
const left = (screen.width - width) / 2;
|
|
65
|
+
const top = (screen.height - height) / 4;
|
|
66
|
+
return `popup=1;toolbar=0;status=0;resizable=1,width=${width},height=${height},top=${top},left=${left}`;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/wallet/register.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { EnokiWallet } from './wallet.js';\nimport type { RegisterEnokiWalletsOptions } from './types.js';\nimport { getWallets } from '@haneullabs/wallet-standard';\nimport type { ClientWithCoreApi } from '@haneullabs/haneul/experimental';\nimport type { AuthProvider } from '../EnokiClient/type.js';\nimport { isEnokiNetwork } from '../utils.js';\nimport { ENOKI_PROVIDER_WALLETS_INFO } from './providers.js';\n\nexport function registerEnokiWallets({\n\tproviders,\n\twindowFeatures = defaultWindowFeatures,\n\t...config\n}: RegisterEnokiWalletsOptions) {\n\tconst clients: ClientWithCoreApi[] =\n\t\t'clients' in config\n\t\t\t? config.clients\n\t\t\t: [Object.assign(config.client, { network: config.network ?? 'mainnet' })];\n\n\tconst enokiCompatibleClients = clients.filter(({ network }) => isEnokiNetwork(network));\n\tif (enokiCompatibleClients.length === 0) {\n\t\tthrow new Error('None of the specified clients are compatible with Enoki.');\n\t}\n\n\tconst getCurrentNetwork =\n\t\t'clients' in config ? config.getCurrentNetwork : () => clients[0].network;\n\n\tconst walletsApi = getWallets();\n\tconst wallets: Partial<Record<AuthProvider, EnokiWallet>> = {};\n\n\tfor (const { name, icon, provider } of ENOKI_PROVIDER_WALLETS_INFO) {\n\t\tconst providerOptions = providers[provider];\n\t\tif (providerOptions) {\n\t\t\twallets[provider] = new EnokiWallet({\n\t\t\t\t...providerOptions,\n\t\t\t\tname,\n\t\t\t\ticon,\n\t\t\t\tprovider,\n\t\t\t\twindowFeatures,\n\t\t\t\tgetCurrentNetwork,\n\t\t\t\tapiKey: config.apiKey,\n\t\t\t\tapiUrl: config.apiUrl,\n\t\t\t\tadditionalEpochs: config.additionalEpochs,\n\t\t\t\tclients: enokiCompatibleClients,\n\t\t\t});\n\t\t}\n\t}\n\n\tconst unregister = walletsApi.register(...Object.values(wallets));\n\treturn { wallets, unregister };\n}\n\nfunction defaultWindowFeatures() {\n\tconst width = 500;\n\tconst height = 800;\n\tconst left = (screen.width - width) / 2;\n\tconst top = (screen.height - height) / 4;\n\n\treturn `popup=1;toolbar=0;status=0;resizable=1,width=${width},height=${height},top=${top},left=${left}`;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AAE5B,6BAA2B;AAG3B,mBAA+B;AAC/B,uBAA4C;AAErC,SAAS,qBAAqB;AAAA,EACpC;AAAA,EACA,iBAAiB;AAAA,EACjB,GAAG;AACJ,GAAgC;AAC/B,QAAM,UACL,aAAa,SACV,OAAO,UACP,CAAC,OAAO,OAAO,OAAO,QAAQ,EAAE,SAAS,OAAO,WAAW,UAAU,CAAC,CAAC;AAE3E,QAAM,yBAAyB,QAAQ,OAAO,CAAC,EAAE,QAAQ,UAAM,6BAAe,OAAO,CAAC;AACtF,MAAI,uBAAuB,WAAW,GAAG;AACxC,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC3E;AAEA,QAAM,oBACL,aAAa,SAAS,OAAO,oBAAoB,MAAM,QAAQ,CAAC,EAAE;AAEnE,QAAM,iBAAa,mCAAW;AAC9B,QAAM,UAAsD,CAAC;AAE7D,aAAW,EAAE,MAAM,MAAM,SAAS,KAAK,8CAA6B;AACnE,UAAM,kBAAkB,UAAU,QAAQ;AAC1C,QAAI,iBAAiB;AACpB,cAAQ,QAAQ,IAAI,IAAI,0BAAY;AAAA,QACnC,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,OAAO;AAAA,QACf,QAAQ,OAAO;AAAA,QACf,kBAAkB,OAAO;AAAA,QACzB,SAAS;AAAA,MACV,CAAC;AAAA,IACF;AAAA,EACD;AAEA,QAAM,aAAa,WAAW,SAAS,GAAG,OAAO,OAAO,OAAO,CAAC;AAChE,SAAO,EAAE,SAAS,WAAW;AAC9B;AAEA,SAAS,wBAAwB;AAChC,QAAM,QAAQ;AACd,QAAM,SAAS;AACf,QAAM,QAAQ,OAAO,QAAQ,SAAS;AACtC,QAAM,OAAO,OAAO,SAAS,UAAU;AAEvC,SAAO,gDAAgD,KAAK,WAAW,MAAM,QAAQ,GAAG,SAAS,IAAI;AACtG;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|