thirdweb 5.61.0-nightly-27375af91b86eb21d251a99dec57e0a6470511ca-20241004000320 → 5.61.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/contract/deployment/utils/create-2-factory.js +53 -46
- package/dist/cjs/contract/deployment/utils/create-2-factory.js.map +1 -1
- package/dist/cjs/event/actions/get-events.js +4 -4
- package/dist/cjs/event/actions/get-events.js.map +1 -1
- package/dist/cjs/exports/react.js +4 -2
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/exports/react.native.js +3 -1
- package/dist/cjs/exports/react.native.js.map +1 -1
- package/dist/cjs/exports/wallets.js.map +1 -1
- package/dist/cjs/exports/wallets.native.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useLinkProfile.js +92 -0
- package/dist/cjs/react/native/hooks/wallets/useLinkProfile.js.map +1 -0
- package/dist/cjs/react/native/hooks/wallets/useProfiles.js +3 -4
- package/dist/cjs/react/native/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useLinkProfile.js +91 -0
- package/dist/cjs/react/web/hooks/wallets/useLinkProfile.js.map +1 -0
- package/dist/cjs/react/web/hooks/wallets/useProfiles.js +3 -4
- package/dist/cjs/react/web/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +2 -1
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/users/getUser.js +11 -8
- package/dist/cjs/wallets/in-app/core/users/getUser.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +1 -0
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +23 -16
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +1 -0
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/contract/deployment/utils/create-2-factory.js +53 -46
- package/dist/esm/contract/deployment/utils/create-2-factory.js.map +1 -1
- package/dist/esm/event/actions/get-events.js +4 -4
- package/dist/esm/event/actions/get-events.js.map +1 -1
- package/dist/esm/exports/react.js +1 -0
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/exports/react.native.js +1 -0
- package/dist/esm/exports/react.native.js.map +1 -1
- package/dist/esm/exports/wallets.js.map +1 -1
- package/dist/esm/exports/wallets.native.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useLinkProfile.js +89 -0
- package/dist/esm/react/native/hooks/wallets/useLinkProfile.js.map +1 -0
- package/dist/esm/react/native/hooks/wallets/useProfiles.js +3 -4
- package/dist/esm/react/native/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useLinkProfile.js +88 -0
- package/dist/esm/react/web/hooks/wallets/useLinkProfile.js.map +1 -0
- package/dist/esm/react/web/hooks/wallets/useProfiles.js +3 -4
- package/dist/esm/react/web/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +2 -1
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/in-app/core/users/getUser.js +11 -8
- package/dist/esm/wallets/in-app/core/users/getUser.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +1 -0
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +23 -16
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +1 -0
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/types/contract/deployment/utils/create-2-factory.d.ts.map +1 -1
- package/dist/types/exports/react.d.ts +1 -0
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/exports/react.native.d.ts +1 -0
- package/dist/types/exports/react.native.d.ts.map +1 -1
- package/dist/types/exports/wallets.d.ts +1 -0
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/exports/wallets.native.d.ts +1 -0
- package/dist/types/exports/wallets.native.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useLinkProfile.d.ts +74 -0
- package/dist/types/react/native/hooks/wallets/useLinkProfile.d.ts.map +1 -0
- package/dist/types/react/native/hooks/wallets/useProfiles.d.ts +3 -4
- package/dist/types/react/native/hooks/wallets/useProfiles.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useLinkProfile.d.ts +73 -0
- package/dist/types/react/web/hooks/wallets/useLinkProfile.d.ts.map +1 -0
- package/dist/types/react/web/hooks/wallets/useProfiles.d.ts +3 -4
- package/dist/types/react/web/hooks/wallets/useProfiles.d.ts.map +1 -1
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/users/getUser.d.ts +8 -6
- package/dist/types/wallets/in-app/core/users/getUser.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +23 -16
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/contract/deployment/utils/create-2-factory.ts +70 -57
- package/src/event/actions/get-events.ts +4 -4
- package/src/exports/react.native.ts +1 -0
- package/src/exports/react.ts +1 -0
- package/src/exports/wallets.native.ts +1 -0
- package/src/exports/wallets.ts +1 -0
- package/src/extensions/thirdweb/write/publish.test.ts +20 -12
- package/src/react/native/hooks/wallets/useLinkProfile.ts +92 -0
- package/src/react/native/hooks/wallets/useProfiles.ts +3 -4
- package/src/react/web/hooks/wallets/useLinkProfile.ts +91 -0
- package/src/react/web/hooks/wallets/useProfiles.ts +3 -4
- package/src/utils/any-evm/zksync/isZkSyncChain.ts +2 -1
- package/src/version.ts +1 -1
- package/src/wallets/in-app/core/authentication/types.ts +1 -0
- package/src/wallets/in-app/core/users/getUser.ts +14 -7
- package/src/wallets/in-app/native/native-connector.ts +1 -0
- package/src/wallets/in-app/web/lib/auth/index.ts +23 -16
- package/src/wallets/in-app/web/lib/web-connector.ts +1 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
import type { AuthArgsType } from "../../../../wallets/in-app/core/authentication/types.js";
|
2
|
+
/**
|
3
|
+
* Links a web2 or web3 profile to the connected in-app or ecosystem account.
|
4
|
+
* **When a profile is linked to the account, that profile can then be used to sign into the same account.**
|
5
|
+
*
|
6
|
+
* @example
|
7
|
+
*
|
8
|
+
* ### Linking a social profile
|
9
|
+
*
|
10
|
+
* ```jsx
|
11
|
+
* import { useLinkProfile } from "thirdweb/react";
|
12
|
+
*
|
13
|
+
* const { mutate: linkProfile } = useLinkProfile();
|
14
|
+
*
|
15
|
+
* const onClick = () => {
|
16
|
+
* linkProfile({
|
17
|
+
* client,
|
18
|
+
* strategy: "discord", // or "google", "x", "telegram", etc
|
19
|
+
* });
|
20
|
+
* };
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* ### Linking an email
|
24
|
+
*
|
25
|
+
* ```jsx
|
26
|
+
* import { useLinkProfile } from "thirdweb/react";
|
27
|
+
* import { preAuthenticate } from "thirdweb/wallets";
|
28
|
+
*
|
29
|
+
* const { mutate: linkProfile } = useLinkProfile();
|
30
|
+
*
|
31
|
+
* // send a verification email first
|
32
|
+
* const sendEmail = async () => {
|
33
|
+
* const email = await preAuthenticate({
|
34
|
+
* client,
|
35
|
+
* strategy: "email",
|
36
|
+
* email: "john.doe@example.com",
|
37
|
+
* });
|
38
|
+
* };
|
39
|
+
*
|
40
|
+
* // then link the profile with the verification code
|
41
|
+
* const onClick = (code: string) => {
|
42
|
+
* linkProfile({
|
43
|
+
* client,
|
44
|
+
* strategy: "email",
|
45
|
+
* email: "john.doe@example.com",
|
46
|
+
* verificationCode: code,
|
47
|
+
* });
|
48
|
+
* };
|
49
|
+
* ```
|
50
|
+
*
|
51
|
+
* The same process can be used for phone and email, simply swap out the `strategy` parameter.
|
52
|
+
*
|
53
|
+
* ### Linking a wallet
|
54
|
+
*
|
55
|
+
* ```jsx
|
56
|
+
* import { useLinkProfile } from "thirdweb/react";
|
57
|
+
*
|
58
|
+
* const { mutate: linkProfile } = useLinkProfile();
|
59
|
+
*
|
60
|
+
* const onClick = () => {
|
61
|
+
* linkProfile({
|
62
|
+
* client,
|
63
|
+
* strategy: "wallet",
|
64
|
+
* wallet: createWallet("io.metamask"), // autocompletion for 400+ wallet ids
|
65
|
+
* chain: sepolia, // any chain works, needed for SIWE signature
|
66
|
+
* });
|
67
|
+
* };
|
68
|
+
* ```
|
69
|
+
*
|
70
|
+
* @wallet
|
71
|
+
*/
|
72
|
+
export declare function useLinkProfile(): import("@tanstack/react-query").UseMutationResult<import("../../../../wallets/in-app/core/authentication/types.js").Profile[], Error, AuthArgsType, unknown>;
|
73
|
+
//# sourceMappingURL=useLinkProfile.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useLinkProfile.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/wallets/useLinkProfile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAK5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,wBAAgB,cAAc,iKAa7B"}
|
@@ -2,11 +2,10 @@ import { type UseQueryResult } from "@tanstack/react-query";
|
|
2
2
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
3
|
import type { Profile } from "../../../../wallets/in-app/core/authentication/types.js";
|
4
4
|
/**
|
5
|
-
* Retrieves all linked profiles of the connected in-app or ecosystem
|
5
|
+
* Retrieves all linked profiles of the connected in-app or ecosystem account.
|
6
6
|
*
|
7
|
-
* @returns A React Query result containing the linked profiles for the connected in-app
|
8
|
-
*
|
9
|
-
* @note This hook will only run if the connected wallet supports multi-auth (in-app wallets).
|
7
|
+
* @returns A React Query result containing the linked profiles for the connected in-app account.
|
8
|
+
* @note This hook will only run if the connected wallet supports account linking.
|
10
9
|
*
|
11
10
|
* @example
|
12
11
|
* ```jsx
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useProfiles.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/wallets/useProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yDAAyD,CAAC;AAKvF
|
1
|
+
{"version":3,"file":"useProfiles.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/wallets/useProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yDAAyD,CAAC;AAKvF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,cAAc,CAAC;CACxB,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAgB5B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"isZkSyncChain.d.ts","sourceRoot":"","sources":["../../../../../src/utils/any-evm/zksync/isZkSyncChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,
|
1
|
+
{"version":3,"file":"isZkSyncChain.d.ts","sourceRoot":"","sources":["../../../../../src/utils/any-evm/zksync/isZkSyncChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,oBA4B/C"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.61.0
|
1
|
+
export declare const version = "5.61.0";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
|
@@ -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,GACvD;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,EAAE,2BAA2B,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACtB;IACE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,YAAY,GAAG,CAAC,qBAAqB,GAAG,sBAAsB,CAAC,GAAG;IAC5E,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAGF,KAAK,uBAAuB,GAAG,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;AAG1E,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,UAAU,GACV,WAAW,GACX,oBAAoB,GACpB,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,GACT,UAAU,GACV,GAAG,GACH,MAAM,GACN,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/types.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
2
2
|
import type { OneOf, Prettify } from "../../../../utils/type-utils.js";
|
3
3
|
import type { Profile } from "../authentication/types.js";
|
4
|
+
import type { Ecosystem } from "../wallet/types.js";
|
4
5
|
export type GetUserResult = {
|
5
6
|
userId: string;
|
6
7
|
walletAddress: string;
|
@@ -13,33 +14,34 @@ export type GetUserResult = {
|
|
13
14
|
* Gets user based on the provided query parameters.
|
14
15
|
* @note This function is only available on the server (a secret key is required in the client).
|
15
16
|
*
|
16
|
-
* @param options - The options for the
|
17
|
+
* @param options - The options for the get user function.
|
17
18
|
* @param options.client - The Thirdweb client with a secret key included.
|
18
|
-
* @param [options.walletAddress] - The wallet address to query by.
|
19
|
+
* @param [options.walletAddress] - The wallet address generated by thirdweb to query by.
|
19
20
|
* @param [options.email] - The email to query by.
|
20
21
|
* @param [options.phone] - The phone number to query by.
|
21
22
|
* @param [options.id] - The user ID to query by.
|
23
|
+
* @param [options.externalWalletAddress] - The linked external wallet address to query by.
|
22
24
|
*
|
23
|
-
* @returns
|
25
|
+
* @returns A user object or null if not found.
|
24
26
|
*
|
25
27
|
* @example
|
26
|
-
* ```ts
|
27
28
|
* import { getUser } from "thirdweb/wallets";
|
28
29
|
*
|
29
30
|
* const user = await getUser({
|
30
31
|
* client,
|
31
32
|
* walletAddress: "0x123...",
|
32
33
|
* });
|
33
|
-
* ```
|
34
34
|
*
|
35
35
|
* @wallet
|
36
36
|
*/
|
37
|
-
export declare function getUser({ client, walletAddress, email, phone, id, }: Prettify<{
|
37
|
+
export declare function getUser({ client, walletAddress, email, phone, id, externalWalletAddress, ecosystem, }: Prettify<{
|
38
38
|
client: ThirdwebClient;
|
39
|
+
ecosystem?: Ecosystem;
|
39
40
|
} & OneOf<{
|
40
41
|
walletAddress?: string;
|
41
42
|
email?: string;
|
42
43
|
phone?: string;
|
43
44
|
id?: string;
|
45
|
+
externalWalletAddress?: string;
|
44
46
|
}>>): Promise<GetUserResult | null>;
|
45
47
|
//# sourceMappingURL=getUser.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getUser.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/users/getUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"getUser.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/users/getUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,OAAO,CAAC,EAC5B,MAAM,EACN,aAAa,EACb,KAAK,EACL,KAAK,EACL,EAAE,EACF,qBAAqB,EACrB,SAAS,GACV,EAAE,QAAQ,CACT;IACE,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,KAAK,CAAC;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC,CACH,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA2DhC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"native-connector.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/native/native-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAc1D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,OAAO,EAAE,sBAAsB;IAWrC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAgCnC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,YAAY,CAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mCAAmC,CAAC;IAwDzC,OAAO,CACX,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,GACrD,OAAO,CAAC,mBAAmB,CAAC;YAgCjB,WAAW;IAyDnB,mBAAmB;IAOzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO7B,WAAW,CAAC,IAAI,EAAE,YAAY;
|
1
|
+
{"version":3,"file":"native-connector.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/native/native-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAc1D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,OAAO,EAAE,sBAAsB;IAWrC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAgCnC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,YAAY,CAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mCAAmC,CAAC;IAwDzC,OAAO,CACX,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,GACrD,OAAO,CAAC,mBAAmB,CAAC;YAgCjB,WAAW;IAyDnB,mBAAmB;IAOzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO7B,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,WAAW;CAOlB"}
|
@@ -72,9 +72,9 @@ export declare function authenticate(args: AuthArgsType): Promise<import("../../
|
|
72
72
|
* @returns A promise that resolves to the authentication result.
|
73
73
|
* @example
|
74
74
|
* ```ts
|
75
|
-
* import {
|
75
|
+
* import { authenticateWithRedirect } from "thirdweb/wallets/in-app";
|
76
76
|
*
|
77
|
-
* const result = await
|
77
|
+
* const result = await authenticateWithRedirect({
|
78
78
|
* client,
|
79
79
|
* strategy: "google",
|
80
80
|
* mode: "redirect",
|
@@ -88,25 +88,21 @@ export declare function authenticateWithRedirect(args: SocialAuthArgsType & {
|
|
88
88
|
ecosystem?: Ecosystem;
|
89
89
|
}): Promise<void>;
|
90
90
|
/**
|
91
|
-
* Connects a new profile (authentication method) to the current user.
|
92
|
-
* The connected profile can be any valid in-app wallet including email, phone, passkey, etc.
|
93
|
-
* The inputs mirror those used when authenticating normally.
|
91
|
+
* Connects a new profile (and new authentication method) to the current user.
|
94
92
|
*
|
95
|
-
*
|
93
|
+
* Requires a connected in-app or ecosystem account.
|
96
94
|
*
|
97
|
-
*
|
95
|
+
* **When a profile is linked to the account, that profile can then be used to sign into the same account.**
|
98
96
|
*
|
99
|
-
* @param wallet - The wallet to link an additional profile to.
|
100
97
|
* @param auth - The authentications options to add the new profile.
|
101
98
|
* @returns A promise that resolves to the currently linked profiles when the connection is successful.
|
102
99
|
* @throws If the connection fails, if the profile is already linked to the account, or if the profile is already associated with another account.
|
103
100
|
*
|
104
101
|
* @example
|
105
102
|
* ```ts
|
106
|
-
*
|
103
|
+
* import { linkProfile } from "thirdweb/wallets";
|
107
104
|
*
|
108
|
-
* await
|
109
|
-
* const profiles = await linkProfile({ client, strategy: "discord" });
|
105
|
+
* await linkProfile({ client, strategy: "discord" });
|
110
106
|
* ```
|
111
107
|
* @wallet
|
112
108
|
*/
|
@@ -118,17 +114,28 @@ export declare function linkProfile(args: AuthArgsType): Promise<import("../../.
|
|
118
114
|
*
|
119
115
|
* @example
|
120
116
|
* ```ts
|
121
|
-
* import {
|
122
|
-
*
|
123
|
-
* const wallet = inAppWallet();
|
124
|
-
* wallet.connect({ strategy: "google" });
|
117
|
+
* import { getProfiles } from "thirdweb/wallets";
|
125
118
|
*
|
126
119
|
* const profiles = await getProfiles({
|
127
120
|
* client,
|
128
121
|
* });
|
129
122
|
*
|
130
|
-
* console.log(profiles[0].type);
|
123
|
+
* console.log(profiles[0].type); // will be "email", "phone", "google", "discord", etc
|
131
124
|
* console.log(profiles[0].details.email);
|
125
|
+
* console.log(profiles[0].details.phone);
|
126
|
+
* ```
|
127
|
+
*
|
128
|
+
* ### Getting profiles for a ecosystem user
|
129
|
+
*
|
130
|
+
* ```ts
|
131
|
+
* import { getProfiles } from "thirdweb/wallets/in-app";
|
132
|
+
*
|
133
|
+
* const profiles = await getProfiles({
|
134
|
+
* client,
|
135
|
+
* ecosystem: {
|
136
|
+
* id: "ecosystem.your-ecosystem-id",
|
137
|
+
* },
|
138
|
+
* });
|
132
139
|
* ```
|
133
140
|
* @wallet
|
134
141
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EACnB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAoD/D;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,iBAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,gGAGpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,kBAAkB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,iBAa7E;AAED
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EACnB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAoD/D;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,iBAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,gGAGpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,kBAAkB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,iBAa7E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,sEAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,0BAA0B,sEAGjE"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAY7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAyB,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAkD;IACjE,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,0BAA0B;IA4FvB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAwCzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAejC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,wBAAwB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,kBAAkB,CAAC,UAAU,EAAE,mCAAmC;IAIxE;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC;IAwE/C;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAiDzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAI3B,WAAW;IA+BnB,WAAW,CAAC,IAAI,EAAE,YAAY;
|
1
|
+
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAY7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAyB,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAkD;IACjE,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,0BAA0B;IA4FvB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAwCzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAejC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,wBAAwB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,kBAAkB,CAAC,UAAU,EAAE,mCAAmC;IAIxE;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC;IAwE/C;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAiDzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAI3B,WAAW;IA+BnB,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,WAAW;CAOlB"}
|
package/package.json
CHANGED
@@ -9,6 +9,7 @@ import { prepareTransaction } from "../../../transaction/prepare-transaction.js"
|
|
9
9
|
import { isEIP155Enforced } from "../../../utils/any-evm/is-eip155-enforced.js";
|
10
10
|
import { getKeylessTransaction } from "../../../utils/any-evm/keyless-transaction.js";
|
11
11
|
import { isContractDeployed } from "../../../utils/bytecode/is-contract-deployed.js";
|
12
|
+
import { withCache } from "../../../utils/promise/withCache.js";
|
12
13
|
import type {
|
13
14
|
ClientAndChain,
|
14
15
|
ClientAndChainAndAccount,
|
@@ -42,73 +43,85 @@ export async function computeCreate2FactoryAddress(
|
|
42
43
|
): Promise<string> {
|
43
44
|
const chainId = options.chain.id;
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
return withCache(
|
47
|
+
async () => {
|
48
|
+
// special handling for chains with hardcoded gasPrice and gasLimit
|
49
|
+
if (CUSTOM_GAS_FOR_CHAIN[chainId]) {
|
50
|
+
const enforceEip155 = await isEIP155Enforced(options);
|
51
|
+
const eipChain = enforceEip155 ? chainId : 0;
|
52
|
+
const gasPrice = CUSTOM_GAS_FOR_CHAIN[chainId.toString()]?.gasPrice;
|
53
|
+
const gasLimit = CUSTOM_GAS_FOR_CHAIN[chainId.toString()]?.gasLimit;
|
51
54
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
55
|
+
const deploymentInfo = await _getCreate2FactoryDeploymentInfo(
|
56
|
+
eipChain,
|
57
|
+
{
|
58
|
+
gasPrice,
|
59
|
+
gasLimit,
|
60
|
+
},
|
61
|
+
);
|
56
62
|
|
57
|
-
|
58
|
-
|
63
|
+
return deploymentInfo.predictedAddress;
|
64
|
+
}
|
59
65
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
+
// default flow
|
67
|
+
const allBinsInfo = await Promise.all([
|
68
|
+
// to generate EIP-155 transaction
|
69
|
+
...CUSTOM_GAS_BINS.map((b) => {
|
70
|
+
return _getCreate2FactoryDeploymentInfo(chainId, { gasPrice: b });
|
71
|
+
}),
|
66
72
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
73
|
+
// to generate pre EIP-155 transaction, hence chainId 0
|
74
|
+
...CUSTOM_GAS_BINS.map((b) => {
|
75
|
+
return _getCreate2FactoryDeploymentInfo(0, { gasPrice: b });
|
76
|
+
}),
|
77
|
+
]);
|
72
78
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
79
|
+
const allFactories = await Promise.all(
|
80
|
+
allBinsInfo.map((b) => {
|
81
|
+
const tempFactory = getContract({
|
82
|
+
...options,
|
83
|
+
address: b.predictedAddress,
|
84
|
+
});
|
85
|
+
return isContractDeployed(tempFactory);
|
86
|
+
}),
|
87
|
+
);
|
82
88
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
+
const indexOfCommonFactory = allBinsInfo.findIndex(
|
90
|
+
(b) => b.predictedAddress === COMMON_FACTORY_ADDRESS,
|
91
|
+
);
|
92
|
+
if (indexOfCommonFactory && allFactories[indexOfCommonFactory]) {
|
93
|
+
return COMMON_FACTORY_ADDRESS;
|
94
|
+
}
|
89
95
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
96
|
+
const indexOfExistingDeployment = allFactories.findIndex((b) => b);
|
97
|
+
if (
|
98
|
+
indexOfExistingDeployment &&
|
99
|
+
allBinsInfo &&
|
100
|
+
allBinsInfo[indexOfExistingDeployment]?.predictedAddress
|
101
|
+
) {
|
102
|
+
// TODO: cleanup
|
103
|
+
return allBinsInfo[indexOfExistingDeployment]
|
104
|
+
?.predictedAddress as string;
|
105
|
+
}
|
99
106
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
107
|
+
const [enforceEip155, gasPriceFetched] = await Promise.all([
|
108
|
+
isEIP155Enforced(options),
|
109
|
+
getGasPrice(options),
|
110
|
+
]);
|
111
|
+
const eipChain = enforceEip155 ? chainId : 0;
|
112
|
+
const bin = _getNearestGasPriceBin(gasPriceFetched);
|
106
113
|
|
107
|
-
|
108
|
-
|
109
|
-
|
114
|
+
const deploymentInfo = await _getCreate2FactoryDeploymentInfo(eipChain, {
|
115
|
+
gasPrice: bin,
|
116
|
+
});
|
110
117
|
|
111
|
-
|
118
|
+
return deploymentInfo.predictedAddress;
|
119
|
+
},
|
120
|
+
{
|
121
|
+
cacheKey: `create2factory:${chainId}`,
|
122
|
+
cacheTime: 24 * 60 * 60 * 1000, // 1 day
|
123
|
+
},
|
124
|
+
);
|
112
125
|
}
|
113
126
|
|
114
127
|
/**
|
@@ -124,8 +124,8 @@ export async function getContractEvents<
|
|
124
124
|
|
125
125
|
// Make sure the inputs were properly defined
|
126
126
|
if (
|
127
|
-
fromBlock &&
|
128
|
-
toBlock &&
|
127
|
+
fromBlock !== undefined &&
|
128
|
+
toBlock !== undefined &&
|
129
129
|
BigInt(toBlock) - BigInt(fromBlock) !== BigInt(blockRange)
|
130
130
|
) {
|
131
131
|
throw new Error(
|
@@ -133,9 +133,9 @@ export async function getContractEvents<
|
|
133
133
|
);
|
134
134
|
}
|
135
135
|
|
136
|
-
if (fromBlock) {
|
136
|
+
if (fromBlock !== undefined) {
|
137
137
|
restParams.toBlock = BigInt(fromBlock) + BigInt(blockRange) - 1n; // Subtract one because toBlock is inclusive
|
138
|
-
} else if (toBlock) {
|
138
|
+
} else if (toBlock !== undefined) {
|
139
139
|
restParams.fromBlock = BigInt(toBlock) - BigInt(blockRange) + 1n; // Add one because fromBlock is inclusive
|
140
140
|
} else {
|
141
141
|
// If no from or to block specified, use the latest block as the to block
|
@@ -26,6 +26,7 @@ export { useSwitchActiveWalletChain } from "../react/core/hooks/wallets/useSwitc
|
|
26
26
|
export { useCallsStatus } from "../react/core/hooks/wallets/useCallsStatus.js";
|
27
27
|
export { useWalletBalance } from "../react/core/hooks/others/useWalletBalance.js";
|
28
28
|
export { useProfiles } from "../react/native/hooks/wallets/useProfiles.js";
|
29
|
+
export { useLinkProfile } from "../react/native/hooks/wallets/useLinkProfile.js";
|
29
30
|
|
30
31
|
// contract
|
31
32
|
export { useReadContract } from "../react/core/hooks/contract/useReadContract.js";
|
package/src/exports/react.ts
CHANGED
@@ -57,6 +57,7 @@ export { useSwitchActiveWalletChain } from "../react/core/hooks/wallets/useSwitc
|
|
57
57
|
export { useCallsStatus } from "../react/core/hooks/wallets/useCallsStatus.js";
|
58
58
|
export { useWalletBalance } from "../react/core/hooks/others/useWalletBalance.js";
|
59
59
|
export { useProfiles } from "../react/web/hooks/wallets/useProfiles.js";
|
60
|
+
export { useLinkProfile } from "../react/web/hooks/wallets/useLinkProfile.js";
|
60
61
|
|
61
62
|
// chain hooks
|
62
63
|
export { useChainMetadata } from "../react/core/hooks/others/useChainQuery.js";
|
@@ -99,6 +99,7 @@ export {
|
|
99
99
|
getProfiles,
|
100
100
|
linkProfile,
|
101
101
|
} from "../wallets/in-app/native/auth/index.js";
|
102
|
+
export type { Profile } from "../wallets/in-app/core/authentication/types.js";
|
102
103
|
export const authenticateWithRedirect = () => {
|
103
104
|
throw new Error("Not supported in native");
|
104
105
|
};
|
package/src/exports/wallets.ts
CHANGED
@@ -7,21 +7,25 @@ import { CONTRACT_PUBLISHER_ADDRESS } from "../../../contract/deployment/publish
|
|
7
7
|
import { parseEventLogs } from "../../../event/actions/parse-logs.js";
|
8
8
|
import { download } from "../../../storage/download.js";
|
9
9
|
import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js";
|
10
|
-
import {
|
10
|
+
import {
|
11
|
+
type FetchDeployMetadataResult,
|
12
|
+
fetchDeployMetadata,
|
13
|
+
} from "../../../utils/any-evm/deploy-metadata.js";
|
11
14
|
import { contractPublishedEvent } from "../__generated__/IContractPublisher/events/ContractPublished.js";
|
12
15
|
import { getAllPublishedContracts } from "../__generated__/IContractPublisher/read/getAllPublishedContracts.js";
|
13
16
|
import { getPublishedContractVersions } from "../__generated__/IContractPublisher/read/getPublishedContractVersions.js";
|
14
17
|
import { publishContract } from "./publish.js";
|
15
18
|
|
16
|
-
describe.runIf(process.env.TW_SECRET_KEY)("publishContract", () => {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
describe.runIf(process.env.TW_SECRET_KEY).sequential("publishContract", () => {
|
20
|
+
const publisherContract = getContract({
|
21
|
+
client: TEST_CLIENT,
|
22
|
+
chain: FORKED_POLYGON_CHAIN,
|
23
|
+
address: CONTRACT_PUBLISHER_ADDRESS,
|
24
|
+
});
|
25
|
+
let publishedData: FetchDeployMetadataResult;
|
23
26
|
|
24
|
-
|
27
|
+
it("should publish a contract successfully", async () => {
|
28
|
+
const publishedContracts = await getAllPublishedContracts({
|
25
29
|
contract: publisherContract,
|
26
30
|
publisher: TEST_ACCOUNT_D.address,
|
27
31
|
});
|
@@ -80,7 +84,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("publishContract", () => {
|
|
80
84
|
"version": "0.0.1",
|
81
85
|
}
|
82
86
|
`);
|
83
|
-
|
87
|
+
publishedData = await fetchDeployMetadata({
|
84
88
|
client: TEST_CLIENT,
|
85
89
|
uri: logs?.[0]?.args.publishedContract.publishMetadataUri ?? "",
|
86
90
|
});
|
@@ -91,8 +95,10 @@ describe.runIf(process.env.TW_SECRET_KEY)("publishContract", () => {
|
|
91
95
|
expect(publishedData.description).toBe("Cat Attack NFT");
|
92
96
|
expect(publishedData.publisher).toBe(TEST_ACCOUNT_D.address);
|
93
97
|
expect(publishedData.routerType).toBe("none");
|
98
|
+
}, 120000);
|
94
99
|
|
95
|
-
|
100
|
+
it("should throw if publishing the same version", async () => {
|
101
|
+
const publishedContracts = await getAllPublishedContracts({
|
96
102
|
contract: publisherContract,
|
97
103
|
publisher: TEST_ACCOUNT_D.address,
|
98
104
|
});
|
@@ -114,7 +120,9 @@ describe.runIf(process.env.TW_SECRET_KEY)("publishContract", () => {
|
|
114
120
|
}),
|
115
121
|
}),
|
116
122
|
).rejects.toThrow("Version 0.0.1 is not greater than 0.0.1");
|
123
|
+
});
|
117
124
|
|
125
|
+
it("should publish a new version", async () => {
|
118
126
|
const tx2 = publishContract({
|
119
127
|
contract: publisherContract,
|
120
128
|
account: TEST_ACCOUNT_D,
|
@@ -143,7 +151,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("publishContract", () => {
|
|
143
151
|
});
|
144
152
|
expect(publishedData2.version).toBe("0.0.2");
|
145
153
|
|
146
|
-
publishedContracts = await getAllPublishedContracts({
|
154
|
+
const publishedContracts = await getAllPublishedContracts({
|
147
155
|
contract: publisherContract,
|
148
156
|
publisher: TEST_ACCOUNT_D.address,
|
149
157
|
});
|