@bwalletx/connect 0.5.4 → 0.7.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 +56 -0
- package/README.md +97 -9
- package/dist/bwalletx-connect.global.js +97 -25
- package/dist/bwalletx-connect.global.js.map +1 -1
- package/dist/choice-B97AjqF4.d.cts +442 -0
- package/dist/choice-B97AjqF4.d.ts +442 -0
- package/dist/chunk-6EFFOIHK.js +2441 -0
- package/dist/chunk-6EFFOIHK.js.map +1 -0
- package/dist/{chunk-QRXFL66W.js → chunk-A2WLGS25.js} +6 -4
- package/dist/chunk-A2WLGS25.js.map +1 -0
- package/dist/chunk-DIKJFKND.js +239 -0
- package/dist/chunk-DIKJFKND.js.map +1 -0
- package/dist/chunk-TNRI7ARM.js +206 -0
- package/dist/chunk-TNRI7ARM.js.map +1 -0
- package/dist/element-BXEoOdXY.d.cts +53 -0
- package/dist/element-BXEoOdXY.d.ts +53 -0
- package/dist/element.cjs +1576 -60
- package/dist/element.cjs.map +1 -1
- package/dist/element.d.cts +26 -26
- package/dist/element.d.ts +26 -26
- package/dist/element.js +35 -2
- package/dist/element.js.map +1 -1
- package/dist/index.cjs +2046 -454
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +323 -16
- package/dist/index.d.ts +323 -16
- package/dist/index.js +186 -12
- package/dist/index.js.map +1 -1
- package/dist/next.cjs +5 -3
- package/dist/next.cjs.map +1 -1
- package/dist/next.js +1 -1
- package/dist/react.cjs +1601 -210
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +115 -9
- package/dist/react.d.ts +115 -9
- package/dist/react.js +262 -46
- package/dist/react.js.map +1 -1
- package/dist/server.cjs +5 -3
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +8 -3
- package/dist/server.d.ts +8 -3
- package/dist/server.js +1 -1
- package/package.json +10 -9
- package/dist/chunk-EXRQJTXF.js +0 -910
- package/dist/chunk-EXRQJTXF.js.map +0 -1
- package/dist/chunk-QRXFL66W.js.map +0 -1
- package/dist/chunk-RIOHG5JH.js +0 -459
- package/dist/chunk-RIOHG5JH.js.map +0 -1
- package/dist/wallets-CbzMtxrf.d.cts +0 -250
- package/dist/wallets-CbzMtxrf.d.ts +0 -250
package/dist/index.js
CHANGED
|
@@ -1,53 +1,141 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BUTTON_TAG,
|
|
3
|
+
CONNECTED_KEY,
|
|
4
|
+
defineBwalletxButton,
|
|
5
|
+
dropLegacyConnectedKey,
|
|
6
|
+
getUrlFor,
|
|
7
|
+
handleLabel,
|
|
8
|
+
migrateConnectedKey,
|
|
9
|
+
stateFor
|
|
10
|
+
} from "./chunk-DIKJFKND.js";
|
|
1
11
|
import {
|
|
2
12
|
BRC29_PROTOCOL,
|
|
13
|
+
NO_COINS_TEXT,
|
|
3
14
|
PaymentError,
|
|
4
15
|
WALLET_THEME_META,
|
|
5
16
|
amountInSats,
|
|
6
|
-
brc100Option,
|
|
7
17
|
buyToken,
|
|
8
18
|
declareWalletTheme,
|
|
9
|
-
discoverWallets,
|
|
10
|
-
handcashAdapter,
|
|
11
19
|
isIdentityKeyHex,
|
|
20
|
+
isInsufficientFunds,
|
|
12
21
|
isPaymail,
|
|
13
|
-
isTouchDevice,
|
|
14
|
-
pairingModal,
|
|
15
|
-
pairingOption,
|
|
16
22
|
pay,
|
|
17
|
-
pickWallet,
|
|
18
|
-
qrSvg,
|
|
19
23
|
resolvePaymailP2P,
|
|
20
24
|
tip
|
|
21
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-TNRI7ARM.js";
|
|
22
26
|
import {
|
|
27
|
+
BAVATAR_URL,
|
|
23
28
|
BWALLETX_RDNS,
|
|
29
|
+
BWALLETX_TYPE,
|
|
30
|
+
CONTINUE_OTHER_LABEL,
|
|
24
31
|
DEFAULT_DISCOVER_MS,
|
|
32
|
+
DESKTOP_OPTION_ID,
|
|
25
33
|
GET_URL,
|
|
34
|
+
IDENTITY_HINT_KEY,
|
|
35
|
+
KNOWN_KEYS_KEY,
|
|
26
36
|
LOGIN_PROTOCOL,
|
|
37
|
+
MENU_CSS,
|
|
38
|
+
METANET_ANSWER_MS,
|
|
39
|
+
METANET_JSON_API,
|
|
40
|
+
METANET_LABEL,
|
|
41
|
+
METANET_NOTE,
|
|
42
|
+
METANET_OPTION_ID,
|
|
43
|
+
METANET_REMEMBERED_NOTE,
|
|
44
|
+
METANET_SILENT_MS,
|
|
45
|
+
METANET_TYPE,
|
|
46
|
+
METANET_UNREACHABLE,
|
|
47
|
+
MetanetUnreachableError,
|
|
48
|
+
NOT_YOU_LABEL,
|
|
49
|
+
PAYMAIL_LOOKUP_URL,
|
|
50
|
+
PENDING_LABEL,
|
|
51
|
+
PENDING_LABEL_OTHER,
|
|
52
|
+
PENDING_NOTE,
|
|
27
53
|
RDNS_EXTENSION,
|
|
28
54
|
RDNS_MOBILE,
|
|
29
55
|
SIGNIN_CSS,
|
|
30
56
|
SIGNIN_TAG,
|
|
57
|
+
SWITCH_NOTE,
|
|
58
|
+
WALLET_CHOICE_KEY,
|
|
31
59
|
WEB_WALLET_URL,
|
|
60
|
+
accountLabel,
|
|
61
|
+
attachRemembered,
|
|
62
|
+
attemptFor,
|
|
63
|
+
autoChoice,
|
|
64
|
+
avatarUrlFor,
|
|
32
65
|
bindPrewarm,
|
|
66
|
+
brc100Option,
|
|
33
67
|
buildAuthorizeUrl,
|
|
68
|
+
challengeWantsIdentityKey,
|
|
69
|
+
chooseWallet,
|
|
70
|
+
chooserOrder,
|
|
71
|
+
claimSilentAttempt,
|
|
34
72
|
clearPairing,
|
|
35
73
|
connectBwalletX,
|
|
74
|
+
connectMetanetDesktop,
|
|
75
|
+
cwiIsAnnounced,
|
|
76
|
+
decideWallet,
|
|
36
77
|
defineBwalletxSignin,
|
|
78
|
+
desktopOption,
|
|
37
79
|
discoverBwalletX,
|
|
80
|
+
discoverWallets,
|
|
38
81
|
findBwalletX,
|
|
82
|
+
forgetWalletChoice,
|
|
83
|
+
handcashAdapter,
|
|
84
|
+
hasBwalletX,
|
|
85
|
+
inAnyFrame,
|
|
39
86
|
inOrder,
|
|
87
|
+
isExplicitPick,
|
|
88
|
+
isFramed,
|
|
89
|
+
isKnownIdentityKey,
|
|
90
|
+
isLocalDesktop,
|
|
91
|
+
isLocalDesktopType,
|
|
92
|
+
isPresentBwalletX,
|
|
93
|
+
isRememberable,
|
|
94
|
+
isTouchDevice,
|
|
95
|
+
isUserRejection,
|
|
96
|
+
knownIdentityKeys,
|
|
97
|
+
lookupPaymail,
|
|
40
98
|
markSvg,
|
|
99
|
+
matchRemembered,
|
|
100
|
+
metanetOffered,
|
|
101
|
+
metanetOption,
|
|
102
|
+
needsBwalletX,
|
|
103
|
+
otherDetected,
|
|
104
|
+
outcomeOf,
|
|
41
105
|
pairBwalletX,
|
|
106
|
+
pairingModal,
|
|
107
|
+
pairingOption,
|
|
108
|
+
pickWallet,
|
|
109
|
+
planAutoConnect,
|
|
42
110
|
prewarmBwalletX,
|
|
43
111
|
proveHoldings,
|
|
112
|
+
qrSvg,
|
|
113
|
+
rememberIdentity,
|
|
114
|
+
rememberKnownIdentityKey,
|
|
115
|
+
rememberWalletChoice,
|
|
116
|
+
rememberedIdentity,
|
|
117
|
+
rememberedWalletChoice,
|
|
118
|
+
reportAttempt,
|
|
44
119
|
requestAccess,
|
|
120
|
+
resetSilentAttempt,
|
|
45
121
|
restorePairing,
|
|
122
|
+
runConnect,
|
|
123
|
+
runSilentMetanet,
|
|
124
|
+
shortKey,
|
|
125
|
+
signInAndVerify,
|
|
126
|
+
signInErrorText,
|
|
46
127
|
signInWithBwalletX,
|
|
47
128
|
signinText,
|
|
129
|
+
silentAttemptUsed,
|
|
130
|
+
substrateOf,
|
|
131
|
+
tapGoesElsewhere,
|
|
48
132
|
throwIfAccessError,
|
|
49
|
-
toAccessError
|
|
50
|
-
|
|
133
|
+
toAccessError,
|
|
134
|
+
trySilentMetanet,
|
|
135
|
+
waitIfLocked,
|
|
136
|
+
walletTypeOf,
|
|
137
|
+
warnIfNoLogout
|
|
138
|
+
} from "./chunk-6EFFOIHK.js";
|
|
51
139
|
import {
|
|
52
140
|
ACCESS_ERROR_STATUS,
|
|
53
141
|
ACCESS_PROTOCOL,
|
|
@@ -107,57 +195,143 @@ export {
|
|
|
107
195
|
ACCESS_PROTOCOL,
|
|
108
196
|
ACCESS_VERSION,
|
|
109
197
|
AccessError,
|
|
198
|
+
BAVATAR_URL,
|
|
110
199
|
BRC29_PROTOCOL,
|
|
200
|
+
BUTTON_TAG,
|
|
111
201
|
BWALLETX_RDNS,
|
|
202
|
+
BWALLETX_TYPE,
|
|
203
|
+
CONNECTED_KEY,
|
|
204
|
+
CONTINUE_OTHER_LABEL,
|
|
112
205
|
DEFAULT_DISCOVER_MS,
|
|
206
|
+
DESKTOP_OPTION_ID,
|
|
113
207
|
GET_URL,
|
|
208
|
+
IDENTITY_HINT_KEY,
|
|
209
|
+
KNOWN_KEYS_KEY,
|
|
114
210
|
LOGIN_PROTOCOL,
|
|
115
211
|
LOGO_URL,
|
|
212
|
+
MENU_CSS,
|
|
213
|
+
METANET_ANSWER_MS,
|
|
214
|
+
METANET_JSON_API,
|
|
215
|
+
METANET_LABEL,
|
|
216
|
+
METANET_NOTE,
|
|
217
|
+
METANET_OPTION_ID,
|
|
218
|
+
METANET_REMEMBERED_NOTE,
|
|
219
|
+
METANET_SILENT_MS,
|
|
220
|
+
METANET_TYPE,
|
|
221
|
+
METANET_UNREACHABLE,
|
|
222
|
+
MetanetUnreachableError,
|
|
223
|
+
NOT_YOU_LABEL,
|
|
224
|
+
NO_COINS_TEXT,
|
|
225
|
+
PAYMAIL_LOOKUP_URL,
|
|
226
|
+
PENDING_LABEL,
|
|
227
|
+
PENDING_LABEL_OTHER,
|
|
228
|
+
PENDING_NOTE,
|
|
116
229
|
PROTOCOL_MEDIA,
|
|
117
230
|
PaymentError,
|
|
118
231
|
RDNS_EXTENSION,
|
|
119
232
|
RDNS_MOBILE,
|
|
120
233
|
SIGNIN_CSS,
|
|
121
234
|
SIGNIN_TAG,
|
|
235
|
+
SWITCH_NOTE,
|
|
236
|
+
WALLET_CHOICE_KEY,
|
|
122
237
|
WALLET_THEME_META,
|
|
123
238
|
WEB_WALLET_URL,
|
|
124
239
|
accessErrorMessage,
|
|
240
|
+
accountLabel,
|
|
125
241
|
amountInSats,
|
|
242
|
+
attachRemembered,
|
|
243
|
+
attemptFor,
|
|
244
|
+
autoChoice,
|
|
245
|
+
avatarUrlFor,
|
|
126
246
|
bindPrewarm,
|
|
127
247
|
brc100Option,
|
|
128
248
|
buildAuthorizeUrl,
|
|
129
249
|
buyToken,
|
|
130
250
|
canonicalJson,
|
|
251
|
+
challengeWantsIdentityKey,
|
|
252
|
+
chooseWallet,
|
|
253
|
+
chooserOrder,
|
|
254
|
+
claimSilentAttempt,
|
|
131
255
|
clearPairing,
|
|
132
256
|
connectBwalletX,
|
|
257
|
+
connectMetanetDesktop,
|
|
258
|
+
cwiIsAnnounced,
|
|
259
|
+
decideWallet,
|
|
133
260
|
declareWalletTheme,
|
|
261
|
+
defineBwalletxButton,
|
|
134
262
|
defineBwalletxSignin,
|
|
263
|
+
desktopOption,
|
|
135
264
|
discoverBwalletX,
|
|
136
265
|
discoverWallets,
|
|
266
|
+
dropLegacyConnectedKey,
|
|
137
267
|
findBwalletX,
|
|
268
|
+
forgetWalletChoice,
|
|
269
|
+
getUrlFor,
|
|
138
270
|
handcashAdapter,
|
|
271
|
+
handleLabel,
|
|
272
|
+
hasBwalletX,
|
|
273
|
+
inAnyFrame,
|
|
139
274
|
inOrder,
|
|
275
|
+
isExplicitPick,
|
|
276
|
+
isFramed,
|
|
140
277
|
isIdentityKeyHex,
|
|
278
|
+
isInsufficientFunds,
|
|
279
|
+
isKnownIdentityKey,
|
|
280
|
+
isLocalDesktop,
|
|
281
|
+
isLocalDesktopType,
|
|
141
282
|
isPaymail,
|
|
283
|
+
isPresentBwalletX,
|
|
284
|
+
isRememberable,
|
|
142
285
|
isTouchDevice,
|
|
286
|
+
isUserRejection,
|
|
287
|
+
knownIdentityKeys,
|
|
288
|
+
lookupPaymail,
|
|
143
289
|
markSvg,
|
|
290
|
+
matchRemembered,
|
|
291
|
+
metanetOffered,
|
|
292
|
+
metanetOption,
|
|
293
|
+
migrateConnectedKey,
|
|
294
|
+
needsBwalletX,
|
|
295
|
+
otherDetected,
|
|
296
|
+
outcomeOf,
|
|
144
297
|
pairBwalletX,
|
|
145
298
|
pairingModal,
|
|
146
299
|
pairingOption,
|
|
147
300
|
pay,
|
|
148
301
|
pickWallet,
|
|
302
|
+
planAutoConnect,
|
|
149
303
|
prewarmBwalletX,
|
|
150
304
|
protocolMediaUrl,
|
|
151
305
|
proveHoldings,
|
|
152
306
|
qrSvg,
|
|
307
|
+
rememberIdentity,
|
|
308
|
+
rememberKnownIdentityKey,
|
|
309
|
+
rememberWalletChoice,
|
|
310
|
+
rememberedIdentity,
|
|
311
|
+
rememberedWalletChoice,
|
|
153
312
|
renderButton,
|
|
313
|
+
reportAttempt,
|
|
154
314
|
requestAccess,
|
|
315
|
+
resetSilentAttempt,
|
|
155
316
|
resolvePaymailP2P,
|
|
156
317
|
restorePairing,
|
|
318
|
+
runConnect,
|
|
319
|
+
runSilentMetanet,
|
|
320
|
+
shortKey,
|
|
321
|
+
signInAndVerify,
|
|
322
|
+
signInErrorText,
|
|
157
323
|
signInWithBwalletX,
|
|
158
324
|
signinText,
|
|
325
|
+
silentAttemptUsed,
|
|
326
|
+
stateFor,
|
|
327
|
+
substrateOf,
|
|
328
|
+
tapGoesElsewhere,
|
|
159
329
|
throwIfAccessError,
|
|
160
330
|
tip,
|
|
161
|
-
toAccessError
|
|
331
|
+
toAccessError,
|
|
332
|
+
trySilentMetanet,
|
|
333
|
+
waitIfLocked,
|
|
334
|
+
walletTypeOf,
|
|
335
|
+
warnIfNoLogout
|
|
162
336
|
};
|
|
163
337
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/button.ts"],"sourcesContent":["const CSS = `\n.bwx-signin{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:10px 22px 10px 10px;border:0;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#fcd34d,#f59e0b);color:#000;text-align:left;font:700 16px/1.2 system-ui,-apple-system,\"Segoe UI\",sans-serif;box-shadow:0 8px 24px rgba(245,158,11,.2)}\n.bwx-signin:hover{background:linear-gradient(180deg,#fde68a,#fbbf24)}\n.bwx-signin:focus-visible{outline:2px solid #ffd24d;outline-offset:3px}\n.bwx-signin:disabled{opacity:.6;cursor:wait}\n.bwx-signin .bwx-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#000;flex:none}\n.bwx-signin small{display:block;font-size:11px;font-weight:500;color:rgba(0,0,0,.6)}`;\n\nexport const LOGO_URL = 'https://bwalletx.com/logo.svg';\n\nexport interface ButtonOptions {\n /** Second line under the label. Default \"also works with bWallet\". false hides it. */\n subtitle?: string | false;\n onClick?: (button: HTMLButtonElement) => void;\n}\n\n/** Put the gold \"Sign in with bWalletX\" button into `el` (replacing its contents). */\nexport function renderButton(el: HTMLElement | string, opts: ButtonOptions = {}): HTMLButtonElement {\n const host = typeof el === 'string' ? document.querySelector<HTMLElement>(el) : el;\n if (!host) throw new Error(`renderButton: no element ${String(el)}`);\n if (!document.getElementById('bwx-signin-css')) {\n const style = document.createElement('style');\n style.id = 'bwx-signin-css';\n style.textContent = CSS;\n document.head.appendChild(style);\n }\n const b = document.createElement('button');\n b.type = 'button';\n b.className = 'bwx-signin';\n const mark = document.createElement('span');\n mark.className = 'bwx-mark';\n const img = document.createElement('img');\n img.src = LOGO_URL;\n img.alt = '';\n img.width = 15;\n img.height = 20;\n mark.appendChild(img);\n const label = document.createElement('span');\n label.className = 'bwx-label';\n label.textContent = 'Sign in with bWalletX';\n const sub = opts.subtitle === undefined ? 'also works with bWallet' : opts.subtitle;\n if (sub) {\n const small = document.createElement('small');\n small.textContent = sub;\n label.appendChild(small);\n }\n b.append(mark, label);\n if (opts.onClick) b.addEventListener('click', () => opts.onClick!(b));\n host.replaceChildren(b);\n return b;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/button.ts"],"sourcesContent":["const CSS = `\n.bwx-signin{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:10px 22px 10px 10px;border:0;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#fcd34d,#f59e0b);color:#000;text-align:left;font:700 16px/1.2 system-ui,-apple-system,\"Segoe UI\",sans-serif;box-shadow:0 8px 24px rgba(245,158,11,.2)}\n.bwx-signin:hover{background:linear-gradient(180deg,#fde68a,#fbbf24)}\n.bwx-signin:focus-visible{outline:2px solid #ffd24d;outline-offset:3px}\n.bwx-signin:disabled{opacity:.6;cursor:wait}\n.bwx-signin .bwx-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#000;flex:none}\n.bwx-signin small{display:block;font-size:11px;font-weight:500;color:rgba(0,0,0,.6)}`;\n\nexport const LOGO_URL = 'https://bwalletx.com/logo.svg';\n\nexport interface ButtonOptions {\n /** Second line under the label. Default \"also works with bWallet\". false hides it. */\n subtitle?: string | false;\n onClick?: (button: HTMLButtonElement) => void;\n}\n\n/** Put the gold \"Sign in with bWalletX\" button into `el` (replacing its contents). */\nexport function renderButton(el: HTMLElement | string, opts: ButtonOptions = {}): HTMLButtonElement {\n const host = typeof el === 'string' ? document.querySelector<HTMLElement>(el) : el;\n if (!host) throw new Error(`renderButton: no element ${String(el)}`);\n if (!document.getElementById('bwx-signin-css')) {\n const style = document.createElement('style');\n style.id = 'bwx-signin-css';\n style.textContent = CSS;\n document.head.appendChild(style);\n }\n const b = document.createElement('button');\n b.type = 'button';\n b.className = 'bwx-signin';\n const mark = document.createElement('span');\n mark.className = 'bwx-mark';\n const img = document.createElement('img');\n img.src = LOGO_URL;\n img.alt = '';\n img.width = 15;\n img.height = 20;\n mark.appendChild(img);\n const label = document.createElement('span');\n label.className = 'bwx-label';\n label.textContent = 'Sign in with bWalletX';\n const sub = opts.subtitle === undefined ? 'also works with bWallet' : opts.subtitle;\n if (sub) {\n const small = document.createElement('small');\n small.textContent = sub;\n label.appendChild(small);\n }\n b.append(mark, label);\n if (opts.onClick) b.addEventListener('click', () => opts.onClick!(b));\n host.replaceChildren(b);\n return b;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQL,IAAM,WAAW;AASjB,SAAS,aAAa,IAA0B,OAAsB,CAAC,GAAsB;AAClG,QAAM,OAAO,OAAO,OAAO,WAAW,SAAS,cAA2B,EAAE,IAAI;AAChF,MAAI,CAAC,KAAM,OAAM,IAAI,MAAM,4BAA4B,OAAO,EAAE,CAAC,EAAE;AACnE,MAAI,CAAC,SAAS,eAAe,gBAAgB,GAAG;AAC9C,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,KAAK;AACX,UAAM,cAAc;AACpB,aAAS,KAAK,YAAY,KAAK;AAAA,EACjC;AACA,QAAM,IAAI,SAAS,cAAc,QAAQ;AACzC,IAAE,OAAO;AACT,IAAE,YAAY;AACd,QAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,OAAK,YAAY;AACjB,QAAM,MAAM,SAAS,cAAc,KAAK;AACxC,MAAI,MAAM;AACV,MAAI,MAAM;AACV,MAAI,QAAQ;AACZ,MAAI,SAAS;AACb,OAAK,YAAY,GAAG;AACpB,QAAM,QAAQ,SAAS,cAAc,MAAM;AAC3C,QAAM,YAAY;AAClB,QAAM,cAAc;AACpB,QAAM,MAAM,KAAK,aAAa,SAAY,4BAA4B,KAAK;AAC3E,MAAI,KAAK;AACP,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,cAAc;AACpB,UAAM,YAAY,KAAK;AAAA,EACzB;AACA,IAAE,OAAO,MAAM,KAAK;AACpB,MAAI,KAAK,QAAS,GAAE,iBAAiB,SAAS,MAAM,KAAK,QAAS,CAAC,CAAC;AACpE,OAAK,gBAAgB,CAAC;AACtB,SAAO;AACT;","names":[]}
|
package/dist/next.cjs
CHANGED
|
@@ -563,12 +563,14 @@ function randomNonce2() {
|
|
|
563
563
|
return btoa(s).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
564
564
|
}
|
|
565
565
|
async function createChallenge(opts) {
|
|
566
|
-
|
|
566
|
+
const given = opts.identityKey !== void 0 && opts.identityKey !== null && opts.identityKey !== "";
|
|
567
|
+
if (given && !isIdentityKey(opts.identityKey)) throw new Error("identityKey must be a compressed public key (66 hex chars)");
|
|
568
|
+
const boundKey = given ? opts.identityKey.toLowerCase() : "";
|
|
567
569
|
const origin = normalOrigin2(opts.origin);
|
|
568
570
|
const nonce = randomNonce2();
|
|
569
571
|
const expiresAt = Date.now() + CHALLENGE_LIFETIME_MS;
|
|
570
572
|
const message = loginMessage(origin, nonce, expiresAt);
|
|
571
|
-
await storeOrDefault(opts.store).put(nonce, { identityKey:
|
|
573
|
+
await storeOrDefault(opts.store).put(nonce, { identityKey: boundKey, origin, message, expiresAt });
|
|
572
574
|
return { nonce, message, protocolID: LOGIN_PROTOCOL, keyID: nonce, expiresAt };
|
|
573
575
|
}
|
|
574
576
|
async function verifySignIn(opts) {
|
|
@@ -584,7 +586,7 @@ async function verifySignIn(opts) {
|
|
|
584
586
|
if (c.origin !== origin) return null;
|
|
585
587
|
if (!isIdentityKey(opts.identityKey)) return null;
|
|
586
588
|
const identityKey = opts.identityKey.toLowerCase();
|
|
587
|
-
if (c.identityKey !== identityKey) return null;
|
|
589
|
+
if (c.identityKey && c.identityKey !== identityKey) return null;
|
|
588
590
|
const sig = opts.signature;
|
|
589
591
|
if (!Array.isArray(sig) || sig.length < 8 || sig.length > 80 || !sig.every((b) => Number.isInteger(b) && b >= 0 && b <= 255)) {
|
|
590
592
|
return null;
|