thirdweb 5.79.0 → 5.80.0-nightly-3d6e2a2b8bcec1c11de51c218a39cb1116dd7f22-20241220000331
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/contract.js +10 -0
- package/dist/cjs/contract/contract.js.map +1 -1
- package/dist/cjs/contract/deployment/utils/create-2-factory.js +29 -3
- package/dist/cjs/contract/deployment/utils/create-2-factory.js.map +1 -1
- package/dist/cjs/gas/fee-data.js +1 -0
- package/dist/cjs/gas/fee-data.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +2 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.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/web/in-app.js +44 -12
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/contract/contract.js +10 -0
- package/dist/esm/contract/contract.js.map +1 -1
- package/dist/esm/contract/deployment/utils/create-2-factory.js +29 -3
- package/dist/esm/contract/deployment/utils/create-2-factory.js.map +1 -1
- package/dist/esm/gas/fee-data.js +1 -0
- package/dist/esm/gas/fee-data.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +2 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.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/web/in-app.js +44 -12
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/types/contract/contract.d.ts.map +1 -1
- package/dist/types/contract/deployment/utils/create-2-factory.d.ts.map +1 -1
- package/dist/types/gas/fee-data.d.ts.map +1 -1
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +11 -0
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/ManageWalletScreen.d.ts +2 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/ManageWalletScreen.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/web/in-app.d.ts +44 -12
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/contract/contract.ts +16 -0
- package/src/contract/deployment/utils/create-2-factory.test.ts +44 -0
- package/src/contract/deployment/utils/create-2-factory.ts +39 -4
- package/src/gas/fee-data.ts +1 -0
- package/src/react/core/hooks/connection/ConnectButtonProps.ts +12 -0
- package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.test.tsx +28 -11
- package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +6 -1
- package/src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.test.tsx +64 -0
- package/src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.tsx +5 -5
- package/src/version.ts +1 -1
- package/src/wallets/in-app/web/in-app.ts +44 -12
- package/src/wallets/smart/smart-wallet-dev.test.ts +2 -1
@@ -25,6 +25,26 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
|
25
25
|
*
|
26
26
|
* [View all available social auth methods](https://portal.thirdweb.com/connect/wallet/sign-in-methods/configure)
|
27
27
|
*
|
28
|
+
* ### Enable smart accounts and sponsor gas for your users:
|
29
|
+
*
|
30
|
+
* ```ts
|
31
|
+
* import { inAppWallet } from "thirdweb/wallets";
|
32
|
+
* import { sepolia } from "thirdweb/chains";
|
33
|
+
*
|
34
|
+
* const wallet = inAppWallet({
|
35
|
+
* smartAccount: {
|
36
|
+
* chain: sepolia,
|
37
|
+
* sponsorGas: true,
|
38
|
+
* },
|
39
|
+
* });
|
40
|
+
*
|
41
|
+
* // account will be a smart account with sponsored gas enabled
|
42
|
+
* const account = await wallet.connect({
|
43
|
+
* client,
|
44
|
+
* strategy: "google",
|
45
|
+
* });
|
46
|
+
* ```
|
47
|
+
*
|
28
48
|
* ### Login with email
|
29
49
|
*
|
30
50
|
* ```ts
|
@@ -103,27 +123,38 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
|
103
123
|
* });
|
104
124
|
* ```
|
105
125
|
*
|
106
|
-
* ###
|
107
|
-
*
|
126
|
+
* ### Connect to a guest account
|
108
127
|
* ```ts
|
109
128
|
* import { inAppWallet } from "thirdweb/wallets";
|
110
|
-
* import { sepolia } from "thirdweb/chains";
|
111
129
|
*
|
112
|
-
* const wallet = inAppWallet(
|
113
|
-
*
|
114
|
-
*
|
115
|
-
*
|
116
|
-
*
|
130
|
+
* const wallet = inAppWallet();
|
131
|
+
*
|
132
|
+
* const account = await wallet.connect({
|
133
|
+
* client,
|
134
|
+
* strategy: "guest",
|
117
135
|
* });
|
136
|
+
* ```
|
137
|
+
*
|
138
|
+
* ### Connect with custom JWT (any OIDC provider)
|
139
|
+
*
|
140
|
+
* You can use any OIDC provider to authenticate your users. Make sure to configure it in your dashboard under in-app wallet settings.
|
141
|
+
*
|
142
|
+
* ```ts
|
143
|
+
* import { inAppWallet } from "thirdweb/wallets";
|
144
|
+
*
|
145
|
+
* const wallet = inAppWallet();
|
118
146
|
*
|
119
|
-
* // account will be a smart account with sponsored gas enabled
|
120
147
|
* const account = await wallet.connect({
|
121
148
|
* client,
|
122
|
-
* strategy: "
|
149
|
+
* strategy: "jwt",
|
150
|
+
* jwt: "your_jwt_here",
|
123
151
|
* });
|
124
152
|
* ```
|
125
153
|
*
|
126
|
-
* ### Connect
|
154
|
+
* ### Connect with custom endpoint
|
155
|
+
*
|
156
|
+
* You can also use your own endpoint to authenticate your users. Make sure to configure it in your dashboard under in-app wallet settings.
|
157
|
+
*
|
127
158
|
* ```ts
|
128
159
|
* import { inAppWallet } from "thirdweb/wallets";
|
129
160
|
*
|
@@ -131,7 +162,8 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
|
131
162
|
*
|
132
163
|
* const account = await wallet.connect({
|
133
164
|
* client,
|
134
|
-
* strategy: "
|
165
|
+
* strategy: "auth_endpoint",
|
166
|
+
* payload: "your_auth_payload_here",
|
135
167
|
* });
|
136
168
|
* ```
|
137
169
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"in-app.js","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE
|
1
|
+
{"version":3,"file":"in-app.js","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+MG;AACH,MAAM,UAAU,WAAW,CACzB,aAA4C;IAE5C,OAAO,iBAAiB,CAAC;QACvB,aAAa;QACb,gBAAgB,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE;YACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACrE,OAAO,IAAI,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa;aAClD,CAAC,CAAC;QACL,CAAC;KACF,CAAoB,CAAC;AACxB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/contract/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/contract/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,GAAG,GAAG,EAAE,IAAI;IAClD,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,GAAG,GAAG,EAAE,IAAI,QAAQ,CAC3D,eAAe,CAAC,GAAG,CAAC,CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,GAAG,EAAE,EACpD,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAC5B,gBAAgB,CAAC,GAAG,CAAC,CAiBvB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create-2-factory.d.ts","sourceRoot":"","sources":["../../../../../src/contract/deployment/utils/create-2-factory.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"create-2-factory.d.ts","sourceRoot":"","sources":["../../../../../src/contract/deployment/utils/create-2-factory.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AA0BjC;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAkFjB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,cAAc,6EAWtE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB;;GAgD3E"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fee-data.d.ts","sourceRoot":"","sources":["../../../src/gas/fee-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAWjF,KAAK,aAAa,GACd;IACE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,oBAAoB,CAAC,EAAE,KAAK,CAAC;CAC9B,CAAC;
|
1
|
+
{"version":3,"file":"fee-data.d.ts","sourceRoot":"","sources":["../../../src/gas/fee-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAWjF,KAAK,aAAa,GACd;IACE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,oBAAoB,CAAC,EAAE,KAAK,CAAC;CAC9B,CAAC;AAgBN;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,mBAAmB,GAC/B,OAAO,CAAC,aAAa,CAAC,CAmDxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,KAAK;;;;;;;;GAkBb"}
|
@@ -289,6 +289,17 @@ export type ConnectButton_detailsModalOptions = {
|
|
289
289
|
* Note: Not all tokens are resolvable to a fiat value. In that case, nothing will be shown.
|
290
290
|
*/
|
291
291
|
showBalanceInFiat?: SupportedFiatCurrency;
|
292
|
+
/**
|
293
|
+
* Configure options for managing the connected wallet.
|
294
|
+
*/
|
295
|
+
manageWallet?: {
|
296
|
+
/**
|
297
|
+
* Allow linking other profiles to the connected wallet.
|
298
|
+
*
|
299
|
+
* By default it is `true`.
|
300
|
+
*/
|
301
|
+
allowLinkingProfiles?: boolean;
|
302
|
+
};
|
292
303
|
};
|
293
304
|
/**
|
294
305
|
* Options for configuring the `ConnectButton`'s Details Button
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConnectButtonProps.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/connection/ConnectButtonProps.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"ConnectButtonProps.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/connection/ConnectButtonProps.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LinkedProfilesScreen.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAoBtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAsB3D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB,
|
1
|
+
{"version":3,"file":"LinkedProfilesScreen.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAoBtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAsB3D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB,8CAkEA"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import type { ThirdwebClient } from "../../../../../client/client.js";
|
2
|
+
import type { ConnectButton_detailsModalOptions } from "../../../../core/hooks/connection/ConnectButtonProps.js";
|
2
3
|
import type { ConnectLocale } from "../locale/types.js";
|
3
4
|
import type { WalletDetailsModalScreen } from "./types.js";
|
4
5
|
/**
|
@@ -10,5 +11,6 @@ export declare function ManageWalletScreen(props: {
|
|
10
11
|
closeModal: () => void;
|
11
12
|
locale: ConnectLocale;
|
12
13
|
client: ThirdwebClient;
|
14
|
+
manageWallet?: ConnectButton_detailsModalOptions["manageWallet"];
|
13
15
|
}): import("react/jsx-runtime.js").JSX.Element;
|
14
16
|
//# sourceMappingURL=ManageWalletScreen.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ManageWalletScreen.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;
|
1
|
+
{"version":3,"file":"ManageWalletScreen.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAUjH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACtD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,iCAAiC,CAAC,cAAc,CAAC,CAAC;CAClE,8CAuFA"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.
|
1
|
+
export declare const version = "5.80.0-nightly-3d6e2a2b8bcec1c11de51c218a39cb1116dd7f22-20241220000331";
|
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,2EAA2E,CAAC"}
|
@@ -26,6 +26,26 @@ import type { CreateWalletArgs } from "../../wallet-types.js";
|
|
26
26
|
*
|
27
27
|
* [View all available social auth methods](https://portal.thirdweb.com/connect/wallet/sign-in-methods/configure)
|
28
28
|
*
|
29
|
+
* ### Enable smart accounts and sponsor gas for your users:
|
30
|
+
*
|
31
|
+
* ```ts
|
32
|
+
* import { inAppWallet } from "thirdweb/wallets";
|
33
|
+
* import { sepolia } from "thirdweb/chains";
|
34
|
+
*
|
35
|
+
* const wallet = inAppWallet({
|
36
|
+
* smartAccount: {
|
37
|
+
* chain: sepolia,
|
38
|
+
* sponsorGas: true,
|
39
|
+
* },
|
40
|
+
* });
|
41
|
+
*
|
42
|
+
* // account will be a smart account with sponsored gas enabled
|
43
|
+
* const account = await wallet.connect({
|
44
|
+
* client,
|
45
|
+
* strategy: "google",
|
46
|
+
* });
|
47
|
+
* ```
|
48
|
+
*
|
29
49
|
* ### Login with email
|
30
50
|
*
|
31
51
|
* ```ts
|
@@ -104,27 +124,38 @@ import type { CreateWalletArgs } from "../../wallet-types.js";
|
|
104
124
|
* });
|
105
125
|
* ```
|
106
126
|
*
|
107
|
-
* ###
|
108
|
-
*
|
127
|
+
* ### Connect to a guest account
|
109
128
|
* ```ts
|
110
129
|
* import { inAppWallet } from "thirdweb/wallets";
|
111
|
-
* import { sepolia } from "thirdweb/chains";
|
112
130
|
*
|
113
|
-
* const wallet = inAppWallet(
|
114
|
-
*
|
115
|
-
*
|
116
|
-
*
|
117
|
-
*
|
131
|
+
* const wallet = inAppWallet();
|
132
|
+
*
|
133
|
+
* const account = await wallet.connect({
|
134
|
+
* client,
|
135
|
+
* strategy: "guest",
|
118
136
|
* });
|
137
|
+
* ```
|
138
|
+
*
|
139
|
+
* ### Connect with custom JWT (any OIDC provider)
|
140
|
+
*
|
141
|
+
* You can use any OIDC provider to authenticate your users. Make sure to configure it in your dashboard under in-app wallet settings.
|
142
|
+
*
|
143
|
+
* ```ts
|
144
|
+
* import { inAppWallet } from "thirdweb/wallets";
|
145
|
+
*
|
146
|
+
* const wallet = inAppWallet();
|
119
147
|
*
|
120
|
-
* // account will be a smart account with sponsored gas enabled
|
121
148
|
* const account = await wallet.connect({
|
122
149
|
* client,
|
123
|
-
* strategy: "
|
150
|
+
* strategy: "jwt",
|
151
|
+
* jwt: "your_jwt_here",
|
124
152
|
* });
|
125
153
|
* ```
|
126
154
|
*
|
127
|
-
* ### Connect
|
155
|
+
* ### Connect with custom endpoint
|
156
|
+
*
|
157
|
+
* You can also use your own endpoint to authenticate your users. Make sure to configure it in your dashboard under in-app wallet settings.
|
158
|
+
*
|
128
159
|
* ```ts
|
129
160
|
* import { inAppWallet } from "thirdweb/wallets";
|
130
161
|
*
|
@@ -132,7 +163,8 @@ import type { CreateWalletArgs } from "../../wallet-types.js";
|
|
132
163
|
*
|
133
164
|
* const account = await wallet.connect({
|
134
165
|
* client,
|
135
|
-
* strategy: "
|
166
|
+
* strategy: "auth_endpoint",
|
167
|
+
* payload: "your_auth_payload_here",
|
136
168
|
* });
|
137
169
|
* ```
|
138
170
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"in-app.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D
|
1
|
+
{"version":3,"file":"in-app.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+MG;AACH,wBAAgB,WAAW,CACzB,aAAa,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3C,MAAM,CAAC,OAAO,CAAC,CAWjB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "thirdweb",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.80.0-nightly-3d6e2a2b8bcec1c11de51c218a39cb1116dd7f22-20241220000331",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
@@ -206,20 +206,20 @@
|
|
206
206
|
"@noble/curves": "1.7.0",
|
207
207
|
"@noble/hashes": "1.6.1",
|
208
208
|
"@passwordless-id/webauthn": "^2.1.2",
|
209
|
-
"@radix-ui/react-dialog": "1.1.
|
210
|
-
"@radix-ui/react-focus-scope": "1.1.
|
209
|
+
"@radix-ui/react-dialog": "1.1.3",
|
210
|
+
"@radix-ui/react-focus-scope": "1.1.1",
|
211
211
|
"@radix-ui/react-icons": "1.3.2",
|
212
|
-
"@radix-ui/react-tooltip": "1.1.
|
212
|
+
"@radix-ui/react-tooltip": "1.1.5",
|
213
213
|
"@tanstack/react-query": "5.62.7",
|
214
|
-
"@walletconnect/ethereum-provider": "2.17.
|
215
|
-
"@walletconnect/sign-client": "2.17.
|
214
|
+
"@walletconnect/ethereum-provider": "2.17.3",
|
215
|
+
"@walletconnect/sign-client": "2.17.3",
|
216
216
|
"abitype": "1.0.7",
|
217
217
|
"fuse.js": "7.0.0",
|
218
218
|
"input-otp": "^1.4.1",
|
219
219
|
"mipd": "0.0.7",
|
220
|
-
"ox": "0.4.
|
220
|
+
"ox": "0.4.2",
|
221
221
|
"uqr": "0.1.2",
|
222
|
-
"viem": "2.21.
|
222
|
+
"viem": "2.21.55"
|
223
223
|
},
|
224
224
|
"peerDependencies": {
|
225
225
|
"@aws-sdk/client-lambda": "^3",
|
@@ -325,8 +325,8 @@
|
|
325
325
|
"expo-linking": "7.0.3",
|
326
326
|
"expo-web-browser": "14.0.1",
|
327
327
|
"happy-dom": "15.11.7",
|
328
|
-
"knip": "5.
|
329
|
-
"msw": "2.6.
|
328
|
+
"knip": "5.41.0",
|
329
|
+
"msw": "2.6.9",
|
330
330
|
"prettier": "3.3.3",
|
331
331
|
"react": "19.0.0",
|
332
332
|
"react-dom": "19.0.0",
|
@@ -339,7 +339,7 @@
|
|
339
339
|
"sharp": "^0.33.5",
|
340
340
|
"size-limit": "11.1.6",
|
341
341
|
"storybook": "8.4.7",
|
342
|
-
"typedoc": "0.27.
|
342
|
+
"typedoc": "0.27.5",
|
343
343
|
"typedoc-better-json": "0.9.4",
|
344
344
|
"typescript": "5.7.2",
|
345
345
|
"vite": "6.0.3",
|
package/src/contract/contract.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { Abi } from "abitype";
|
2
2
|
import type { Chain } from "../chains/types.js";
|
3
3
|
import type { ThirdwebClient } from "../client/client.js";
|
4
|
+
import { isAddress } from "../utils/address.js";
|
4
5
|
|
5
6
|
/**
|
6
7
|
* @contract
|
@@ -42,5 +43,20 @@ export type ThirdwebContract<abi extends Abi = []> = Readonly<
|
|
42
43
|
export function getContract<const abi extends Abi = []>(
|
43
44
|
options: ContractOptions<abi>,
|
44
45
|
): ThirdwebContract<abi> {
|
46
|
+
if (!options.client) {
|
47
|
+
throw new Error(
|
48
|
+
`getContract validation error - invalid client: ${options.client}`,
|
49
|
+
);
|
50
|
+
}
|
51
|
+
if (!isAddress(options.address)) {
|
52
|
+
throw new Error(
|
53
|
+
`getContract validation error - invalid address: ${options.address}`,
|
54
|
+
);
|
55
|
+
}
|
56
|
+
if (!options.chain || !options.chain.id) {
|
57
|
+
throw new Error(
|
58
|
+
`getContract validation error - invalid chain: ${options.chain}`,
|
59
|
+
);
|
60
|
+
}
|
45
61
|
return options;
|
46
62
|
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { ANVIL_CHAIN } from "../../../../test/src/chains.js";
|
3
|
+
import { TEST_CLIENT } from "../../../../test/src/test-clients.js";
|
4
|
+
import { TEST_ACCOUNT_A } from "../../../../test/src/test-wallets.js";
|
5
|
+
import { defineChain } from "../../../chains/utils.js";
|
6
|
+
import {
|
7
|
+
computeCreate2FactoryAddress,
|
8
|
+
deployCreate2Factory,
|
9
|
+
getDeployedCreate2Factory,
|
10
|
+
} from "./create-2-factory.js";
|
11
|
+
|
12
|
+
describe.runIf(process.env.TW_SECRET_KEY)("create2 factory tests", () => {
|
13
|
+
it("should compute create2 factory address", async () => {
|
14
|
+
const addr = await computeCreate2FactoryAddress({
|
15
|
+
client: TEST_CLIENT,
|
16
|
+
chain: defineChain(1),
|
17
|
+
});
|
18
|
+
|
19
|
+
expect(addr).to.eq("0x4e59b44847b379578588920cA78FbF26c0B4956C");
|
20
|
+
});
|
21
|
+
|
22
|
+
it("should compute create2 factory address with custom gas", async () => {
|
23
|
+
const addr = await computeCreate2FactoryAddress({
|
24
|
+
client: TEST_CLIENT,
|
25
|
+
chain: defineChain(1564830818),
|
26
|
+
});
|
27
|
+
|
28
|
+
expect(addr).to.eq("0x50620b64D9524aC7dC8c967123E87e5b6dB98f0c");
|
29
|
+
});
|
30
|
+
|
31
|
+
it("should deploy create2 factory", async () => {
|
32
|
+
await deployCreate2Factory({
|
33
|
+
client: TEST_CLIENT,
|
34
|
+
account: TEST_ACCOUNT_A,
|
35
|
+
chain: ANVIL_CHAIN,
|
36
|
+
});
|
37
|
+
|
38
|
+
const create2Factory = await getDeployedCreate2Factory({
|
39
|
+
chain: ANVIL_CHAIN,
|
40
|
+
client: TEST_CLIENT,
|
41
|
+
});
|
42
|
+
expect(create2Factory).not.toBeNull();
|
43
|
+
});
|
44
|
+
});
|
@@ -32,6 +32,13 @@ const SIGNATURE = {
|
|
32
32
|
s: "0x2222222222222222222222222222222222222222222222222222222222222222",
|
33
33
|
} as const;
|
34
34
|
|
35
|
+
type Create2FactoryDeploymentInfo = {
|
36
|
+
valueToSend: bigint;
|
37
|
+
predictedAddress: `0x${string}`;
|
38
|
+
signerAddress: string;
|
39
|
+
transaction: `0x${string}`;
|
40
|
+
};
|
41
|
+
|
35
42
|
/**
|
36
43
|
* Computes the address of the Create2 factory contract and checks if it is deployed.
|
37
44
|
* @param options - The options for retrieving the Create2 factory address.
|
@@ -155,15 +162,26 @@ export async function deployCreate2Factory(options: ClientAndChainAndAccount) {
|
|
155
162
|
chain,
|
156
163
|
});
|
157
164
|
|
158
|
-
|
159
|
-
|
165
|
+
let gasPrice: bigint | undefined;
|
166
|
+
let gasLimit: bigint | undefined;
|
167
|
+
|
168
|
+
if (CUSTOM_GAS_FOR_CHAIN[chainId]) {
|
169
|
+
gasPrice = CUSTOM_GAS_FOR_CHAIN[chainId.toString()]?.gasPrice;
|
170
|
+
gasLimit = CUSTOM_GAS_FOR_CHAIN[chainId.toString()]?.gasLimit;
|
171
|
+
} else {
|
172
|
+
const gasPriceFetched = await getGasPrice(options);
|
173
|
+
gasPrice = _getNearestGasPriceBin(gasPriceFetched);
|
174
|
+
}
|
175
|
+
|
160
176
|
const deploymentInfo = await _getCreate2FactoryDeploymentInfo(eipChain, {
|
161
|
-
gasPrice
|
177
|
+
gasPrice,
|
178
|
+
gasLimit,
|
162
179
|
});
|
163
180
|
|
164
181
|
const balance = await eth_getBalance(rpcRequest, {
|
165
182
|
address: deploymentInfo.signerAddress,
|
166
183
|
});
|
184
|
+
|
167
185
|
if (balance < deploymentInfo.valueToSend) {
|
168
186
|
const transaction = prepareTransaction({
|
169
187
|
chain,
|
@@ -193,7 +211,7 @@ export async function deployCreate2Factory(options: ClientAndChainAndAccount) {
|
|
193
211
|
async function _getCreate2FactoryDeploymentInfo(
|
194
212
|
chainId: number,
|
195
213
|
gasOptions: { gasPrice?: bigint; gasLimit?: bigint },
|
196
|
-
) {
|
214
|
+
): Promise<Create2FactoryDeploymentInfo> {
|
197
215
|
// 100000 is default deployment gas limit and 100 gwei is default gas price for create2 factory deployment
|
198
216
|
// (See: https://github.com/Arachnid/deterministic-deployment-proxy?tab=readme-ov-file#deployment-gas-limit)
|
199
217
|
const gasPrice = gasOptions.gasPrice ? gasOptions.gasPrice : 100n * 10n ** 9n;
|
@@ -278,6 +296,23 @@ const CUSTOM_GAS_FOR_CHAIN: Record<string, CustomChain> = {
|
|
278
296
|
gasPrice: 2500n * 10n ** 9n,
|
279
297
|
gasLimit: 200000n,
|
280
298
|
},
|
299
|
+
// SKALE chains
|
300
|
+
"1350216234": {
|
301
|
+
name: "Titan",
|
302
|
+
gasPrice: 110000n,
|
303
|
+
},
|
304
|
+
"1482601649": {
|
305
|
+
name: "Nebula",
|
306
|
+
gasPrice: 110000n,
|
307
|
+
},
|
308
|
+
"1564830818": {
|
309
|
+
name: "Calypso",
|
310
|
+
gasPrice: 110000n,
|
311
|
+
},
|
312
|
+
"2046399126": {
|
313
|
+
name: "Europa",
|
314
|
+
gasPrice: 110000n,
|
315
|
+
},
|
281
316
|
};
|
282
317
|
|
283
318
|
const CUSTOM_GAS_BINS = [
|
package/src/gas/fee-data.ts
CHANGED
@@ -327,6 +327,18 @@ export type ConnectButton_detailsModalOptions = {
|
|
327
327
|
* Note: Not all tokens are resolvable to a fiat value. In that case, nothing will be shown.
|
328
328
|
*/
|
329
329
|
showBalanceInFiat?: SupportedFiatCurrency;
|
330
|
+
|
331
|
+
/**
|
332
|
+
* Configure options for managing the connected wallet.
|
333
|
+
*/
|
334
|
+
manageWallet?: {
|
335
|
+
/**
|
336
|
+
* Allow linking other profiles to the connected wallet.
|
337
|
+
*
|
338
|
+
* By default it is `true`.
|
339
|
+
*/
|
340
|
+
allowLinkingProfiles?: boolean;
|
341
|
+
};
|
330
342
|
};
|
331
343
|
|
332
344
|
/**
|
@@ -99,17 +99,6 @@ describe("LinkedProfilesScreen", () => {
|
|
99
99
|
expect(screen.getByText("cognito@example.com")).toBeInTheDocument();
|
100
100
|
});
|
101
101
|
|
102
|
-
it("should display Custom Profile for custom_auth_endpoint", () => {
|
103
|
-
vi.mocked(useProfiles).mockReturnValue({
|
104
|
-
data: [{ type: "Custom_auth_endpoint", details: {} }],
|
105
|
-
isLoading: false,
|
106
|
-
// biome-ignore lint/suspicious/noExplicitAny: Mocking data
|
107
|
-
} as any);
|
108
|
-
|
109
|
-
render(<LinkedProfilesScreen {...mockProps} />);
|
110
|
-
expect(screen.getByText("Custom Profile")).toBeInTheDocument();
|
111
|
-
});
|
112
|
-
|
113
102
|
it("should capitalize unknown profile types", () => {
|
114
103
|
vi.mocked(useProfiles).mockReturnValue({
|
115
104
|
data: [{ type: "unknown", details: {} }],
|
@@ -156,5 +145,33 @@ describe("LinkedProfilesScreen", () => {
|
|
156
145
|
render(<LinkedProfilesScreen {...mockProps} />);
|
157
146
|
expect(screen.queryByLabelText("Unlink")).not.toBeInTheDocument();
|
158
147
|
});
|
148
|
+
|
149
|
+
it("should not display custom_jwt profiles", () => {
|
150
|
+
vi.mocked(useProfiles).mockReturnValue({
|
151
|
+
data: [{ type: "custom_jwt", details: {} }],
|
152
|
+
isLoading: false,
|
153
|
+
// biome-ignore lint/suspicious/noExplicitAny: Mocking data
|
154
|
+
} as any);
|
155
|
+
|
156
|
+
render(<LinkedProfilesScreen {...mockProps} />);
|
157
|
+
expect(screen.queryByText("Custom_jwt")).not.toBeInTheDocument();
|
158
|
+
});
|
159
|
+
|
160
|
+
it("should display profiles that are not guest or custom_jwt", () => {
|
161
|
+
vi.mocked(useProfiles).mockReturnValue({
|
162
|
+
data: [
|
163
|
+
{ type: "email", details: { email: "test@example.com" } },
|
164
|
+
{ type: "custom_jwt", details: {} },
|
165
|
+
{ type: "guest", details: {} },
|
166
|
+
],
|
167
|
+
isLoading: false,
|
168
|
+
// biome-ignore lint/suspicious/noExplicitAny: Mocking data
|
169
|
+
} as any);
|
170
|
+
|
171
|
+
render(<LinkedProfilesScreen {...mockProps} />);
|
172
|
+
expect(screen.getByText("test@example.com")).toBeInTheDocument();
|
173
|
+
expect(screen.queryByText("Custom_jwt")).not.toBeInTheDocument();
|
174
|
+
expect(screen.queryByText("Guest")).not.toBeInTheDocument();
|
175
|
+
});
|
159
176
|
});
|
160
177
|
});
|
@@ -98,7 +98,12 @@ export function LinkedProfilesScreen(props: {
|
|
98
98
|
<Spacer y="xs" />
|
99
99
|
{/* Exclude guest as a profile */}
|
100
100
|
{connectedProfiles
|
101
|
-
?.filter(
|
101
|
+
?.filter(
|
102
|
+
(profile) =>
|
103
|
+
profile.type.toLowerCase() !== "guest" &&
|
104
|
+
profile.type.toLowerCase() !== "custom_jwt" &&
|
105
|
+
profile.type.toLowerCase() !== "custom_auth_endpoint",
|
106
|
+
)
|
102
107
|
.map((profile) => (
|
103
108
|
<LinkedProfile
|
104
109
|
key={`${JSON.stringify(profile)}`}
|