@dfx.swiss/react 1.1.2-beta.2 → 1.1.2-beta.3
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.
|
@@ -7,8 +7,8 @@ export interface SessionInterface {
|
|
|
7
7
|
isLoggedIn: boolean;
|
|
8
8
|
needsSignUp: boolean;
|
|
9
9
|
isProcessing: boolean;
|
|
10
|
-
login: () => Promise<string | undefined>;
|
|
11
|
-
signUp: () => Promise<string | undefined>;
|
|
10
|
+
login: (address?: string, signature?: string) => Promise<string | undefined>;
|
|
11
|
+
signUp: (address?: string, signature?: string, walletId?: number) => Promise<string | undefined>;
|
|
12
12
|
logout: () => Promise<void>;
|
|
13
13
|
}
|
|
14
14
|
export declare function useSessionContext(): SessionInterface;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.context.d.ts","sourceRoot":"","sources":["../../src/contexts/session.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAoD,MAAM,OAAO,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"session.context.d.ts","sourceRoot":"","sources":["../../src/contexts/session.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAoD,MAAM,OAAO,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7E,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjG,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,IAAI,gBAAgB,CAEpD;AAED,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,GAAG,EAAE;QACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KACrE,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,CAsFxG"}
|
|
@@ -54,10 +54,10 @@ export function useSessionContext() {
|
|
|
54
54
|
}
|
|
55
55
|
export function SessionContextProvider(_a) {
|
|
56
56
|
var api = _a.api, data = _a.data, children = _a.children;
|
|
57
|
-
var _b = useApiSession(), isLoggedIn = _b.isLoggedIn, session = _b.session, getSignMessage = _b.getSignMessage,
|
|
57
|
+
var _b = useApiSession(), isLoggedIn = _b.isLoggedIn, session = _b.session, getSignMessage = _b.getSignMessage, createApiSession = _b.createSession, deleteSession = _b.deleteSession;
|
|
58
58
|
var _c = useState(false), needsSignUp = _c[0], setNeedsSignUp = _c[1];
|
|
59
59
|
var _d = useState(false), isProcessing = _d[0], setIsProcessing = _d[1];
|
|
60
|
-
var _e = useState(),
|
|
60
|
+
var _e = useState(), storedSignature = _e[0], setStoredSignature = _e[1];
|
|
61
61
|
var firstRender = useRef(true);
|
|
62
62
|
useEffect(function () {
|
|
63
63
|
if (firstRender.current) {
|
|
@@ -68,54 +68,62 @@ export function SessionContextProvider(_a) {
|
|
|
68
68
|
deleteSession();
|
|
69
69
|
}
|
|
70
70
|
}, [data.address]);
|
|
71
|
-
function login() {
|
|
71
|
+
function login(address, signature) {
|
|
72
|
+
if (address === void 0) { address = data.address; }
|
|
73
|
+
if (signature === void 0) { signature = storedSignature; }
|
|
72
74
|
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
var _a;
|
|
76
|
+
return __generator(this, function (_b) {
|
|
77
|
+
switch (_b.label) {
|
|
78
|
+
case 0:
|
|
79
|
+
if (!address)
|
|
80
|
+
throw new Error('Address is not defined');
|
|
81
|
+
if (isLoggedIn && (session === null || session === void 0 ? void 0 : session.address) === address)
|
|
82
|
+
return [2 /*return*/, undefined];
|
|
83
|
+
if (!(signature !== null && signature !== void 0)) return [3 /*break*/, 1];
|
|
84
|
+
_a = signature;
|
|
85
|
+
return [3 /*break*/, 3];
|
|
86
|
+
case 1: return [4 /*yield*/, getSignature(address)];
|
|
87
|
+
case 2:
|
|
88
|
+
_a = (signature = _b.sent());
|
|
89
|
+
_b.label = 3;
|
|
90
|
+
case 3:
|
|
91
|
+
_a;
|
|
92
|
+
return [2 /*return*/, createSession(address, signature)];
|
|
93
|
+
}
|
|
77
94
|
});
|
|
78
95
|
});
|
|
79
96
|
}
|
|
80
|
-
function
|
|
97
|
+
function createSession(address, signature) {
|
|
81
98
|
return __awaiter(this, void 0, void 0, function () {
|
|
82
|
-
var message, signature;
|
|
83
99
|
return __generator(this, function (_a) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (error.statusCode === 404) {
|
|
98
|
-
setSignature(signature);
|
|
99
|
-
setNeedsSignUp(true);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
throw error;
|
|
103
|
-
}
|
|
104
|
-
return undefined;
|
|
105
|
-
})
|
|
106
|
-
.finally(function () { return setIsProcessing(false); })];
|
|
107
|
-
}
|
|
100
|
+
setIsProcessing(true);
|
|
101
|
+
return [2 /*return*/, createApiSession(address, signature, false)
|
|
102
|
+
.catch(function (error) {
|
|
103
|
+
if (error.statusCode === 404) {
|
|
104
|
+
setStoredSignature(signature);
|
|
105
|
+
setNeedsSignUp(true);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
})
|
|
112
|
+
.finally(function () { return setIsProcessing(false); })];
|
|
108
113
|
});
|
|
109
114
|
});
|
|
110
115
|
}
|
|
111
|
-
function signUp() {
|
|
116
|
+
function signUp(address, signature, walletId) {
|
|
117
|
+
if (address === void 0) { address = data.address; }
|
|
118
|
+
if (signature === void 0) { signature = storedSignature; }
|
|
119
|
+
if (walletId === void 0) { walletId = data.walletId; }
|
|
112
120
|
return __awaiter(this, void 0, void 0, function () {
|
|
113
121
|
return __generator(this, function (_a) {
|
|
114
|
-
if (!
|
|
122
|
+
if (!address || !signature)
|
|
115
123
|
throw new Error('Address or signature not defined');
|
|
116
124
|
setIsProcessing(true);
|
|
117
|
-
return [2 /*return*/,
|
|
118
|
-
|
|
125
|
+
return [2 /*return*/, createApiSession(address, signature, true, walletId).finally(function () {
|
|
126
|
+
setStoredSignature(undefined);
|
|
119
127
|
setNeedsSignUp(false);
|
|
120
128
|
setIsProcessing(false);
|
|
121
129
|
})];
|
|
@@ -136,6 +144,23 @@ export function SessionContextProvider(_a) {
|
|
|
136
144
|
});
|
|
137
145
|
});
|
|
138
146
|
}
|
|
147
|
+
function getSignature(address) {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
149
|
+
var message;
|
|
150
|
+
return __generator(this, function (_a) {
|
|
151
|
+
switch (_a.label) {
|
|
152
|
+
case 0:
|
|
153
|
+
if (!api.signMessage)
|
|
154
|
+
throw new Error('No sign message API provided');
|
|
155
|
+
return [4 /*yield*/, getSignMessage(address)];
|
|
156
|
+
case 1:
|
|
157
|
+
message = _a.sent();
|
|
158
|
+
return [4 /*yield*/, api.signMessage(message, address)];
|
|
159
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
}
|
|
139
164
|
var context = useMemo(function () { return ({
|
|
140
165
|
address: data.address,
|
|
141
166
|
blockchain: data.blockchain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.context.js","sourceRoot":"","sources":["../../src/contexts/session.context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG3G,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAc1D,IAAM,cAAc,GAAG,aAAa,CAAmB,SAAgB,CAAC,CAAC;AAEzE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAaD,MAAM,UAAU,sBAAsB,CAAC,EAAoD;QAAlD,GAAG,SAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA;IACpD,IAAA,
|
|
1
|
+
{"version":3,"file":"session.context.js","sourceRoot":"","sources":["../../src/contexts/session.context.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"private": false,
|
|
3
3
|
"name": "@dfx.swiss/react",
|
|
4
|
-
"version": "1.1.2-beta.
|
|
4
|
+
"version": "1.1.2-beta.3",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -25,5 +25,5 @@
|
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/google-libphonenumber": "^7.4.23"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "ba568b518c994f3eced1b9e978d6adbb2a63e704"
|
|
29
29
|
}
|