@multiplatform.one/web3 8.2.1 → 8.3.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/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +19 -16
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +26 -16
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +67 -7
- package/dist/cjs/keycloak/useWalletLogin.cjs +3 -2
- package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -16
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js +26 -16
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/esm/keycloak/KeycloakWalletLogin.mjs +66 -7
- package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -1
- package/dist/esm/keycloak/useWalletLogin.mjs +3 -2
- package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -16
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +26 -16
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +66 -7
- package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -1
- package/dist/jsx/keycloak/useWalletLogin.mjs +3 -2
- package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -1
- package/dist/keycloak/login.iife.js +362 -362
- package/package.json +7 -7
- package/src/connectkit/siwe/SIWEContext.tsx +2 -0
- package/src/connectkit/siwe/SIWEProvider.tsx +23 -10
- package/src/keycloak/KeycloakWalletLogin.spec.tsx +110 -0
- package/src/keycloak/KeycloakWalletLogin.stories.tsx +93 -0
- package/src/keycloak/KeycloakWalletLogin.theme.spec.tsx +118 -0
- package/src/keycloak/KeycloakWalletLogin.tsx +70 -7
- package/src/keycloak/useWalletLogin.ts +5 -1
- package/types/connectkit/siwe/SIWEContext.d.ts +2 -0
- package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEProvider.d.ts +0 -6
- package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
- package/types/keycloak/KeycloakWalletLogin.d.ts +6 -1
- package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -1
- package/types/keycloak/useWalletLogin.d.ts +2 -0
- package/types/keycloak/useWalletLogin.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SIWEContext_exports","__export","SIWEContext","StatusState","module","exports","import_react","require","READY","LOADING","SUCCESS","REJECTED","ERROR"],"sources":["../../../../src/connectkit/siwe/SIWEContext.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAA8B,CAAAK,mBAAA;AAIvB,IAAAM,YAAM,GAAAC,OAAc;AAAA,IACzBJ,WAAO;EACPK,KAAA,SAAS;EACTC,OAAA,EAAS;EACTC,OAAA,WAAU;EACVC,QAAO;EACTC,KAAA;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SIWEContext_exports","__export","SIWEContext","StatusState","module","exports","import_react","require","READY","LOADING","SUCCESS","REJECTED","ERROR"],"sources":["../../../../src/connectkit/siwe/SIWEContext.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAA8B,CAAAK,mBAAA;AAIvB,IAAAM,YAAM,GAAAC,OAAc;AAAA,IACzBJ,WAAO;EACPK,KAAA,SAAS;EACTC,OAAA,EAAS;EACTC,OAAA,WAAU;EACVC,QAAO;EACTC,KAAA;AA2DO","ignoreList":[]}
|
|
@@ -39,6 +39,12 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
39
39
|
const SIWE_NONCE_QUERY_KEY = "ckSiweNonce";
|
|
40
40
|
const SIWE_SESSION_QUERY_KEY = "ckSiweSession";
|
|
41
41
|
const b64 = s => window.btoa(unescape(encodeURIComponent(s)));
|
|
42
|
+
function isUserRejection(error) {
|
|
43
|
+
for (let cause = error, depth = 0; cause && depth < 8; cause = cause.cause, depth++) {
|
|
44
|
+
if (cause.code === -32e3 || cause.code === 4001 || cause.code === "ACTION_REJECTED") return true;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
42
48
|
const SIWEProvider = ({
|
|
43
49
|
children,
|
|
44
50
|
enabled = true,
|
|
@@ -52,7 +58,11 @@ const SIWEProvider = ({
|
|
|
52
58
|
...siweConfig
|
|
53
59
|
}) => {
|
|
54
60
|
const [status, setStatus] = (0, import_react.useState)(import_SIWEContext.StatusState.READY);
|
|
55
|
-
const
|
|
61
|
+
const [error, setError] = (0, import_react.useState)(null);
|
|
62
|
+
const resetStatus = () => {
|
|
63
|
+
setStatus(import_SIWEContext.StatusState.READY);
|
|
64
|
+
setError(null);
|
|
65
|
+
};
|
|
56
66
|
if ((0, import_react.useContext)(import_SIWEContext.SIWEContext)) {
|
|
57
67
|
throw new Error("Multiple, nested usages of SIWEProvider detected. Please use only one.");
|
|
58
68
|
}
|
|
@@ -119,19 +129,10 @@ const SIWEProvider = ({
|
|
|
119
129
|
const {
|
|
120
130
|
signMessageAsync
|
|
121
131
|
} = (0, import_wagmi.useSignMessage)();
|
|
122
|
-
const onError =
|
|
123
|
-
console.error("signIn error",
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
// user rejected, as some wallets report it
|
|
127
|
-
case 4001:
|
|
128
|
-
// MetaMask: user rejected
|
|
129
|
-
case "ACTION_REJECTED":
|
|
130
|
-
setStatus(import_SIWEContext.StatusState.REJECTED);
|
|
131
|
-
break;
|
|
132
|
-
default:
|
|
133
|
-
setStatus(import_SIWEContext.StatusState.ERROR);
|
|
134
|
-
}
|
|
132
|
+
const onError = error2 => {
|
|
133
|
+
console.error("signIn error", error2, error2.message);
|
|
134
|
+
setError(error2 instanceof Error ? error2 : new Error(String(error2)));
|
|
135
|
+
setStatus(isUserRejection(error2) ? import_SIWEContext.StatusState.REJECTED : import_SIWEContext.StatusState.ERROR);
|
|
135
136
|
};
|
|
136
137
|
const signIn = async () => {
|
|
137
138
|
try {
|
|
@@ -142,6 +143,7 @@ const SIWEProvider = ({
|
|
|
142
143
|
if (!address) throw new Error("No address found");
|
|
143
144
|
if (!chainId) throw new Error("No chainId found");
|
|
144
145
|
setStatus(import_SIWEContext.StatusState.LOADING);
|
|
146
|
+
setError(null);
|
|
145
147
|
const nonceValue = await queryClient.fetchQuery({
|
|
146
148
|
queryKey: [SIWE_NONCE_QUERY_KEY],
|
|
147
149
|
queryFn: () => siweConfig.getNonce(),
|
|
@@ -188,8 +190,8 @@ const SIWEProvider = ({
|
|
|
188
190
|
});
|
|
189
191
|
setStatus(import_SIWEContext.StatusState.READY);
|
|
190
192
|
return data;
|
|
191
|
-
} catch (
|
|
192
|
-
onError(
|
|
193
|
+
} catch (error2) {
|
|
194
|
+
onError(error2);
|
|
193
195
|
return false;
|
|
194
196
|
}
|
|
195
197
|
};
|
|
@@ -225,6 +227,7 @@ const SIWEProvider = ({
|
|
|
225
227
|
signIn,
|
|
226
228
|
signOut: signOutAndRefetch,
|
|
227
229
|
status,
|
|
230
|
+
error,
|
|
228
231
|
resetStatus
|
|
229
232
|
},
|
|
230
233
|
children
|
|
@@ -38,11 +38,26 @@ var import_connectkit = require("@multiplatform.one/connectkit");
|
|
|
38
38
|
var import_SIWEContext = require("./SIWEContext.native.js");
|
|
39
39
|
var import_connectkit2 = require("@multiplatform.one/connectkit");
|
|
40
40
|
var import_connector = require("../../clients/connector.native.js");
|
|
41
|
+
function _instanceof(left, right) {
|
|
42
|
+
"@swc/helpers - instanceof";
|
|
43
|
+
|
|
44
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
45
|
+
return !!right[Symbol.hasInstance](left);
|
|
46
|
+
} else {
|
|
47
|
+
return left instanceof right;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
41
50
|
var SIWE_NONCE_QUERY_KEY = "ckSiweNonce";
|
|
42
51
|
var SIWE_SESSION_QUERY_KEY = "ckSiweSession";
|
|
43
52
|
var b64 = function b642(s) {
|
|
44
53
|
return window.btoa(unescape(encodeURIComponent(s)));
|
|
45
54
|
};
|
|
55
|
+
function isUserRejection(error) {
|
|
56
|
+
for (var cause = error, depth = 0; cause && depth < 8; cause = cause.cause, depth++) {
|
|
57
|
+
if (cause.code === -32e3 || cause.code === 4001 || cause.code === "ACTION_REJECTED") return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
46
61
|
var SIWEProvider = function SIWEProvider2(param) {
|
|
47
62
|
var {
|
|
48
63
|
children,
|
|
@@ -57,8 +72,10 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
57
72
|
...siweConfig
|
|
58
73
|
} = param;
|
|
59
74
|
var [status, setStatus] = (0, import_react.useState)(import_SIWEContext.StatusState.READY);
|
|
75
|
+
var [error, setError] = (0, import_react.useState)(null);
|
|
60
76
|
var resetStatus = function resetStatus2() {
|
|
61
|
-
|
|
77
|
+
setStatus(import_SIWEContext.StatusState.READY);
|
|
78
|
+
setError(null);
|
|
62
79
|
};
|
|
63
80
|
if ((0, import_react.useContext)(import_SIWEContext.SIWEContext)) {
|
|
64
81
|
throw new Error("Multiple, nested usages of SIWEProvider detected. Please use only one.");
|
|
@@ -130,19 +147,10 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
130
147
|
var {
|
|
131
148
|
signMessageAsync
|
|
132
149
|
} = (0, import_wagmi.useSignMessage)();
|
|
133
|
-
var onError = function onError2(
|
|
134
|
-
console.error("signIn error",
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
// user rejected, as some wallets report it
|
|
138
|
-
case 4001:
|
|
139
|
-
// MetaMask: user rejected
|
|
140
|
-
case "ACTION_REJECTED":
|
|
141
|
-
setStatus(import_SIWEContext.StatusState.REJECTED);
|
|
142
|
-
break;
|
|
143
|
-
default:
|
|
144
|
-
setStatus(import_SIWEContext.StatusState.ERROR);
|
|
145
|
-
}
|
|
150
|
+
var onError = function onError2(error2) {
|
|
151
|
+
console.error("signIn error", error2, error2.message);
|
|
152
|
+
setError(_instanceof(error2, Error) ? error2 : new Error(String(error2)));
|
|
153
|
+
setStatus(isUserRejection(error2) ? import_SIWEContext.StatusState.REJECTED : import_SIWEContext.StatusState.ERROR);
|
|
146
154
|
};
|
|
147
155
|
var signIn = async function signIn2() {
|
|
148
156
|
try {
|
|
@@ -154,6 +162,7 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
154
162
|
if (!address) throw new Error("No address found");
|
|
155
163
|
if (!chainId) throw new Error("No chainId found");
|
|
156
164
|
setStatus(import_SIWEContext.StatusState.LOADING);
|
|
165
|
+
setError(null);
|
|
157
166
|
var nonceValue = await queryClient.fetchQuery({
|
|
158
167
|
queryKey: [SIWE_NONCE_QUERY_KEY],
|
|
159
168
|
queryFn: function queryFn() {
|
|
@@ -203,8 +212,8 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
203
212
|
});
|
|
204
213
|
setStatus(import_SIWEContext.StatusState.READY);
|
|
205
214
|
return data;
|
|
206
|
-
} catch (
|
|
207
|
-
onError(
|
|
215
|
+
} catch (error2) {
|
|
216
|
+
onError(error2);
|
|
208
217
|
return false;
|
|
209
218
|
}
|
|
210
219
|
};
|
|
@@ -240,6 +249,7 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
240
249
|
signIn,
|
|
241
250
|
signOut: signOutAndRefetch,
|
|
242
251
|
status,
|
|
252
|
+
error,
|
|
243
253
|
resetStatus
|
|
244
254
|
},
|
|
245
255
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SIWEProvider_exports","__export","SIWEProvider","SIWE_NONCE_QUERY_KEY","SIWE_SESSION_QUERY_KEY","module","exports","import_jsx_runtime","require","import_react","import_wagmi","import_viem","import_react_query","import_connectkit","import_SIWEContext","import_connectkit2","import_connector","b64","b642","s","window","btoa","unescape","encodeURIComponent","SIWEProvider2","param","children","enabled","nonceRefetchInterval","sessionRefetchInterval","signOutOnDisconnect","signOutOnAccountChange","signOutOnNetworkChange","onSignIn","onSignOut","siweConfig","status","setStatus","useState","StatusState","READY","resetStatus","resetStatus2","useContext","SIWEContext","Error","Context","queryClient","useQueryClient","nonce","useQuery","queryKey","queryFn","getNonce","refetchInterval","refetchOnWindowFocus","refetchOnReconnect","staleTime","Infinity","subscribeNonceReset","refetchNonce","refetch","useEffect","session","getSession","sessionData","data","signOutAndRefetch","signOutAndRefetch2","LOADING","signOut","Promise","all","address","connectedAddress","useAccount","useAccountEffect","onDisconnect","chain","chainId","connectedChainId","connector","signMessageAsync","useSignMessage","onError","onError2","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SIWEProvider_exports","__export","SIWEProvider","SIWE_NONCE_QUERY_KEY","SIWE_SESSION_QUERY_KEY","module","exports","import_jsx_runtime","require","import_react","import_wagmi","import_viem","import_react_query","import_connectkit","import_SIWEContext","import_connectkit2","import_connector","_instanceof","left","right","Symbol","hasInstance","b64","b642","s","window","btoa","unescape","encodeURIComponent","isUserRejection","error","cause","depth","code","SIWEProvider2","param","children","enabled","nonceRefetchInterval","sessionRefetchInterval","signOutOnDisconnect","signOutOnAccountChange","signOutOnNetworkChange","onSignIn","onSignOut","siweConfig","status","setStatus","useState","StatusState","READY","setError","resetStatus","resetStatus2","useContext","SIWEContext","Error","Context","queryClient","useQueryClient","nonce","useQuery","queryKey","queryFn","getNonce","refetchInterval","refetchOnWindowFocus","refetchOnReconnect","staleTime","Infinity","subscribeNonceReset","refetchNonce","refetch","useEffect","session","getSession","sessionData","data","signOutAndRefetch","signOutAndRefetch2","LOADING","signOut","Promise","all","address","connectedAddress","useAccount","useAccountEffect","onDisconnect","chain","chainId","connectedChainId","connector","signMessageAsync","useSignMessage","onError","onError2","error2","console","message","String","REJECTED","ERROR","signIn","signIn2","_ref","id","nonceValue","fetchQuery","retry","createMessage","signature","isWalletConnector","client","clientForConnector","signMessage","onSign","result","username","password","SUCCESS","verifyMessage","then","res","_ref2","sameAddress","sameAddress2","a","b","getAddress","unused","toLowerCase","warn"],"sources":["../../../../src/connectkit/siwe/SIWEProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -34,9 +34,11 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
34
34
|
var KeycloakWalletLogin_exports = {};
|
|
35
35
|
__export(KeycloakWalletLogin_exports, {
|
|
36
36
|
KeycloakWalletLogin: () => KeycloakWalletLogin,
|
|
37
|
-
createKeycloakWalletConfig: () => createKeycloakWalletConfig
|
|
37
|
+
createKeycloakWalletConfig: () => createKeycloakWalletConfig,
|
|
38
|
+
walletLoginFailureMessage: () => walletLoginFailureMessage
|
|
38
39
|
});
|
|
39
40
|
module.exports = __toCommonJS(KeycloakWalletLogin_exports);
|
|
41
|
+
var import_connectkit = require("@multiplatform.one/connectkit");
|
|
40
42
|
var import_gpg = require("@multiplatform.one/gpg");
|
|
41
43
|
var import_react_query = require("@tanstack/react-query");
|
|
42
44
|
var import_react = require("react");
|
|
@@ -49,6 +51,7 @@ var import_SIWEContext = require("../connectkit/siwe/SIWEContext.cjs");
|
|
|
49
51
|
var import_useWeb3Modal = require("../connectkit/useWeb3Modal.cjs");
|
|
50
52
|
var import_web3Provider = require("../connectkit/web3Provider.cjs");
|
|
51
53
|
var import_keycloakWallet = require("./keycloakWallet.cjs");
|
|
54
|
+
var import_types = require("./types.cjs");
|
|
52
55
|
var import_useWalletLogin = require("./useWalletLogin.cjs");
|
|
53
56
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
54
57
|
const defaultChains = [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum];
|
|
@@ -83,14 +86,42 @@ const buttonStyle = {
|
|
|
83
86
|
marginTop: 8,
|
|
84
87
|
fontSize: 14,
|
|
85
88
|
cursor: "pointer",
|
|
86
|
-
border: "
|
|
89
|
+
border: "none",
|
|
87
90
|
borderRadius: 4,
|
|
88
|
-
background: "
|
|
91
|
+
background: "var(--ck-primary-button-background)",
|
|
92
|
+
color: "var(--ck-primary-button-color)"
|
|
93
|
+
};
|
|
94
|
+
const themeScopeStyle = {
|
|
95
|
+
display: "block"
|
|
89
96
|
};
|
|
90
97
|
const noticeStyle = {
|
|
91
98
|
margin: "8px 0 0",
|
|
92
99
|
fontSize: 13
|
|
93
100
|
};
|
|
101
|
+
const hiddenNoticeStyle = {
|
|
102
|
+
margin: 0
|
|
103
|
+
};
|
|
104
|
+
const errorStyle = {
|
|
105
|
+
...noticeStyle,
|
|
106
|
+
colorScheme: "light dark",
|
|
107
|
+
color: "light-dark(#dc3e42, #ec5d5e)"
|
|
108
|
+
};
|
|
109
|
+
const declinedMessage = "You declined the signature. Try again.";
|
|
110
|
+
const unreachableMessage = "Couldn't reach the sign-in server. Try again.";
|
|
111
|
+
const failedMessage = "Couldn't sign in. Try again.";
|
|
112
|
+
function walletLoginFailureMessage(status, error) {
|
|
113
|
+
if (status === import_SIWEContext.StatusState.REJECTED) return declinedMessage;
|
|
114
|
+
if (status !== import_SIWEContext.StatusState.ERROR) return void 0;
|
|
115
|
+
if (error instanceof TypeError) return unreachableMessage;
|
|
116
|
+
if (error instanceof import_types.KeycloakWalletError && (error.status < 300 || error.status >= 500)) {
|
|
117
|
+
return unreachableMessage;
|
|
118
|
+
}
|
|
119
|
+
return failedMessage;
|
|
120
|
+
}
|
|
121
|
+
const themedNoticeStyle = {
|
|
122
|
+
...noticeStyle,
|
|
123
|
+
color: "var(--ck-body-color)"
|
|
124
|
+
};
|
|
94
125
|
function KeycloakWalletLogin(props) {
|
|
95
126
|
const {
|
|
96
127
|
resource,
|
|
@@ -172,19 +203,22 @@ function LoginButtons({
|
|
|
172
203
|
walletLabel = "Sign in with Wallet",
|
|
173
204
|
gpgLabel = "Sign in with GPG",
|
|
174
205
|
className,
|
|
175
|
-
buttonClassName
|
|
206
|
+
buttonClassName,
|
|
207
|
+
errorClassName
|
|
176
208
|
}) {
|
|
177
209
|
const {
|
|
178
210
|
login,
|
|
179
211
|
status,
|
|
180
|
-
dropped
|
|
212
|
+
dropped,
|
|
213
|
+
error
|
|
181
214
|
} = (0, import_useWalletLogin.useWalletLogin)();
|
|
182
215
|
const {
|
|
183
216
|
openGpg
|
|
184
217
|
} = (0, import_useWeb3Modal.useWeb3Modal)();
|
|
185
218
|
const style = buttonClassName ? void 0 : buttonStyle;
|
|
186
219
|
const busy = status === import_SIWEContext.StatusState.LOADING || status === import_SIWEContext.StatusState.SUCCESS;
|
|
187
|
-
|
|
220
|
+
const failure = dropped || busy ? void 0 : walletLoginFailureMessage(status, error);
|
|
221
|
+
const buttons = /* @__PURE__ */(0, import_jsx_runtime.jsxs)("div", {
|
|
188
222
|
className: className ?? "mpo-keycloak-wallet-login",
|
|
189
223
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)("button", {
|
|
190
224
|
type: "button",
|
|
@@ -199,10 +233,16 @@ function LoginButtons({
|
|
|
199
233
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletIcon, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
200
234
|
children: busy ? "Signing\u2026" : walletLabel
|
|
201
235
|
})]
|
|
236
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("p", {
|
|
237
|
+
id: "mpo-wallet-login-error",
|
|
238
|
+
"aria-live": "polite",
|
|
239
|
+
className: failure ? errorClassName : void 0,
|
|
240
|
+
style: !failure ? hiddenNoticeStyle : errorClassName ? void 0 : errorStyle,
|
|
241
|
+
children: failure
|
|
202
242
|
}), dropped && !busy && /* @__PURE__ */(0, import_jsx_runtime.jsxs)("p", {
|
|
203
243
|
id: "mpo-wallet-login-dropped",
|
|
204
244
|
role: "status",
|
|
205
|
-
style: noticeStyle,
|
|
245
|
+
style: style ? themedNoticeStyle : noticeStyle,
|
|
206
246
|
children: ["The wallet connection was lost. Tap ", walletLabel, " to connect again."]
|
|
207
247
|
}), gpg && /* @__PURE__ */(0, import_jsx_runtime.jsxs)("button", {
|
|
208
248
|
type: "button",
|
|
@@ -218,6 +258,26 @@ function LoginButtons({
|
|
|
218
258
|
})]
|
|
219
259
|
})]
|
|
220
260
|
});
|
|
261
|
+
return buttonClassName ? buttons : /* @__PURE__ */(0, import_jsx_runtime.jsx)(ThemeScope, {
|
|
262
|
+
children: buttons
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
function ThemeScope({
|
|
266
|
+
children
|
|
267
|
+
}) {
|
|
268
|
+
const {
|
|
269
|
+
theme,
|
|
270
|
+
mode,
|
|
271
|
+
customTheme
|
|
272
|
+
} = (0, import_connectkit.useContext)();
|
|
273
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_connectkit.ResetContainer, {
|
|
274
|
+
"data-mpo-wallet-theme": "",
|
|
275
|
+
$useTheme: theme,
|
|
276
|
+
$useMode: mode,
|
|
277
|
+
$customTheme: customTheme,
|
|
278
|
+
style: themeScopeStyle,
|
|
279
|
+
children
|
|
280
|
+
});
|
|
221
281
|
}
|
|
222
282
|
function WalletIcon() {
|
|
223
283
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)("svg", {
|
|
@@ -82,7 +82,7 @@ function useWalletLogin(opts = {}) {
|
|
|
82
82
|
}, [signIn, siwe]);
|
|
83
83
|
const login = (0, import_react.useCallback)(async () => {
|
|
84
84
|
setDropped(false);
|
|
85
|
-
if (!signIn && siwe?.status === import_SIWEContext.StatusState.ERROR) siwe.resetStatus();
|
|
85
|
+
if (!signIn && (siwe?.status === import_SIWEContext.StatusState.ERROR || siwe?.status === import_SIWEContext.StatusState.REJECTED)) siwe.resetStatus();
|
|
86
86
|
if (isConnected) {
|
|
87
87
|
await sign();
|
|
88
88
|
return;
|
|
@@ -107,6 +107,7 @@ function useWalletLogin(opts = {}) {
|
|
|
107
107
|
status: signIn ? signIn.status : siwe?.status ?? import_SIWEContext.StatusState.ERROR,
|
|
108
108
|
isConnected,
|
|
109
109
|
address,
|
|
110
|
-
dropped
|
|
110
|
+
dropped,
|
|
111
|
+
error: signIn ? null : siwe?.error ?? null
|
|
111
112
|
};
|
|
112
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","StatusState","READY","LOADING","SUCCESS","REJECTED","ERROR","SIWEContext"],"sources":["../../../../src/connectkit/siwe/SIWEContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,QAAqB;AAIvB,MAAMC,WAAA,GAAc;EACzBC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,KAAA,EAAO;AACT;
|
|
1
|
+
{"version":3,"names":["createContext","StatusState","READY","LOADING","SUCCESS","REJECTED","ERROR","SIWEContext"],"sources":["../../../../src/connectkit/siwe/SIWEContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,QAAqB;AAIvB,MAAMC,WAAA,GAAc;EACzBC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,KAAA,EAAO;AACT;AA2DO,MAAMC,WAAA,GAAcP,aAAA,CAAuC,IAAI","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","StatusState","READY","LOADING","SUCCESS","REJECTED","ERROR","SIWEContext"],"sources":["../../../../src/connectkit/siwe/SIWEContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,QAAqB;AAIvB,IAAAC,WAAM;EACXC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,KAAA,EAAO;AACT;
|
|
1
|
+
{"version":3,"names":["createContext","StatusState","READY","LOADING","SUCCESS","REJECTED","ERROR","SIWEContext"],"sources":["../../../../src/connectkit/siwe/SIWEContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,QAAqB;AAIvB,IAAAC,WAAM;EACXC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,KAAA,EAAO;AACT;AA2DO,IAAAC,WAAM,kBAAqDP,aAAI","ignoreList":[]}
|
|
@@ -10,6 +10,12 @@ import { jsx } from "react/jsx-runtime";
|
|
|
10
10
|
const SIWE_NONCE_QUERY_KEY = "ckSiweNonce";
|
|
11
11
|
const SIWE_SESSION_QUERY_KEY = "ckSiweSession";
|
|
12
12
|
const b64 = s => window.btoa(unescape(encodeURIComponent(s)));
|
|
13
|
+
function isUserRejection(error) {
|
|
14
|
+
for (let cause = error, depth = 0; cause && depth < 8; cause = cause.cause, depth++) {
|
|
15
|
+
if (cause.code === -32e3 || cause.code === 4001 || cause.code === "ACTION_REJECTED") return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
13
19
|
const SIWEProvider = ({
|
|
14
20
|
children,
|
|
15
21
|
enabled = true,
|
|
@@ -23,7 +29,11 @@ const SIWEProvider = ({
|
|
|
23
29
|
...siweConfig
|
|
24
30
|
}) => {
|
|
25
31
|
const [status, setStatus] = useState(StatusState.READY);
|
|
26
|
-
const
|
|
32
|
+
const [error, setError] = useState(null);
|
|
33
|
+
const resetStatus = () => {
|
|
34
|
+
setStatus(StatusState.READY);
|
|
35
|
+
setError(null);
|
|
36
|
+
};
|
|
27
37
|
if (useContext(SIWEContext)) {
|
|
28
38
|
throw new Error("Multiple, nested usages of SIWEProvider detected. Please use only one.");
|
|
29
39
|
}
|
|
@@ -90,19 +100,10 @@ const SIWEProvider = ({
|
|
|
90
100
|
const {
|
|
91
101
|
signMessageAsync
|
|
92
102
|
} = useSignMessage();
|
|
93
|
-
const onError =
|
|
94
|
-
console.error("signIn error",
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// user rejected, as some wallets report it
|
|
98
|
-
case 4001:
|
|
99
|
-
// MetaMask: user rejected
|
|
100
|
-
case "ACTION_REJECTED":
|
|
101
|
-
setStatus(StatusState.REJECTED);
|
|
102
|
-
break;
|
|
103
|
-
default:
|
|
104
|
-
setStatus(StatusState.ERROR);
|
|
105
|
-
}
|
|
103
|
+
const onError = error2 => {
|
|
104
|
+
console.error("signIn error", error2, error2.message);
|
|
105
|
+
setError(error2 instanceof Error ? error2 : new Error(String(error2)));
|
|
106
|
+
setStatus(isUserRejection(error2) ? StatusState.REJECTED : StatusState.ERROR);
|
|
106
107
|
};
|
|
107
108
|
const signIn = async () => {
|
|
108
109
|
try {
|
|
@@ -113,6 +114,7 @@ const SIWEProvider = ({
|
|
|
113
114
|
if (!address) throw new Error("No address found");
|
|
114
115
|
if (!chainId) throw new Error("No chainId found");
|
|
115
116
|
setStatus(StatusState.LOADING);
|
|
117
|
+
setError(null);
|
|
116
118
|
const nonceValue = await queryClient.fetchQuery({
|
|
117
119
|
queryKey: [SIWE_NONCE_QUERY_KEY],
|
|
118
120
|
queryFn: () => siweConfig.getNonce(),
|
|
@@ -159,8 +161,8 @@ const SIWEProvider = ({
|
|
|
159
161
|
});
|
|
160
162
|
setStatus(StatusState.READY);
|
|
161
163
|
return data;
|
|
162
|
-
} catch (
|
|
163
|
-
onError(
|
|
164
|
+
} catch (error2) {
|
|
165
|
+
onError(error2);
|
|
164
166
|
return false;
|
|
165
167
|
}
|
|
166
168
|
};
|
|
@@ -196,6 +198,7 @@ const SIWEProvider = ({
|
|
|
196
198
|
signIn,
|
|
197
199
|
signOut: signOutAndRefetch,
|
|
198
200
|
status,
|
|
201
|
+
error,
|
|
199
202
|
resetStatus
|
|
200
203
|
},
|
|
201
204
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContext","useEffect","useState","useAccount","useAccountEffect","useSignMessage","getAddress","useQuery","useQueryClient","Context","ConnectKitContext","SIWEContext","StatusState","isWalletConnector","clientForConnector","jsx","SIWE_NONCE_QUERY_KEY","SIWE_SESSION_QUERY_KEY","b64","s","window","btoa","unescape","encodeURIComponent","SIWEProvider","children","enabled","nonceRefetchInterval","sessionRefetchInterval","signOutOnDisconnect","signOutOnAccountChange","signOutOnNetworkChange","onSignIn","onSignOut","siweConfig","status","setStatus","READY","resetStatus","Error","queryClient","nonce","queryKey","queryFn","getNonce","refetchInterval","refetchOnWindowFocus","refetchOnReconnect","staleTime","Infinity","subscribeNonceReset","refetchNonce","refetch","session","getSession","sessionData","data","signOutAndRefetch","LOADING","signOut","Promise","all","address","connectedAddress","onDisconnect","chain","chainId","connectedChainId","connector","signMessageAsync","onError","
|
|
1
|
+
{"version":3,"names":["useContext","useEffect","useState","useAccount","useAccountEffect","useSignMessage","getAddress","useQuery","useQueryClient","Context","ConnectKitContext","SIWEContext","StatusState","isWalletConnector","clientForConnector","jsx","SIWE_NONCE_QUERY_KEY","SIWE_SESSION_QUERY_KEY","b64","s","window","btoa","unescape","encodeURIComponent","isUserRejection","error","cause","depth","code","SIWEProvider","children","enabled","nonceRefetchInterval","sessionRefetchInterval","signOutOnDisconnect","signOutOnAccountChange","signOutOnNetworkChange","onSignIn","onSignOut","siweConfig","status","setStatus","READY","setError","resetStatus","Error","queryClient","nonce","queryKey","queryFn","getNonce","refetchInterval","refetchOnWindowFocus","refetchOnReconnect","staleTime","Infinity","subscribeNonceReset","refetchNonce","refetch","session","getSession","sessionData","data","signOutAndRefetch","LOADING","signOut","Promise","all","address","connectedAddress","onDisconnect","chain","chainId","connectedChainId","connector","signMessageAsync","onError","console","error2","message","String","REJECTED","ERROR","signIn","id","nonceValue","fetchQuery","retry","createMessage","signature","client","signMessage","onSign","result","username","password","SUCCESS","verifyMessage","then","res","sameAddress","a","b","toLowerCase","warn","Provider","value"],"sources":["../../../../src/connectkit/siwe/SIWEProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -7,11 +7,26 @@ import { Context as ConnectKitContext } from "@multiplatform.one/connectkit";
|
|
|
7
7
|
import { SIWEContext, StatusState } from "./SIWEContext.native.js";
|
|
8
8
|
import { isWalletConnector } from "@multiplatform.one/connectkit";
|
|
9
9
|
import { clientForConnector } from "../../clients/connector.native.js";
|
|
10
|
+
function _instanceof(left, right) {
|
|
11
|
+
"@swc/helpers - instanceof";
|
|
12
|
+
|
|
13
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
14
|
+
return !!right[Symbol.hasInstance](left);
|
|
15
|
+
} else {
|
|
16
|
+
return left instanceof right;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
10
19
|
var SIWE_NONCE_QUERY_KEY = "ckSiweNonce";
|
|
11
20
|
var SIWE_SESSION_QUERY_KEY = "ckSiweSession";
|
|
12
21
|
var b64 = function b642(s) {
|
|
13
22
|
return window.btoa(unescape(encodeURIComponent(s)));
|
|
14
23
|
};
|
|
24
|
+
function isUserRejection(error) {
|
|
25
|
+
for (var cause = error, depth = 0; cause && depth < 8; cause = cause.cause, depth++) {
|
|
26
|
+
if (cause.code === -32e3 || cause.code === 4001 || cause.code === "ACTION_REJECTED") return true;
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
15
30
|
var SIWEProvider = function SIWEProvider2(param) {
|
|
16
31
|
var {
|
|
17
32
|
children,
|
|
@@ -26,8 +41,10 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
26
41
|
...siweConfig
|
|
27
42
|
} = param;
|
|
28
43
|
var [status, setStatus] = useState(StatusState.READY);
|
|
44
|
+
var [error, setError] = useState(null);
|
|
29
45
|
var resetStatus = function resetStatus2() {
|
|
30
|
-
|
|
46
|
+
setStatus(StatusState.READY);
|
|
47
|
+
setError(null);
|
|
31
48
|
};
|
|
32
49
|
if (useContext(SIWEContext)) {
|
|
33
50
|
throw new Error("Multiple, nested usages of SIWEProvider detected. Please use only one.");
|
|
@@ -99,19 +116,10 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
99
116
|
var {
|
|
100
117
|
signMessageAsync
|
|
101
118
|
} = useSignMessage();
|
|
102
|
-
var onError = function onError2(
|
|
103
|
-
console.error("signIn error",
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// user rejected, as some wallets report it
|
|
107
|
-
case 4001:
|
|
108
|
-
// MetaMask: user rejected
|
|
109
|
-
case "ACTION_REJECTED":
|
|
110
|
-
setStatus(StatusState.REJECTED);
|
|
111
|
-
break;
|
|
112
|
-
default:
|
|
113
|
-
setStatus(StatusState.ERROR);
|
|
114
|
-
}
|
|
119
|
+
var onError = function onError2(error2) {
|
|
120
|
+
console.error("signIn error", error2, error2.message);
|
|
121
|
+
setError(_instanceof(error2, Error) ? error2 : new Error(String(error2)));
|
|
122
|
+
setStatus(isUserRejection(error2) ? StatusState.REJECTED : StatusState.ERROR);
|
|
115
123
|
};
|
|
116
124
|
var signIn = async function signIn2() {
|
|
117
125
|
try {
|
|
@@ -123,6 +131,7 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
123
131
|
if (!address) throw new Error("No address found");
|
|
124
132
|
if (!chainId) throw new Error("No chainId found");
|
|
125
133
|
setStatus(StatusState.LOADING);
|
|
134
|
+
setError(null);
|
|
126
135
|
var nonceValue = await queryClient.fetchQuery({
|
|
127
136
|
queryKey: [SIWE_NONCE_QUERY_KEY],
|
|
128
137
|
queryFn: function queryFn() {
|
|
@@ -172,8 +181,8 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
172
181
|
});
|
|
173
182
|
setStatus(StatusState.READY);
|
|
174
183
|
return data;
|
|
175
|
-
} catch (
|
|
176
|
-
onError(
|
|
184
|
+
} catch (error2) {
|
|
185
|
+
onError(error2);
|
|
177
186
|
return false;
|
|
178
187
|
}
|
|
179
188
|
};
|
|
@@ -209,6 +218,7 @@ var SIWEProvider = function SIWEProvider2(param) {
|
|
|
209
218
|
signIn,
|
|
210
219
|
signOut: signOutAndRefetch,
|
|
211
220
|
status,
|
|
221
|
+
error,
|
|
212
222
|
resetStatus
|
|
213
223
|
},
|
|
214
224
|
children
|