@orangecheck/auth-client 2.35.2 → 2.36.1

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.
@@ -0,0 +1,10 @@
1
+ // src/address.ts
2
+ import { normalizeAddress } from "@orangecheck/bip322";
3
+ function addressInputValue(raw) {
4
+ return normalizeAddress(raw) ?? raw;
5
+ }
6
+
7
+ export {
8
+ addressInputValue
9
+ };
10
+ //# sourceMappingURL=chunk-U7IUGDLW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/address.ts"],"sourcesContent":["import { normalizeAddress } from '@orangecheck/bip322';\n\n/**\n * What an address field holds after an edit: a whole address in the one\n * spelling that verifies (a QR code's capitals lowercased, BIP-173), otherwise\n * the text as typed, so partial input stays editable. A challenge fetched for\n * the field then names the address the account is keyed by.\n */\nexport function addressInputValue(raw: string): string {\n return normalizeAddress(raw) ?? raw;\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AAQ1B,SAAS,kBAAkB,KAAqB;AACnD,SAAO,iBAAiB,GAAG,KAAK;AACpC;","names":[]}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  var React4 = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
+ var bip322 = require('@orangecheck/bip322');
5
6
  var browser = require('@simplewebauthn/browser');
6
7
 
7
8
  function _interopNamespace(e) {
@@ -1294,6 +1295,9 @@ var OcAddressInput = React4__namespace.forwardRef(
1294
1295
  );
1295
1296
  }
1296
1297
  );
1298
+ function addressInputValue(raw) {
1299
+ return bip322.normalizeAddress(raw) ?? raw;
1300
+ }
1297
1301
 
1298
1302
  // src/sudo.tsx
1299
1303
  function redirectToSudo(args = {}) {
@@ -1935,7 +1939,7 @@ function BtcLinkForm({
1935
1939
  "data-oca-field": "",
1936
1940
  type: "text",
1937
1941
  value: addr,
1938
- onChange: (e) => setAddr(e.target.value.trim()),
1942
+ onChange: (e) => setAddr(addressInputValue(e.target.value.trim())),
1939
1943
  placeholder: "bc1q\u2026",
1940
1944
  autoCapitalize: "none",
1941
1945
  spellCheck: false,
@@ -2291,7 +2295,8 @@ var BECH32_ADDRESS = /^(bc1|tb1|bcrt1)[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{8,87}$/
2291
2295
  var BASE58_ADDRESS = /^[123mn][1-9A-HJ-NP-Za-km-z]{25,34}$/;
2292
2296
  function looksLikeBitcoinAddress(input) {
2293
2297
  const s = input.trim();
2294
- return BECH32_ADDRESS.test(s) || BASE58_ADDRESS.test(s);
2298
+ if (BECH32_ADDRESS.test(s)) return s === s.toLowerCase() || s === s.toUpperCase();
2299
+ return BASE58_ADDRESS.test(s);
2295
2300
  }
2296
2301
  function OcSignIn({
2297
2302
  audience,
@@ -2872,8 +2877,15 @@ function WalletFlow({
2872
2877
  setSubmitting(false);
2873
2878
  return;
2874
2879
  }
2875
- const signer = (await loadAdapter()).getSigner(id, { address: addr });
2876
- const signature = await signer(challenge.message);
2880
+ const adapter = await loadAdapter();
2881
+ let signature;
2882
+ try {
2883
+ signature = await adapter.getSigner(id, { address: addr })(challenge.message);
2884
+ } catch (err) {
2885
+ setError(adapter.walletFailureText(err));
2886
+ setSubmitting(false);
2887
+ return;
2888
+ }
2877
2889
  step = "submit";
2878
2890
  await submitSignature(challenge.message, challenge.nonce, signature, "bip322");
2879
2891
  } catch (err) {
@@ -2988,7 +3000,7 @@ function WalletFlow({
2988
3000
  type: "text",
2989
3001
  value: address,
2990
3002
  onChange: (e) => {
2991
- setAddress(e.target.value);
3003
+ setAddress(addressInputValue(e.target.value));
2992
3004
  if (error) setError(null);
2993
3005
  },
2994
3006
  placeholder: "bc1q\u2026 \xB7 3\u2026 \xB7 1\u2026",
@@ -3792,7 +3804,7 @@ function BondForm({
3792
3804
  "aria-describedby": `${id}-advice`,
3793
3805
  style: inputStyle,
3794
3806
  value: address,
3795
- onChange: (e) => setAddress(e.target.value),
3807
+ onChange: (e) => setAddress(addressInputValue(e.target.value)),
3796
3808
  placeholder: "bc1q\u2026",
3797
3809
  spellCheck: false,
3798
3810
  autoComplete: "off",