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.
- package/dist/cjs/exports/react.js +4 -2
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/react/web/ui/SiteEmbed.js +3 -3
- package/dist/cjs/react/web/ui/SiteLink.js +64 -0
- package/dist/cjs/react/web/ui/SiteLink.js.map +1 -0
- package/dist/cjs/utils/encoding/to-bytes.js +4 -0
- package/dist/cjs/utils/encoding/to-bytes.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/exports/react.js +2 -1
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/react/web/ui/SiteEmbed.js +3 -3
- package/dist/esm/react/web/ui/SiteLink.js +61 -0
- package/dist/esm/react/web/ui/SiteLink.js.map +1 -0
- package/dist/esm/utils/encoding/to-bytes.js +4 -1
- package/dist/esm/utils/encoding/to-bytes.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/exports/react.d.ts +1 -0
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/react/web/ui/SiteEmbed.d.ts +3 -3
- package/dist/types/react/web/ui/SiteLink.d.ts +29 -0
- package/dist/types/react/web/ui/SiteLink.d.ts.map +1 -0
- package/dist/types/utils/encoding/to-bytes.d.ts +9 -0
- package/dist/types/utils/encoding/to-bytes.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/core/authentication/types.d.ts +2 -2
- package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/exports/react.ts +2 -1
- package/src/react/web/ui/SiteEmbed.tsx +3 -3
- package/src/react/web/ui/SiteLink.test.tsx +48 -0
- package/src/react/web/ui/SiteLink.tsx +86 -0
- package/src/utils/encoding/helpers/assert-size.test.ts +47 -0
- package/src/utils/encoding/helpers/byte-size.test.ts +36 -0
- package/src/utils/encoding/helpers/charcode-to-base-16.test.ts +39 -0
- package/src/utils/encoding/helpers/is-hext.test.ts +54 -0
- package/src/utils/encoding/to-bytes.test.ts +233 -0
- package/src/utils/encoding/to-bytes.ts +7 -1
- package/src/version.ts +1 -1
- 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":";;;;AAAA,iEAA6E;AAApE,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AAM9B,mFAA+E;AAAtE,iHAAA,aAAa,OAAA;AACtB,uFAAmF;AAA1E,+GAAA,YAAY,OAAA;AAcrB,uEAA+E;AAAtE,6GAAA,iBAAiB,OAAA;AAG1B,oFAA+E;AAAtE,wHAAA,gBAAgB,OAAA;AAOzB,yEAG8C;AAF5C,iHAAA,aAAa,OAAA;AACb,mHAAA,eAAe,OAAA;AAGjB,iBAAiB;AACjB,mFAA+E;AAAtE,iHAAA,aAAa,OAAA;AAGtB,eAAe;AACf,qFAAiF;AAAxE,qHAAA,eAAe,OAAA;AACxB,mFAA+E;AAAtE,mHAAA,cAAc,OAAA;AACvB,+FAA2F;AAAlF,+HAAA,oBAAoB,OAAA;AAC7B,qHAAiH;AAAxG,qJAAA,+BAA+B,OAAA;AACxC,uFAAmF;AAA1E,uHAAA,gBAAgB,OAAA;AACzB,kFAA8E;AAArE,mHAAA,cAAc,OAAA;AACvB,qFAAiF;AAAxE,qHAAA,eAAe,OAAA;AACxB,2EAAuE;AAA9D,2GAAA,UAAU,OAAA;AACnB,6FAAyF;AAAhF,6HAAA,mBAAmB,OAAA;AAC5B,iFAA6E;AAApE,iHAAA,aAAa,OAAA;AACtB,6FAAyF;AAAhF,6HAAA,mBAAmB,OAAA;AAC5B,2FAAuF;AAA9E,2HAAA,kBAAkB,OAAA;AAC3B,2HAAuH;AAA9G,2JAAA,kCAAkC,OAAA;AAC3C,+EAA2E;AAAlE,+GAAA,YAAY,OAAA;AACrB,2GAAuG;AAA9F,2IAAA,0BAA0B,OAAA;AACnC,mFAA+E;AAAtE,mHAAA,cAAc,OAAA;AACvB,sFAAkF;AAAzE,uHAAA,gBAAgB,OAAA;AACzB,4EAAwE;AAA/D,6GAAA,WAAW,OAAA;AACpB,kFAA8E;AAArE,mHAAA,cAAc,OAAA;AAEvB,cAAc;AACd,gFAA+E;AAAtE,oHAAA,gBAAgB,OAAA;AAIzB,WAAW;AACX,sFAAkF;AAAzE,qHAAA,eAAe,OAAA;AACxB,0FAAsF;AAA7E,yHAAA,iBAAiB,OAAA;AAC1B,0FAAsF;AAA7E,yHAAA,iBAAiB,OAAA;AAO1B,uGAAmG;AAA1F,mIAAA,sBAAsB,OAAA;AAC/B,8FAA0F;AAAjF,2HAAA,kBAAkB,OAAA;AAC3B,yGAAqG;AAA5F,qIAAA,uBAAuB,OAAA;AAChC,mHAA+G;AAAtG,+IAAA,4BAA4B,OAAA;AACrC,uFAAmF;AAA1E,mHAAA,cAAc,OAAA;AACvB,+FAA2F;AAAlF,2HAAA,kBAAkB,OAAA;AAE3B,cAAc;AACd,+EAGmD;AAFjD,mHAAA,cAAc,OAAA;AAIhB,QAAQ;AACR,qEAAyE;AAAhE,qHAAA,mBAAmB,OAAA;AAC5B,8FAAgG;AAAvF,qIAAA,0BAA0B,OAAA;AAEnC,MAAM;AACN,6FAG0D;AAFxD,iIAAA,qBAAqB,OAAA;AAGvB,+FAA2F;AAAlF,mIAAA,sBAAsB,OAAA;AAC/B,iGAG4D;AAF1D,qIAAA,uBAAuB,OAAA;AAGzB,yFAGwD;AAFtD,6HAAA,mBAAmB,OAAA;AAGrB,2FAAuF;AAA9E,+HAAA,oBAAoB,OAAA;AAC7B,6FAG0D;AAFxD,iIAAA,qBAAqB,OAAA;AAGvB,6EAGkD;AAFhD,iHAAA,aAAa,OAAA;AAGf,uFAGuD;AAFrD,2HAAA,kBAAkB,OAAA;AAIpB,6EAAyE;AAAhE,6GAAA,WAAW,OAAA;AAMpB,2DAIqC;AAHnC,uGAAA,QAAQ,OAAA;AAYV,uFAG0D;AAFxD,qHAAA,eAAe,OAAA;AAIjB,cAAc;AACd,2DAA8E;AAArE,0GAAA,aAAa,OAAA;AAAE,2GAAA,cAAc,OAAA;AAEtC,uEAGkD;AAFhD,mHAAA,qBAAqB,OAAA;AAIvB,uFAG0D;AAFxD,6HAAA,uBAAuB,OAAA;AAIzB,MAAM;AACN,2DAAyE;AAAhE,uGAAA,UAAU,OAAA;AAAE,yGAAA,YAAY,OAAA;AAEjC;;GAEG;AACH,mFAAqF;AAA5E,uGAAA,WAAW,OAAA;AAEpB,8FAG2E;AAFzE,kHAAA,sBAAsB,OAAA;AAGxB,iGAG8E;AAF5E,qHAAA,yBAAyB,OAAA;AAI3B,8DAG6C;AAF3C,6FAAA,GAAG,OAAA;AAIL,uFAAqF;AAA5E,6HAAA,oBAAoB,OAAA;AAE7B;;GAEG;AACH,uEAAmE;AAA1D,qGAAA,OAAO,OAAA;AAEhB,0EAAsE;AAA7D,6GAAA,WAAW,OAAA;AAEpB,SAAS;AACT,kFAA8E;AAArE,yHAAA,iBAAiB,OAAA;AAQ1B,
|
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
|
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"
|
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":";;
|
1
|
+
{"version":3,"file":"to-bytes.js","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.js
CHANGED
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAM7E,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AAcnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAO/E,OAAO,EACL,aAAa,EACb,eAAe,GAChB,MAAM,sCAAsC,CAAC;AAE9C,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAG/E,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gEAAgE,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,kCAAkC,EAAE,MAAM,mEAAmE,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAE9E,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAI/E,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAOtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iEAAiE,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAE3F,cAAc;AACd,OAAO,EACL,cAAc,GAEf,MAAM,2CAA2C,CAAC;AAEnD,QAAQ;AACR,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAEhG,MAAM;AACN,OAAO,EACL,qBAAqB,GAEtB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EACL,uBAAuB,GAExB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,mBAAmB,GAEpB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EACL,qBAAqB,GAEtB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,aAAa,GAEd,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,kBAAkB,GAEnB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAMzE,OAAO,EACL,QAAQ,GAGT,MAAM,6BAA6B,CAAC;AASrC,OAAO,EACL,eAAe,GAEhB,MAAM,kDAAkD,CAAC;AAE1D,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,EACL,qBAAqB,GAEtB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,uBAAuB,GAExB,MAAM,kDAAkD,CAAC;AAE1D,MAAM;AACN,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AAErF,OAAO,EACL,sBAAsB,GAEvB,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EACL,yBAAyB,GAE1B,MAAM,sEAAsE,CAAC;AAE9E,OAAO,EACL,GAAG,GAEJ,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAErF;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAQ9E,yBAAyB;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC"}
|
@@ -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
|
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"
|
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
|
-
|
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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAY,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAwB,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOrE,
|
1
|
+
{"version":3,"file":"to-bytes.js","sourceRoot":"","sources":["../../../../src/utils/encoding/to-bytes.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = "5.
|
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
|
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"
|
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;
|
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"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.
|
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
|
32
|
+
encryptionKey?: string;
|
33
33
|
} | {
|
34
34
|
strategy: "auth_endpoint";
|
35
35
|
payload: string;
|
36
|
-
encryptionKey
|
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":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACN,MAAM,MAAM,eAAe,GAAG,yBAAyB,GAAG;IACxD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG;IAC9D,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,
|
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.
|
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.
|
215
|
-
"@walletconnect/sign-client": "2.17.
|
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.
|
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.
|
325
|
+
"happy-dom": "^15.10.2",
|
326
326
|
"knip": "5.36.2",
|
327
327
|
"msw": "^2.6.0",
|
328
328
|
"prettier": "^3.3.2",
|
package/src/exports/react.ts
CHANGED
@@ -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
|
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"
|
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
|
-
|
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.
|
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
|
38
|
-
| { strategy: "auth_endpoint"; payload: string; encryptionKey
|
37
|
+
| { strategy: "jwt"; jwt: string; encryptionKey?: string }
|
38
|
+
| { strategy: "auth_endpoint"; payload: string; encryptionKey?: string }
|
39
39
|
| {
|
40
40
|
/**
|
41
41
|
* @deprecated
|