thirdweb 5.66.0 → 5.67.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.
Files changed (39) hide show
  1. package/dist/cjs/exports/react.js +4 -2
  2. package/dist/cjs/exports/react.js.map +1 -1
  3. package/dist/cjs/react/web/ui/SiteEmbed.js +3 -3
  4. package/dist/cjs/react/web/ui/SiteLink.js +64 -0
  5. package/dist/cjs/react/web/ui/SiteLink.js.map +1 -0
  6. package/dist/cjs/utils/encoding/to-bytes.js +4 -0
  7. package/dist/cjs/utils/encoding/to-bytes.js.map +1 -1
  8. package/dist/cjs/version.js +1 -1
  9. package/dist/esm/exports/react.js +2 -1
  10. package/dist/esm/exports/react.js.map +1 -1
  11. package/dist/esm/react/web/ui/SiteEmbed.js +3 -3
  12. package/dist/esm/react/web/ui/SiteLink.js +61 -0
  13. package/dist/esm/react/web/ui/SiteLink.js.map +1 -0
  14. package/dist/esm/utils/encoding/to-bytes.js +4 -1
  15. package/dist/esm/utils/encoding/to-bytes.js.map +1 -1
  16. package/dist/esm/version.js +1 -1
  17. package/dist/types/exports/react.d.ts +1 -0
  18. package/dist/types/exports/react.d.ts.map +1 -1
  19. package/dist/types/react/web/ui/SiteEmbed.d.ts +3 -3
  20. package/dist/types/react/web/ui/SiteLink.d.ts +29 -0
  21. package/dist/types/react/web/ui/SiteLink.d.ts.map +1 -0
  22. package/dist/types/utils/encoding/to-bytes.d.ts +9 -0
  23. package/dist/types/utils/encoding/to-bytes.d.ts.map +1 -1
  24. package/dist/types/version.d.ts +1 -1
  25. package/dist/types/wallets/in-app/core/authentication/types.d.ts +2 -2
  26. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  27. package/package.json +5 -5
  28. package/src/exports/react.ts +2 -1
  29. package/src/react/web/ui/SiteEmbed.tsx +3 -3
  30. package/src/react/web/ui/SiteLink.test.tsx +48 -0
  31. package/src/react/web/ui/SiteLink.tsx +86 -0
  32. package/src/utils/encoding/helpers/assert-size.test.ts +47 -0
  33. package/src/utils/encoding/helpers/byte-size.test.ts +36 -0
  34. package/src/utils/encoding/helpers/charcode-to-base-16.test.ts +39 -0
  35. package/src/utils/encoding/helpers/is-hext.test.ts +54 -0
  36. package/src/utils/encoding/to-bytes.test.ts +233 -0
  37. package/src/utils/encoding/to-bytes.ts +7 -1
  38. package/src/version.ts +1 -1
  39. package/src/wallets/in-app/core/authentication/types.ts +2 -2
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutoConnect = exports.usePostOnRampQuote = exports.useBuyHistory = exports.useBuyWithFiatHistory = exports.useBuyWithFiatStatus = exports.useBuyWithFiatQuote = exports.useBuyWithCryptoHistory = exports.useBuyWithCryptoStatus = exports.useBuyWithCryptoQuote = exports.useInvalidateContractQuery = exports.createContractQuery = exports.useBlockNumber = exports.useEstimateGasCost = exports.useEstimateGas = exports.useSendAndConfirmTransaction = exports.useSendBatchTransaction = exports.useSendTransaction = exports.useSimulateTransaction = exports.useContractEvents = exports.useWaitForReceipt = exports.useReadContract = exports.useChainMetadata = exports.useLinkProfile = exports.useProfiles = exports.useWalletBalance = exports.useCallsStatus = exports.useSwitchActiveWalletChain = exports.useSendCalls = exports.useSetActiveWalletConnectionStatus = exports.useSetActiveWallet = exports.useIsAutoConnecting = exports.useDisconnect = exports.useConnectedWallets = exports.useConnect = exports.useCapabilities = exports.useAutoConnect = exports.useActiveAccount = exports.useActiveWalletConnectionStatus = exports.useActiveWalletChain = exports.useAdminWallet = exports.useActiveWallet = exports.MediaRenderer = exports.getDefaultToken = exports.defaultTokens = exports.ThirdwebProvider = exports.TransactionButton = exports.ConnectEmbed = exports.ConnectButton = exports.lightTheme = exports.darkTheme = void 0;
4
- exports.SiteEmbed = exports.useSocialProfiles = exports.useSiweAuth = exports.Blobbie = exports.useConnectionManager = exports.NFT = exports.CreateDirectListingButton = exports.BuyDirectListingButton = exports.ClaimButton = exports.useEnsAvatar = exports.useEnsName = exports.useNetworkSwitcherModal = exports.useWalletDetailsModal = exports.useWalletImage = exports.useWalletInfo = exports.useConnectModal = exports.PayEmbed = void 0;
4
+ exports.SiteLink = exports.SiteEmbed = exports.useSocialProfiles = exports.useSiweAuth = exports.Blobbie = exports.useConnectionManager = exports.NFT = exports.CreateDirectListingButton = exports.BuyDirectListingButton = exports.ClaimButton = exports.useEnsAvatar = exports.useEnsName = exports.useNetworkSwitcherModal = exports.useWalletDetailsModal = exports.useWalletImage = exports.useWalletInfo = exports.useConnectModal = exports.PayEmbed = void 0;
5
5
  var index_js_1 = require("../react/core/design-system/index.js");
6
6
  Object.defineProperty(exports, "darkTheme", { enumerable: true, get: function () { return index_js_1.darkTheme; } });
7
7
  Object.defineProperty(exports, "lightTheme", { enumerable: true, get: function () { return index_js_1.lightTheme; } });
@@ -146,7 +146,9 @@ Object.defineProperty(exports, "useSiweAuth", { enumerable: true, get: function
146
146
  // Social
147
147
  var useSocialProfiles_js_1 = require("../react/core/social/useSocialProfiles.js");
148
148
  Object.defineProperty(exports, "useSocialProfiles", { enumerable: true, get: function () { return useSocialProfiles_js_1.useSocialProfiles; } });
149
- // Site Embed
149
+ // Site Embed and Linking
150
150
  var SiteEmbed_js_1 = require("../react/web/ui/SiteEmbed.js");
151
151
  Object.defineProperty(exports, "SiteEmbed", { enumerable: true, get: function () { return SiteEmbed_js_1.SiteEmbed; } });
152
+ var SiteLink_js_1 = require("../react/web/ui/SiteLink.js");
153
+ Object.defineProperty(exports, "SiteLink", { enumerable: true, get: function () { return SiteLink_js_1.SiteLink; } });
152
154
  //# sourceMappingURL=react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
@@ -18,14 +18,14 @@ const useActiveWallet_js_1 = require("../../core/hooks/wallets/useActiveWallet.j
18
18
  *
19
19
  * @param {Object} props - The props to pass to the iframe
20
20
  * @param {String} props.src - The URL of the site to embed
21
- * @param {ThirdwebClient} props.client - The client to use for the embedded site
22
- * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the embedded site
21
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
22
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the embedded site
23
23
  *
24
24
  * @example
25
25
  * ```tsx
26
26
  * import { SiteEmbed } from "thirdweb/react";
27
27
  *
28
- * <SiteEmbed src="https://thirdweb.com" clientId="thirdweb-client-id" />
28
+ * <SiteEmbed src="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }} />
29
29
  * ```
30
30
  */
31
31
  function SiteEmbed({ src, client, ecosystem, ...props }) {
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SiteLink = SiteLink;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_query_1 = require("@tanstack/react-query");
7
+ const storage_js_1 = require("../../../react/core/utils/storage.js");
8
+ const webStorage_js_1 = require("../../../utils/storage/webStorage.js");
9
+ const is_ecosystem_wallet_js_1 = require("../../../wallets/ecosystem/is-ecosystem-wallet.js");
10
+ const client_scoped_storage_js_1 = require("../../../wallets/in-app/core/authentication/client-scoped-storage.js");
11
+ const useActiveWallet_js_1 = require("../../core/hooks/wallets/useActiveWallet.js");
12
+ /**
13
+ * Creates a link to another thirdweb-supported site with wallet connection parameters.
14
+ *
15
+ * @note The target site must support the connected wallet (ecosystem or in-app).
16
+ *
17
+ * @param {Object} props - The props to pass to the anchor tag
18
+ * @param {String} props.href - The URL of the site to link to
19
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
20
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the target site
21
+ * @param {React.ReactNode} props.children - The content to render inside the link
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * import { SiteLink } from "thirdweb/react";
26
+ *
27
+ * <SiteLink href="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }}>
28
+ * Visit Site
29
+ * </SiteLink>
30
+ * ```
31
+ */
32
+ function SiteLink({ href, client, ecosystem, children, ...props }) {
33
+ if (!client.clientId) {
34
+ throw new Error("The SiteLink client must have a clientId");
35
+ }
36
+ const activeWallet = (0, useActiveWallet_js_1.useActiveWallet)();
37
+ const walletId = activeWallet?.id;
38
+ const { data: { authProvider, authCookie } = {}, } = (0, react_query_1.useQuery)({
39
+ queryKey: ["site-link", walletId, href, client.clientId, ecosystem],
40
+ enabled: activeWallet && ((0, is_ecosystem_wallet_js_1.isEcosystemWallet)(activeWallet) || walletId === "inApp"),
41
+ queryFn: async () => {
42
+ const storage = new client_scoped_storage_js_1.ClientScopedStorage({
43
+ storage: webStorage_js_1.webLocalStorage,
44
+ clientId: client.clientId,
45
+ ecosystem,
46
+ });
47
+ const authProvider = await (0, storage_js_1.getLastAuthProvider)(webStorage_js_1.webLocalStorage);
48
+ const authCookie = await storage.getAuthCookie();
49
+ return { authProvider, authCookie };
50
+ },
51
+ });
52
+ const url = new URL(href);
53
+ if (walletId) {
54
+ url.searchParams.set("walletId", walletId);
55
+ }
56
+ if (authProvider) {
57
+ url.searchParams.set("authProvider", authProvider);
58
+ }
59
+ if (authCookie) {
60
+ url.searchParams.set("authCookie", authCookie);
61
+ }
62
+ return ((0, jsx_runtime_1.jsx)("a", { href: encodeURI(url.toString()), ...props, children: children }));
63
+ }
64
+ //# sourceMappingURL=SiteLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteLink.js","sourceRoot":"","sources":["../../../../../src/react/web/ui/SiteLink.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA8Bb,4BAuDC;;AApFD,uDAAiD;AAEjD,qEAA2E;AAC3E,wEAAuE;AACvE,8FAAsF;AACtF,mHAA2G;AAE3G,oFAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAMqD;IAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,oCAAe,GAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,EAAE,EAAE,CAAC;IAElC,MAAM,EACJ,IAAI,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,GACxC,GAAG,IAAA,sBAAQ,EAAC;QACX,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;QACnE,OAAO,EACL,YAAY,IAAI,CAAC,IAAA,0CAAiB,EAAC,YAAY,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;QAC3E,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,GAAG,IAAI,8CAAmB,CAAC;gBACtC,OAAO,EAAE,+BAAe;gBACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAmB,EAAC,+BAAe,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAEjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,CACL,8BAAG,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAM,KAAK,YAC1C,QAAQ,GACP,CACL,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.padBytes = padBytes;
3
4
  exports.toBytes = toBytes;
4
5
  exports.boolToBytes = boolToBytes;
5
6
  exports.hexToBytes = hexToBytes;
@@ -10,6 +11,9 @@ const assert_size_js_1 = require("./helpers/assert-size.js");
10
11
  const charcode_to_base_16_js_1 = require("./helpers/charcode-to-base-16.js");
11
12
  const is_hex_js_1 = require("./helpers/is-hex.js");
12
13
  const hex_js_1 = require("./hex.js");
14
+ /**
15
+ * @internal Exported for test
16
+ */
13
17
  function padBytes(bytes, { dir, size = 32 } = {}) {
14
18
  if (size === null) {
15
19
  return bytes;
@@ -1 +1 @@
1
- {"version":3,"file":"to-bytes.js","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-bytes.js","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "5.66.0";
4
+ exports.version = "5.67.0";
5
5
  //# sourceMappingURL=version.js.map
@@ -76,6 +76,7 @@ export { Blobbie } from "../react/web/ui/ConnectWallet/Blobbie.js";
76
76
  export { useSiweAuth } from "../react/core/hooks/auth/useSiweAuth.js";
77
77
  // Social
78
78
  export { useSocialProfiles } from "../react/core/social/useSocialProfiles.js";
79
- // Site Embed
79
+ // Site Embed and Linking
80
80
  export { SiteEmbed } from "../react/web/ui/SiteEmbed.js";
81
+ export { SiteLink } from "../react/web/ui/SiteLink.js";
81
82
  //# sourceMappingURL=react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,14 @@ import { useActiveWallet } from "../../core/hooks/wallets/useActiveWallet.js";
15
15
  *
16
16
  * @param {Object} props - The props to pass to the iframe
17
17
  * @param {String} props.src - The URL of the site to embed
18
- * @param {ThirdwebClient} props.client - The client to use for the embedded site
19
- * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the embedded site
18
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
19
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the embedded site
20
20
  *
21
21
  * @example
22
22
  * ```tsx
23
23
  * import { SiteEmbed } from "thirdweb/react";
24
24
  *
25
- * <SiteEmbed src="https://thirdweb.com" clientId="thirdweb-client-id" />
25
+ * <SiteEmbed src="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }} />
26
26
  * ```
27
27
  */
28
28
  export function SiteEmbed({ src, client, ecosystem, ...props }) {
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useQuery } from "@tanstack/react-query";
4
+ import { getLastAuthProvider } from "../../../react/core/utils/storage.js";
5
+ import { webLocalStorage } from "../../../utils/storage/webStorage.js";
6
+ import { isEcosystemWallet } from "../../../wallets/ecosystem/is-ecosystem-wallet.js";
7
+ import { ClientScopedStorage } from "../../../wallets/in-app/core/authentication/client-scoped-storage.js";
8
+ import { useActiveWallet } from "../../core/hooks/wallets/useActiveWallet.js";
9
+ /**
10
+ * Creates a link to another thirdweb-supported site with wallet connection parameters.
11
+ *
12
+ * @note The target site must support the connected wallet (ecosystem or in-app).
13
+ *
14
+ * @param {Object} props - The props to pass to the anchor tag
15
+ * @param {String} props.href - The URL of the site to link to
16
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
17
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the target site
18
+ * @param {React.ReactNode} props.children - The content to render inside the link
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * import { SiteLink } from "thirdweb/react";
23
+ *
24
+ * <SiteLink href="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }}>
25
+ * Visit Site
26
+ * </SiteLink>
27
+ * ```
28
+ */
29
+ export function SiteLink({ href, client, ecosystem, children, ...props }) {
30
+ if (!client.clientId) {
31
+ throw new Error("The SiteLink client must have a clientId");
32
+ }
33
+ const activeWallet = useActiveWallet();
34
+ const walletId = activeWallet?.id;
35
+ const { data: { authProvider, authCookie } = {}, } = useQuery({
36
+ queryKey: ["site-link", walletId, href, client.clientId, ecosystem],
37
+ enabled: activeWallet && (isEcosystemWallet(activeWallet) || walletId === "inApp"),
38
+ queryFn: async () => {
39
+ const storage = new ClientScopedStorage({
40
+ storage: webLocalStorage,
41
+ clientId: client.clientId,
42
+ ecosystem,
43
+ });
44
+ const authProvider = await getLastAuthProvider(webLocalStorage);
45
+ const authCookie = await storage.getAuthCookie();
46
+ return { authProvider, authCookie };
47
+ },
48
+ });
49
+ const url = new URL(href);
50
+ if (walletId) {
51
+ url.searchParams.set("walletId", walletId);
52
+ }
53
+ if (authProvider) {
54
+ url.searchParams.set("authProvider", authProvider);
55
+ }
56
+ if (authCookie) {
57
+ url.searchParams.set("authCookie", authCookie);
58
+ }
59
+ return (_jsx("a", { href: encodeURI(url.toString()), ...props, children: children }));
60
+ }
61
+ //# sourceMappingURL=SiteLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteLink.js","sourceRoot":"","sources":["../../../../../src/react/web/ui/SiteLink.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAMqD;IAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,EAAE,EAAE,CAAC;IAElC,MAAM,EACJ,IAAI,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,GACxC,GAAG,QAAQ,CAAC;QACX,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;QACnE,OAAO,EACL,YAAY,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;QAC3E,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;gBACtC,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAEjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,CACL,YAAG,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAM,KAAK,YAC1C,QAAQ,GACP,CACL,CAAC;AACJ,CAAC"}
@@ -3,7 +3,10 @@ import { assertSize } from "./helpers/assert-size.js";
3
3
  import { charCodeToBase16 } from "./helpers/charcode-to-base-16.js";
4
4
  import { isHex } from "./helpers/is-hex.js";
5
5
  import { numberToHex, padHex } from "./hex.js";
6
- function padBytes(bytes, { dir, size = 32 } = {}) {
6
+ /**
7
+ * @internal Exported for test
8
+ */
9
+ export function padBytes(bytes, { dir, size = 32 } = {}) {
7
10
  if (size === null) {
8
11
  return bytes;
9
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"to-bytes.js","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-bytes.js","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = "5.66.0";
1
+ export const version = "5.67.0";
2
2
  //# sourceMappingURL=version.js.map
@@ -83,4 +83,5 @@ export { useSiweAuth } from "../react/core/hooks/auth/useSiweAuth.js";
83
83
  export { useSocialProfiles } from "../react/core/social/useSocialProfiles.js";
84
84
  export type { SocialProfile, EnsProfile, FarcasterProfile, LensProfile, } from "../social/types.js";
85
85
  export { SiteEmbed } from "../react/web/ui/SiteEmbed.js";
86
+ export { SiteLink } from "../react/web/ui/SiteLink.js";
86
87
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,14 @@ import type { Ecosystem } from "../../../wallets/in-app/core/wallet/types.js";
9
9
  *
10
10
  * @param {Object} props - The props to pass to the iframe
11
11
  * @param {String} props.src - The URL of the site to embed
12
- * @param {ThirdwebClient} props.client - The client to use for the embedded site
13
- * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the embedded site
12
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
13
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the embedded site
14
14
  *
15
15
  * @example
16
16
  * ```tsx
17
17
  * import { SiteEmbed } from "thirdweb/react";
18
18
  *
19
- * <SiteEmbed src="https://thirdweb.com" clientId="thirdweb-client-id" />
19
+ * <SiteEmbed src="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }} />
20
20
  * ```
21
21
  */
22
22
  export declare function SiteEmbed({ src, client, ecosystem, ...props }: {
@@ -0,0 +1,29 @@
1
+ import type { ThirdwebClient } from "../../../client/client.js";
2
+ import type { Ecosystem } from "../../../wallets/in-app/core/wallet/types.js";
3
+ /**
4
+ * Creates a link to another thirdweb-supported site with wallet connection parameters.
5
+ *
6
+ * @note The target site must support the connected wallet (ecosystem or in-app).
7
+ *
8
+ * @param {Object} props - The props to pass to the anchor tag
9
+ * @param {String} props.href - The URL of the site to link to
10
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
11
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the target site
12
+ * @param {React.ReactNode} props.children - The content to render inside the link
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * import { SiteLink } from "thirdweb/react";
17
+ *
18
+ * <SiteLink href="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }}>
19
+ * Visit Site
20
+ * </SiteLink>
21
+ * ```
22
+ */
23
+ export declare function SiteLink({ href, client, ecosystem, children, ...props }: {
24
+ href: string;
25
+ client: ThirdwebClient;
26
+ ecosystem?: Ecosystem;
27
+ children: React.ReactNode;
28
+ } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href">): import("react/jsx-runtime.js").JSX.Element;
29
+ //# sourceMappingURL=SiteLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteLink.d.ts","sourceRoot":"","sources":["../../../../../src/react/web/ui/SiteLink.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AAG9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,8CA4C9D"}
@@ -1,5 +1,13 @@
1
1
  import { type Hex } from "./helpers/is-hex.js";
2
2
  import { type NumberToHexOpts } from "./hex.js";
3
+ type PadOptions = {
4
+ dir?: "left" | "right";
5
+ size?: number | null;
6
+ };
7
+ /**
8
+ * @internal Exported for test
9
+ */
10
+ export declare function padBytes(bytes: Uint8Array, { dir, size }?: PadOptions): Uint8Array;
3
11
  export type ToBytesParameters = {
4
12
  /** Size of the output bytes. */
5
13
  size?: number;
@@ -87,4 +95,5 @@ export type StringToBytesOpts = {
87
95
  * @utils
88
96
  */
89
97
  export declare function stringToBytes(value: string, opts?: StringToBytesOpts): Uint8Array;
98
+ export {};
90
99
  //# sourceMappingURL=to-bytes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-bytes.d.ts","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAuB,MAAM,UAAU,CAAC;AAwBrE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,EAC/C,IAAI,GAAE,iBAAsB,GAC3B,UAAU,CAaZ;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,cAQrE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,CA2B3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,cAG3E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,iBAAsB,GAC3B,UAAU,CAOZ"}
1
+ {"version":3,"file":"to-bytes.d.ts","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAuB,MAAM,UAAU,CAAC;AAErE,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,UAAU,EACjB,EAAE,GAAG,EAAE,IAAS,EAAE,GAAE,UAAe,cAgBpC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,EAC/C,IAAI,GAAE,iBAAsB,GAC3B,UAAU,CAaZ;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,cAQrE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,CA2B3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,cAG3E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,iBAAsB,GAC3B,UAAU,CAOZ"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.66.0";
1
+ export declare const version = "5.67.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -29,11 +29,11 @@ export type SocialAuthArgsType = {
29
29
  export type SingleStepAuthArgsType = SocialAuthArgsType | {
30
30
  strategy: "jwt";
31
31
  jwt: string;
32
- encryptionKey: string;
32
+ encryptionKey?: string;
33
33
  } | {
34
34
  strategy: "auth_endpoint";
35
35
  payload: string;
36
- encryptionKey: string;
36
+ encryptionKey?: string;
37
37
  } | {
38
38
  /**
39
39
  * @deprecated
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.66.0",
3
+ "version": "5.67.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -211,14 +211,14 @@
211
211
  "@radix-ui/react-icons": "1.3.1",
212
212
  "@radix-ui/react-tooltip": "1.1.3",
213
213
  "@tanstack/react-query": "5.59.19",
214
- "@walletconnect/ethereum-provider": "2.17.1",
215
- "@walletconnect/sign-client": "2.17.1",
214
+ "@walletconnect/ethereum-provider": "2.17.2",
215
+ "@walletconnect/sign-client": "2.17.2",
216
216
  "abitype": "1.0.6",
217
217
  "fuse.js": "7.0.0",
218
218
  "input-otp": "^1.4.1",
219
219
  "mipd": "0.0.7",
220
220
  "uqr": "0.1.2",
221
- "viem": "2.21.40"
221
+ "viem": "2.21.41"
222
222
  },
223
223
  "peerDependencies": {
224
224
  "@aws-sdk/client-lambda": "^3",
@@ -322,7 +322,7 @@
322
322
  "ethers6": "npm:ethers@6",
323
323
  "expo-linking": "6.3.1",
324
324
  "expo-web-browser": "13.0.3",
325
- "happy-dom": "^15.9.0",
325
+ "happy-dom": "^15.10.2",
326
326
  "knip": "5.36.2",
327
327
  "msw": "^2.6.0",
328
328
  "prettier": "^3.3.2",
@@ -196,5 +196,6 @@ export type {
196
196
  LensProfile,
197
197
  } from "../social/types.js";
198
198
 
199
- // Site Embed
199
+ // Site Embed and Linking
200
200
  export { SiteEmbed } from "../react/web/ui/SiteEmbed.js";
201
+ export { SiteLink } from "../react/web/ui/SiteLink.js";
@@ -17,14 +17,14 @@ import { useActiveWallet } from "../../core/hooks/wallets/useActiveWallet.js";
17
17
  *
18
18
  * @param {Object} props - The props to pass to the iframe
19
19
  * @param {String} props.src - The URL of the site to embed
20
- * @param {ThirdwebClient} props.client - The client to use for the embedded site
21
- * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the embedded site
20
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
21
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the embedded site
22
22
  *
23
23
  * @example
24
24
  * ```tsx
25
25
  * import { SiteEmbed } from "thirdweb/react";
26
26
  *
27
- * <SiteEmbed src="https://thirdweb.com" clientId="thirdweb-client-id" />
27
+ * <SiteEmbed src="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }} />
28
28
  * ```
29
29
  */
30
30
  export function SiteEmbed({
@@ -0,0 +1,48 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { render, waitFor } from "../../../../test/src/react-render.js";
3
+ import { TEST_CLIENT } from "../../../../test/src/test-clients.js";
4
+ import { SiteLink } from "./SiteLink.js";
5
+
6
+ describe("SiteLink", () => {
7
+ it("renders anchor with correct href", () => {
8
+ const testUrl = "https://example.com/";
9
+ const { container } = render(
10
+ <SiteLink href={testUrl} client={TEST_CLIENT}>
11
+ Test Link
12
+ </SiteLink>,
13
+ );
14
+
15
+ const anchor = container.querySelector("a");
16
+ expect(anchor).toBeTruthy();
17
+ expect(anchor?.href).toBe(testUrl);
18
+ expect(anchor?.textContent).toBe("Test Link");
19
+ });
20
+
21
+ it("throws error if clientId is not provided", () => {
22
+ const testUrl = "https://example.com/";
23
+ expect(() =>
24
+ render(
25
+ // biome-ignore lint/suspicious/noExplicitAny: testing invalid input
26
+ <SiteLink href={testUrl} client={{} as any}>
27
+ Test Link
28
+ </SiteLink>,
29
+ ),
30
+ ).toThrow("The SiteLink client must have a clientId");
31
+ });
32
+
33
+ it("adds wallet params to url when wallet is connected", async () => {
34
+ const testUrl = "https://example.com/";
35
+ const { container } = render(
36
+ <SiteLink href={testUrl} client={TEST_CLIENT}>
37
+ Test Link
38
+ </SiteLink>,
39
+ {
40
+ setConnectedWallet: true,
41
+ },
42
+ );
43
+
44
+ const anchor = container.querySelector("a");
45
+ expect(anchor).toBeTruthy();
46
+ await waitFor(() => expect(anchor?.href).toContain("walletId="));
47
+ });
48
+ });
@@ -0,0 +1,86 @@
1
+ "use client";
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import type { ThirdwebClient } from "../../../client/client.js";
4
+ import { getLastAuthProvider } from "../../../react/core/utils/storage.js";
5
+ import { webLocalStorage } from "../../../utils/storage/webStorage.js";
6
+ import { isEcosystemWallet } from "../../../wallets/ecosystem/is-ecosystem-wallet.js";
7
+ import { ClientScopedStorage } from "../../../wallets/in-app/core/authentication/client-scoped-storage.js";
8
+ import type { Ecosystem } from "../../../wallets/in-app/core/wallet/types.js";
9
+ import { useActiveWallet } from "../../core/hooks/wallets/useActiveWallet.js";
10
+
11
+ /**
12
+ * Creates a link to another thirdweb-supported site with wallet connection parameters.
13
+ *
14
+ * @note The target site must support the connected wallet (ecosystem or in-app).
15
+ *
16
+ * @param {Object} props - The props to pass to the anchor tag
17
+ * @param {String} props.href - The URL of the site to link to
18
+ * @param {ThirdwebClient} props.client - The current site's thirdweb client
19
+ * @param {Ecosystem} [props.ecosystem] - The ecosystem to use for the wallet connection in the target site
20
+ * @param {React.ReactNode} props.children - The content to render inside the link
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * import { SiteLink } from "thirdweb/react";
25
+ *
26
+ * <SiteLink href="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }}>
27
+ * Visit Site
28
+ * </SiteLink>
29
+ * ```
30
+ */
31
+ export function SiteLink({
32
+ href,
33
+ client,
34
+ ecosystem,
35
+ children,
36
+ ...props
37
+ }: {
38
+ href: string;
39
+ client: ThirdwebClient;
40
+ ecosystem?: Ecosystem;
41
+ children: React.ReactNode;
42
+ } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href">) {
43
+ if (!client.clientId) {
44
+ throw new Error("The SiteLink client must have a clientId");
45
+ }
46
+
47
+ const activeWallet = useActiveWallet();
48
+ const walletId = activeWallet?.id;
49
+
50
+ const {
51
+ data: { authProvider, authCookie } = {},
52
+ } = useQuery({
53
+ queryKey: ["site-link", walletId, href, client.clientId, ecosystem],
54
+ enabled:
55
+ activeWallet && (isEcosystemWallet(activeWallet) || walletId === "inApp"),
56
+ queryFn: async () => {
57
+ const storage = new ClientScopedStorage({
58
+ storage: webLocalStorage,
59
+ clientId: client.clientId,
60
+ ecosystem,
61
+ });
62
+
63
+ const authProvider = await getLastAuthProvider(webLocalStorage);
64
+ const authCookie = await storage.getAuthCookie();
65
+
66
+ return { authProvider, authCookie };
67
+ },
68
+ });
69
+
70
+ const url = new URL(href);
71
+ if (walletId) {
72
+ url.searchParams.set("walletId", walletId);
73
+ }
74
+ if (authProvider) {
75
+ url.searchParams.set("authProvider", authProvider);
76
+ }
77
+ if (authCookie) {
78
+ url.searchParams.set("authCookie", authCookie);
79
+ }
80
+
81
+ return (
82
+ <a href={encodeURI(url.toString())} {...props}>
83
+ {children}
84
+ </a>
85
+ );
86
+ }
@@ -0,0 +1,47 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { assertSize } from "./assert-size.js";
3
+
4
+ describe("assertSize", () => {
5
+ it("should not throw an error for hex strings within the specified size", () => {
6
+ expect(() => assertSize("0x1a4", { size: 2 })).not.toThrow();
7
+ expect(() => assertSize("0x1234", { size: 2 })).not.toThrow();
8
+ });
9
+
10
+ it("should throw an error for hex strings exceeding the specified size", () => {
11
+ expect(() => assertSize("0x123456", { size: 2 })).toThrow(
12
+ "Size overflow: 3 > 2",
13
+ );
14
+ expect(() => assertSize("0xabcdef", { size: 2 })).toThrow(
15
+ "Size overflow: 3 > 2",
16
+ );
17
+ });
18
+
19
+ it("should not throw an error for Uint8Array within the specified size", () => {
20
+ expect(() =>
21
+ assertSize(new Uint8Array([1, 2, 3]), { size: 3 }),
22
+ ).not.toThrow();
23
+ expect(() => assertSize(new Uint8Array([]), { size: 0 })).not.toThrow();
24
+ });
25
+
26
+ it("should throw an error for Uint8Array exceeding the specified size", () => {
27
+ expect(() => assertSize(new Uint8Array([1, 2, 3, 4]), { size: 3 })).toThrow(
28
+ "Size overflow: 4 > 3",
29
+ );
30
+ });
31
+
32
+ it("should not throw an error for empty hex strings", () => {
33
+ expect(() => assertSize("0x", { size: 0 })).not.toThrow();
34
+ });
35
+
36
+ it("should handle boundary conditions correctly", () => {
37
+ expect(() => assertSize("0x12", { size: 1 })).not.toThrow();
38
+ expect(() => assertSize("0x12", { size: 0 })).toThrow(
39
+ "Size overflow: 1 > 0",
40
+ );
41
+ });
42
+
43
+ it("should not throw an error for hex strings exactly at the specified size", () => {
44
+ expect(() => assertSize("0x12", { size: 1 })).not.toThrow();
45
+ expect(() => assertSize("0x1234", { size: 2 })).not.toThrow();
46
+ });
47
+ });
@@ -0,0 +1,36 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { byteSize } from "./byte-size.js";
3
+
4
+ describe("byteSize", () => {
5
+ it('should calculate the byte size for a valid hex string with "0x" prefix', () => {
6
+ expect(byteSize("0x1a4")).toBe(2); // "1a4" is 1 byte + 1 nibble = 2 bytes
7
+ expect(byteSize("0x123456")).toBe(3); // "123456" is 3 bytes
8
+ });
9
+
10
+ it("should return 0 for an empty hex string", () => {
11
+ expect(byteSize("0x")).toBe(0);
12
+ });
13
+
14
+ it("should calculate the byte size for a Uint8Array", () => {
15
+ expect(byteSize(new Uint8Array([1, 2, 3]))).toBe(3);
16
+ expect(byteSize(new Uint8Array([]))).toBe(0);
17
+ });
18
+
19
+ it('should handle a single byte hex string with "0x" prefix', () => {
20
+ expect(byteSize("0x1")).toBe(1); // "1" is half a byte, treated as 1 byte
21
+ expect(byteSize("0x12")).toBe(1); // "12" is 1 byte
22
+ });
23
+
24
+ it("should handle longer hex strings", () => {
25
+ expect(byteSize("0x1234567890abcdef")).toBe(8); // "1234567890abcdef" is 8 bytes
26
+ expect(byteSize("0xabcdef")).toBe(3); // "abcdef" is 3 bytes
27
+ });
28
+
29
+ it("should return 0 for non-hex string inputs in Uint8Array form", () => {
30
+ expect(byteSize(new Uint8Array([]))).toBe(0); // Empty Uint8Array
31
+ });
32
+
33
+ it('should handle strings that are not valid hex but start with "0x"', () => {
34
+ expect(byteSize("0xg")).toBe(1); // Not a valid hex string
35
+ });
36
+ });
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { charCodeToBase16 } from "./charcode-to-base-16.js";
3
+
4
+ describe("charCodeToBase16", () => {
5
+ it("should return correct values for digits (0-9)", () => {
6
+ expect(charCodeToBase16("0".charCodeAt(0))).toBe(0);
7
+ expect(charCodeToBase16("5".charCodeAt(0))).toBe(5);
8
+ expect(charCodeToBase16("9".charCodeAt(0))).toBe(9);
9
+ });
10
+
11
+ it("should return correct values for uppercase letters (A-F)", () => {
12
+ expect(charCodeToBase16("A".charCodeAt(0))).toBe(10);
13
+ expect(charCodeToBase16("C".charCodeAt(0))).toBe(12);
14
+ expect(charCodeToBase16("F".charCodeAt(0))).toBe(15);
15
+ });
16
+
17
+ it("should return correct values for lowercase letters (a-f)", () => {
18
+ expect(charCodeToBase16("a".charCodeAt(0))).toBe(10);
19
+ expect(charCodeToBase16("c".charCodeAt(0))).toBe(12);
20
+ expect(charCodeToBase16("f".charCodeAt(0))).toBe(15);
21
+ });
22
+
23
+ // Test cases for invalid inputs
24
+ it("should return undefined for invalid inputs", () => {
25
+ expect(charCodeToBase16("G".charCodeAt(0))).toBeUndefined();
26
+ expect(charCodeToBase16("z".charCodeAt(0))).toBeUndefined();
27
+ expect(charCodeToBase16(" ".charCodeAt(0))).toBeUndefined();
28
+ expect(charCodeToBase16("!".charCodeAt(0))).toBeUndefined();
29
+ });
30
+
31
+ it("should handle edge cases correctly", () => {
32
+ expect(charCodeToBase16("0".charCodeAt(0) - 1)).toBeUndefined(); // Just below '0'
33
+ expect(charCodeToBase16("9".charCodeAt(0) + 1)).toBeUndefined(); // Just above '9'
34
+ expect(charCodeToBase16("A".charCodeAt(0) - 1)).toBeUndefined(); // Just below 'A'
35
+ expect(charCodeToBase16("F".charCodeAt(0) + 1)).toBeUndefined(); // Just above 'F'
36
+ expect(charCodeToBase16("a".charCodeAt(0) - 1)).toBeUndefined(); // Just below 'a'
37
+ expect(charCodeToBase16("f".charCodeAt(0) + 1)).toBeUndefined(); // Just above 'f'
38
+ });
39
+ });
@@ -0,0 +1,54 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { isHex } from "./is-hex.js";
3
+
4
+ describe("isHex", () => {
5
+ it('should return true for valid hex strings with "0x" prefix in strict mode', () => {
6
+ expect(isHex("0x1a4", { strict: true })).toBe(true);
7
+ expect(isHex("0xABCDEF", { strict: true })).toBe(true);
8
+ });
9
+
10
+ it('should return false for hex strings without "0x" prefix in strict mode', () => {
11
+ expect(isHex("1a4", { strict: true })).toBe(false);
12
+ expect(isHex("abcdef", { strict: true })).toBe(false);
13
+ });
14
+
15
+ it('should return true for valid hex strings with or without "0x" prefix in non-strict mode', () => {
16
+ expect(isHex("0x1a4", { strict: false })).toBe(true);
17
+ expect(isHex("1a4", { strict: false })).toBe(false);
18
+ });
19
+
20
+ it("should return false for invalid hex strings in strict mode", () => {
21
+ expect(isHex("0x1g4", { strict: true })).toBe(false);
22
+ expect(isHex("0xZXY", { strict: true })).toBe(false);
23
+ });
24
+
25
+ it("should return false for invalid hex strings in non-strict mode", () => {
26
+ expect(isHex("0x1g4", { strict: false })).toBe(true);
27
+ expect(isHex("0xZXY", { strict: false })).toBe(true);
28
+ });
29
+
30
+ it("should return false for non-string inputs", () => {
31
+ expect(isHex(123, { strict: true })).toBe(false);
32
+ expect(isHex(null, { strict: true })).toBe(false);
33
+ expect(isHex(undefined, { strict: true })).toBe(false);
34
+ expect(isHex({}, { strict: true })).toBe(false);
35
+ });
36
+
37
+ it("should return false for empty strings", () => {
38
+ expect(isHex("", { strict: true })).toBe(false);
39
+ expect(isHex("", { strict: false })).toBe(false);
40
+ });
41
+
42
+ it("should return true for valid empty hex prefix in non-strict mode", () => {
43
+ expect(isHex("0x", { strict: false })).toBe(true);
44
+ });
45
+
46
+ it("should return true for valid empty hex prefix in strict mode", () => {
47
+ expect(isHex("0x", { strict: true })).toBe(true);
48
+ });
49
+
50
+ it("should use strict mode by default", () => {
51
+ expect(isHex("0x1a4")).toBe(true);
52
+ expect(isHex("1a4")).toBe(false);
53
+ });
54
+ });
@@ -0,0 +1,233 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { numberToHex } from "./hex.js";
3
+ import {
4
+ boolToBytes,
5
+ hexToBytes,
6
+ numberToBytes,
7
+ padBytes,
8
+ stringToBytes,
9
+ toBytes,
10
+ } from "./to-bytes.js";
11
+
12
+ describe("to-bytes.js", () => {
13
+ describe("padBytes", () => {
14
+ it("should pad bytes to the left by default to the specified size", () => {
15
+ const result = padBytes(new Uint8Array([1, 2, 3]), { size: 5 });
16
+ expect(result).toEqual(new Uint8Array([0, 0, 1, 2, 3]));
17
+ });
18
+
19
+ it('should pad bytes to the right if dir is "right"', () => {
20
+ const result = padBytes(new Uint8Array([1, 2, 3]), {
21
+ dir: "right",
22
+ size: 5,
23
+ });
24
+ expect(result).toEqual(new Uint8Array([1, 2, 3, 0, 0]));
25
+ });
26
+
27
+ it("should not pad if the byte array is already the specified size", () => {
28
+ const result = padBytes(new Uint8Array([1, 2, 3, 4, 5]), { size: 5 });
29
+ expect(result).toEqual(new Uint8Array([1, 2, 3, 4, 5]));
30
+ });
31
+
32
+ it("should throw an error if the byte array exceeds the specified size", () => {
33
+ expect(() =>
34
+ padBytes(new Uint8Array([1, 2, 3, 4, 5, 6]), { size: 5 }),
35
+ ).toThrow("Size overflow: 6 > 5");
36
+ });
37
+
38
+ it("should return the same byte array if size is null", () => {
39
+ const bytes = new Uint8Array([1, 2, 3]);
40
+ const result = padBytes(bytes, { size: null });
41
+ expect(result).toEqual(bytes);
42
+ });
43
+
44
+ it("should pad to the default size of 32 if size is not specified", () => {
45
+ const result = padBytes(new Uint8Array([1, 2, 3]));
46
+ expect(result).toStrictEqual(
47
+ new Uint8Array([
48
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49
+ 0, 0, 0, 0, 0, 0, 1, 2, 3,
50
+ ]),
51
+ );
52
+ });
53
+
54
+ it("should handle an empty byte array and pad to the specified size", () => {
55
+ const result = padBytes(new Uint8Array([]), { size: 3 });
56
+ expect(result).toEqual(new Uint8Array([0, 0, 0]));
57
+ });
58
+ });
59
+
60
+ describe("toBytes", () => {
61
+ it("should convert a number to bytes", () => {
62
+ expect(toBytes(123)).toEqual(new Uint8Array([123]));
63
+ });
64
+
65
+ it("should convert a bigint to bytes", () => {
66
+ expect(toBytes(BigInt(123))).toEqual(new Uint8Array([123]));
67
+ });
68
+
69
+ it("should convert a boolean to bytes", () => {
70
+ expect(toBytes(true)).toEqual(new Uint8Array([1]));
71
+ expect(toBytes(false)).toEqual(new Uint8Array([0]));
72
+ });
73
+
74
+ it("should convert a hex string to bytes", () => {
75
+ expect(toBytes("0x1a")).toEqual(new Uint8Array([26])); // 0x1a = 26 in decimal
76
+ expect(toBytes("0xabcd")).toEqual(new Uint8Array([171, 205]));
77
+ });
78
+
79
+ it("should convert a regular string to bytes", () => {
80
+ expect(toBytes("abc")).toEqual(new Uint8Array([97, 98, 99])); // ASCII values for 'a', 'b', 'c'
81
+ });
82
+
83
+ it("should handle empty hex string", () => {
84
+ expect(toBytes("0x")).toEqual(new Uint8Array([]));
85
+ });
86
+
87
+ it("should handle empty string", () => {
88
+ expect(toBytes("")).toEqual(new Uint8Array([]));
89
+ });
90
+ });
91
+
92
+ describe("boolToBytes", () => {
93
+ it("should convert true to a Uint8Array with a value of 1", () => {
94
+ expect(boolToBytes(true)).toEqual(new Uint8Array([1]));
95
+ });
96
+
97
+ it("should convert false to a Uint8Array with a value of 0", () => {
98
+ expect(boolToBytes(false)).toEqual(new Uint8Array([0]));
99
+ });
100
+
101
+ it("should pad the byte array to the specified size with zeros on the left when size is provided", () => {
102
+ expect(boolToBytes(true, { size: 4 })).toEqual(
103
+ new Uint8Array([0, 0, 0, 1]),
104
+ );
105
+ expect(boolToBytes(false, { size: 4 })).toEqual(
106
+ new Uint8Array([0, 0, 0, 0]),
107
+ );
108
+ });
109
+
110
+ it("should throw an error if the specified size is less than the byte size", () => {
111
+ expect(() => boolToBytes(true, { size: 0 })).toThrow(
112
+ "Size overflow: 1 > 0",
113
+ );
114
+ });
115
+
116
+ it("should not pad if no size is provided", () => {
117
+ expect(boolToBytes(true)).toEqual(new Uint8Array([1]));
118
+ expect(boolToBytes(false)).toEqual(new Uint8Array([0]));
119
+ });
120
+
121
+ it("should handle size of 1 correctly", () => {
122
+ expect(boolToBytes(true, { size: 1 })).toEqual(new Uint8Array([1]));
123
+ expect(boolToBytes(false, { size: 1 })).toEqual(new Uint8Array([0]));
124
+ });
125
+ });
126
+
127
+ describe("hexToBytes", () => {
128
+ it("should convert a valid hex string to Uint8Array", () => {
129
+ expect(hexToBytes("0x1a4")).toEqual(new Uint8Array([1, 164]));
130
+ expect(hexToBytes("0xabcdef")).toEqual(new Uint8Array([171, 205, 239]));
131
+ });
132
+
133
+ it("should handle odd-length hex strings by prepending a zero", () => {
134
+ expect(hexToBytes("0xabc")).toEqual(new Uint8Array([10, 188]));
135
+ });
136
+
137
+ it("should throw an error for invalid hex strings", () => {
138
+ expect(() => hexToBytes("0x1g")).toThrow(
139
+ 'Invalid byte sequence ("1g" in "1g").',
140
+ );
141
+ expect(() => hexToBytes("0xzz")).toThrow(
142
+ 'Invalid byte sequence ("zz" in "zz").',
143
+ );
144
+ });
145
+
146
+ it("should pad the hex string to the specified size by adding extra bytes", () => {
147
+ expect(hexToBytes("0x1a", { size: 4 })).toEqual(
148
+ new Uint8Array([26, 0, 0, 0]),
149
+ );
150
+ });
151
+
152
+ it("should throw an error if the hex string exceeds the specified size", () => {
153
+ expect(() => hexToBytes("0x123456", { size: 2 })).toThrow(
154
+ "Size overflow",
155
+ );
156
+ });
157
+
158
+ it("should correctly convert hex strings with even lengths without additional padding", () => {
159
+ expect(hexToBytes("0x1234")).toEqual(new Uint8Array([18, 52]));
160
+ });
161
+ });
162
+
163
+ describe("numberToBytes", () => {
164
+ it("should convert a number to a Uint8Array", () => {
165
+ const result = numberToBytes(420);
166
+ expect(result).toEqual(new Uint8Array([1, 164]));
167
+ });
168
+
169
+ it("should convert a bigint to a Uint8Array", () => {
170
+ const result = numberToBytes(BigInt(420));
171
+ expect(result).toEqual(new Uint8Array([1, 164]));
172
+ });
173
+
174
+ it("should handle zero correctly", () => {
175
+ const result = numberToBytes(0);
176
+ expect(result).toEqual(new Uint8Array([0]));
177
+ });
178
+
179
+ it("should handle large numbers correctly", () => {
180
+ const largeNumber = BigInt("12345678901234567890");
181
+ const result = numberToBytes(largeNumber);
182
+ expect(result).toEqual(hexToBytes(numberToHex(largeNumber)));
183
+ });
184
+
185
+ it("should apply options correctly when converting numbers", () => {
186
+ const opts = { size: 4 };
187
+ const result = numberToBytes(420, opts);
188
+ expect(result).toEqual(hexToBytes(numberToHex(420, opts)));
189
+ });
190
+ });
191
+
192
+ describe("stringToBytes", () => {
193
+ it("should convert a string to a Uint8Array of bytes", () => {
194
+ const result = stringToBytes("Hello, world!");
195
+ expect(result).toEqual(
196
+ new Uint8Array([
197
+ 72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33,
198
+ ]),
199
+ );
200
+ });
201
+
202
+ it("should handle an empty string", () => {
203
+ const result = stringToBytes("");
204
+ expect(result).toEqual(new Uint8Array([]));
205
+ });
206
+
207
+ it("should pad the byte array to the specified size with zeros on the right", () => {
208
+ const result = stringToBytes("Hi", { size: 5 });
209
+ expect(result).toEqual(new Uint8Array([72, 105, 0, 0, 0]));
210
+ });
211
+
212
+ it("should throw an error if the byte array exceeds the specified size", () => {
213
+ expect(() => stringToBytes("Hello", { size: 3 })).toThrow(
214
+ "Size overflow: 5 > 3",
215
+ );
216
+ });
217
+
218
+ it("should not pad if no size is provided", () => {
219
+ const result = stringToBytes("Test");
220
+ expect(result).toEqual(new Uint8Array([84, 101, 115, 116]));
221
+ });
222
+
223
+ it("should handle unicode characters correctly", () => {
224
+ const result = stringToBytes("こんにちは");
225
+ expect(result).toEqual(
226
+ new Uint8Array([
227
+ 227, 129, 147, 227, 130, 147, 227, 129, 171, 227, 129, 161, 227, 129,
228
+ 175,
229
+ ]),
230
+ );
231
+ });
232
+ });
233
+ });
@@ -9,7 +9,13 @@ type PadOptions = {
9
9
  size?: number | null;
10
10
  };
11
11
 
12
- function padBytes(bytes: Uint8Array, { dir, size = 32 }: PadOptions = {}) {
12
+ /**
13
+ * @internal Exported for test
14
+ */
15
+ export function padBytes(
16
+ bytes: Uint8Array,
17
+ { dir, size = 32 }: PadOptions = {},
18
+ ) {
13
19
  if (size === null) {
14
20
  return bytes;
15
21
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.66.0";
1
+ export const version = "5.67.0";
@@ -34,8 +34,8 @@ export type SocialAuthArgsType = {
34
34
 
35
35
  export type SingleStepAuthArgsType =
36
36
  | SocialAuthArgsType
37
- | { strategy: "jwt"; jwt: string; encryptionKey: string }
38
- | { strategy: "auth_endpoint"; payload: string; encryptionKey: string }
37
+ | { strategy: "jwt"; jwt: string; encryptionKey?: string }
38
+ | { strategy: "auth_endpoint"; payload: string; encryptionKey?: string }
39
39
  | {
40
40
  /**
41
41
  * @deprecated