@thirdweb-dev/wagmi-adapter 0.2.155 → 0.2.156
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/connector.js +45 -9
- package/dist/cjs/connector.js.map +1 -1
- package/dist/cjs/exports/thirdweb.js.map +1 -1
- package/dist/esm/connector.js +45 -9
- package/dist/esm/connector.js.map +1 -1
- package/dist/esm/exports/thirdweb.js.map +1 -1
- package/dist/types/connector.d.ts +12 -4
- package/dist/types/connector.d.ts.map +1 -1
- package/dist/types/exports/thirdweb.d.ts +1 -1
- package/dist/types/exports/thirdweb.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/connector.ts +82 -21
- package/src/exports/thirdweb.ts +2 -0
package/dist/cjs/connector.js
CHANGED
|
@@ -53,16 +53,19 @@ const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
|
|
|
53
53
|
* @beta
|
|
54
54
|
*/
|
|
55
55
|
function inAppWalletConnector(args) {
|
|
56
|
-
|
|
56
|
+
let wallet = args.ecosystemId
|
|
57
57
|
? (0, wallets_1.ecosystemWallet)(args.ecosystemId, { partnerId: args.partnerId })
|
|
58
58
|
: (0, wallets_1.inAppWallet)(args);
|
|
59
59
|
const client = args.client;
|
|
60
|
+
const rawStorage = typeof window !== "undefined" && window.localStorage
|
|
61
|
+
? window.localStorage
|
|
62
|
+
: undefined;
|
|
60
63
|
return (0, core_1.createConnector)((config) => ({
|
|
61
64
|
connect: async (params) => {
|
|
62
|
-
|
|
63
|
-
?
|
|
64
|
-
|
|
65
|
-
const lastChainId =
|
|
65
|
+
wallet =
|
|
66
|
+
params && "wallet" in params ? params.wallet : wallet;
|
|
67
|
+
const lastChainIdStr = await config.storage?.getItem("thirdweb:lastChainId");
|
|
68
|
+
const lastChainId = lastChainIdStr ? Number(lastChainIdStr) : undefined;
|
|
66
69
|
if (params?.isReconnecting) {
|
|
67
70
|
const { autoConnect } = await Promise.resolve().then(() => require("thirdweb/wallets"));
|
|
68
71
|
const chainId = lastChainId || args.smartAccount?.chain?.id || 1;
|
|
@@ -81,6 +84,15 @@ function inAppWalletConnector(args) {
|
|
|
81
84
|
chainId: chainId,
|
|
82
85
|
};
|
|
83
86
|
}
|
|
87
|
+
// if the wallet is already connected, return the account
|
|
88
|
+
const alreadyConnectedAccount = wallet.getAccount();
|
|
89
|
+
if (alreadyConnectedAccount) {
|
|
90
|
+
return {
|
|
91
|
+
accounts: [(0, thirdweb_1.getAddress)(alreadyConnectedAccount.address)],
|
|
92
|
+
chainId: wallet.getChain()?.id || 1,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
// otherwise, connect the wallet
|
|
84
96
|
const inAppOptions = params && "strategy" in params ? params : undefined;
|
|
85
97
|
if (!inAppOptions) {
|
|
86
98
|
throw new Error("Missing strategy prop, pass it to connect() when connecting to this connector");
|
|
@@ -96,8 +108,22 @@ function inAppWalletConnector(args) {
|
|
|
96
108
|
};
|
|
97
109
|
const account = await wallet.connect(decoratedOptions);
|
|
98
110
|
// setting up raw local storage value for autoConnect
|
|
99
|
-
|
|
100
|
-
|
|
111
|
+
if (rawStorage) {
|
|
112
|
+
const connectedWalletIds = rawStorage?.getItem(connectedWalletIdsKey);
|
|
113
|
+
if (connectedWalletIds) {
|
|
114
|
+
const connectedWalletIdsArray = JSON.parse(connectedWalletIds);
|
|
115
|
+
if (Array.isArray(connectedWalletIdsArray)) {
|
|
116
|
+
if (!connectedWalletIdsArray.includes(wallet.id)) {
|
|
117
|
+
connectedWalletIdsArray.push(wallet.id);
|
|
118
|
+
rawStorage.setItem(connectedWalletIdsKey, JSON.stringify(connectedWalletIdsArray));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
rawStorage.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
|
|
124
|
+
}
|
|
125
|
+
rawStorage.setItem(activeWalletIdKey, wallet.id);
|
|
126
|
+
}
|
|
101
127
|
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
|
102
128
|
args.onConnect?.(wallet);
|
|
103
129
|
return { accounts: [(0, thirdweb_1.getAddress)(account.address)], chainId: chain.id };
|
|
@@ -116,7 +142,8 @@ function inAppWalletConnector(args) {
|
|
|
116
142
|
return wallet.getChain()?.id || 1;
|
|
117
143
|
},
|
|
118
144
|
getProvider: async (params) => {
|
|
119
|
-
const
|
|
145
|
+
const lastChainIdStr = await config.storage?.getItem("thirdweb:lastChainId");
|
|
146
|
+
const lastChainId = lastChainIdStr ? Number(lastChainIdStr) : undefined;
|
|
120
147
|
const chain = (0, thirdweb_1.defineChain)(params?.chainId || args.smartAccount?.chain?.id || lastChainId || 1);
|
|
121
148
|
if (!wallet.getAccount()) {
|
|
122
149
|
const { autoConnect } = await Promise.resolve().then(() => require("thirdweb/wallets"));
|
|
@@ -135,7 +162,16 @@ function inAppWalletConnector(args) {
|
|
|
135
162
|
},
|
|
136
163
|
icon: args.metadata?.icon,
|
|
137
164
|
id: "in-app-wallet",
|
|
138
|
-
isAuthorized: async () =>
|
|
165
|
+
isAuthorized: async () => {
|
|
166
|
+
const connectedWalletIds = rawStorage?.getItem(connectedWalletIdsKey);
|
|
167
|
+
if (connectedWalletIds) {
|
|
168
|
+
const connectedWalletIdsArray = JSON.parse(connectedWalletIds);
|
|
169
|
+
if (connectedWalletIdsArray.includes(wallet.id)) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return false;
|
|
174
|
+
},
|
|
139
175
|
name: args.metadata?.name || "In-App wallet",
|
|
140
176
|
onAccountsChanged: () => {
|
|
141
177
|
// no-op
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thirdweb.js","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"thirdweb.js","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":";;;AAAA,gDAKyB;AADvB,oHAAA,oBAAoB,OAAA"}
|
package/dist/esm/connector.js
CHANGED
|
@@ -50,16 +50,19 @@ const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
|
|
|
50
50
|
* @beta
|
|
51
51
|
*/
|
|
52
52
|
export function inAppWalletConnector(args) {
|
|
53
|
-
|
|
53
|
+
let wallet = args.ecosystemId
|
|
54
54
|
? ecosystemWallet(args.ecosystemId, { partnerId: args.partnerId })
|
|
55
55
|
: thirdwebInAppWallet(args);
|
|
56
56
|
const client = args.client;
|
|
57
|
+
const rawStorage = typeof window !== "undefined" && window.localStorage
|
|
58
|
+
? window.localStorage
|
|
59
|
+
: undefined;
|
|
57
60
|
return createConnector((config) => ({
|
|
58
61
|
connect: async (params) => {
|
|
59
|
-
|
|
60
|
-
?
|
|
61
|
-
|
|
62
|
-
const lastChainId =
|
|
62
|
+
wallet =
|
|
63
|
+
params && "wallet" in params ? params.wallet : wallet;
|
|
64
|
+
const lastChainIdStr = await config.storage?.getItem("thirdweb:lastChainId");
|
|
65
|
+
const lastChainId = lastChainIdStr ? Number(lastChainIdStr) : undefined;
|
|
63
66
|
if (params?.isReconnecting) {
|
|
64
67
|
const { autoConnect } = await import("thirdweb/wallets");
|
|
65
68
|
const chainId = lastChainId || args.smartAccount?.chain?.id || 1;
|
|
@@ -78,6 +81,15 @@ export function inAppWalletConnector(args) {
|
|
|
78
81
|
chainId: chainId,
|
|
79
82
|
};
|
|
80
83
|
}
|
|
84
|
+
// if the wallet is already connected, return the account
|
|
85
|
+
const alreadyConnectedAccount = wallet.getAccount();
|
|
86
|
+
if (alreadyConnectedAccount) {
|
|
87
|
+
return {
|
|
88
|
+
accounts: [getAddress(alreadyConnectedAccount.address)],
|
|
89
|
+
chainId: wallet.getChain()?.id || 1,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
// otherwise, connect the wallet
|
|
81
93
|
const inAppOptions = params && "strategy" in params ? params : undefined;
|
|
82
94
|
if (!inAppOptions) {
|
|
83
95
|
throw new Error("Missing strategy prop, pass it to connect() when connecting to this connector");
|
|
@@ -93,8 +105,22 @@ export function inAppWalletConnector(args) {
|
|
|
93
105
|
};
|
|
94
106
|
const account = await wallet.connect(decoratedOptions);
|
|
95
107
|
// setting up raw local storage value for autoConnect
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
if (rawStorage) {
|
|
109
|
+
const connectedWalletIds = rawStorage?.getItem(connectedWalletIdsKey);
|
|
110
|
+
if (connectedWalletIds) {
|
|
111
|
+
const connectedWalletIdsArray = JSON.parse(connectedWalletIds);
|
|
112
|
+
if (Array.isArray(connectedWalletIdsArray)) {
|
|
113
|
+
if (!connectedWalletIdsArray.includes(wallet.id)) {
|
|
114
|
+
connectedWalletIdsArray.push(wallet.id);
|
|
115
|
+
rawStorage.setItem(connectedWalletIdsKey, JSON.stringify(connectedWalletIdsArray));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
rawStorage.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
|
|
121
|
+
}
|
|
122
|
+
rawStorage.setItem(activeWalletIdKey, wallet.id);
|
|
123
|
+
}
|
|
98
124
|
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
|
99
125
|
args.onConnect?.(wallet);
|
|
100
126
|
return { accounts: [getAddress(account.address)], chainId: chain.id };
|
|
@@ -113,7 +139,8 @@ export function inAppWalletConnector(args) {
|
|
|
113
139
|
return wallet.getChain()?.id || 1;
|
|
114
140
|
},
|
|
115
141
|
getProvider: async (params) => {
|
|
116
|
-
const
|
|
142
|
+
const lastChainIdStr = await config.storage?.getItem("thirdweb:lastChainId");
|
|
143
|
+
const lastChainId = lastChainIdStr ? Number(lastChainIdStr) : undefined;
|
|
117
144
|
const chain = defineChain(params?.chainId || args.smartAccount?.chain?.id || lastChainId || 1);
|
|
118
145
|
if (!wallet.getAccount()) {
|
|
119
146
|
const { autoConnect } = await import("thirdweb/wallets");
|
|
@@ -132,7 +159,16 @@ export function inAppWalletConnector(args) {
|
|
|
132
159
|
},
|
|
133
160
|
icon: args.metadata?.icon,
|
|
134
161
|
id: "in-app-wallet",
|
|
135
|
-
isAuthorized: async () =>
|
|
162
|
+
isAuthorized: async () => {
|
|
163
|
+
const connectedWalletIds = rawStorage?.getItem(connectedWalletIdsKey);
|
|
164
|
+
if (connectedWalletIds) {
|
|
165
|
+
const connectedWalletIdsArray = JSON.parse(connectedWalletIds);
|
|
166
|
+
if (connectedWalletIdsArray.includes(wallet.id)) {
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return false;
|
|
171
|
+
},
|
|
136
172
|
name: args.metadata?.name || "In-App wallet",
|
|
137
173
|
onAccountsChanged: () => {
|
|
138
174
|
// no-op
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,eAAe,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAuB,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,OAAO,EACP,eAAe,EAKf,WAAW,IAAI,mBAAmB,GAEnC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thirdweb.js","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"thirdweb.js","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -8,14 +8,22 @@ export type InAppWalletParameters = Prettify<InAppWalletCreationOptions & {
|
|
|
8
8
|
onConnect?: (wallet: Wallet) => void;
|
|
9
9
|
}>;
|
|
10
10
|
export type InAppWalletConnector = ReturnType<typeof inAppWalletConnector>;
|
|
11
|
-
|
|
11
|
+
type BaseConnectionOptions<withCapabilities extends boolean = false> = {
|
|
12
12
|
chainId?: number | undefined;
|
|
13
13
|
isReconnecting?: boolean | undefined;
|
|
14
|
-
|
|
14
|
+
withCapabilities?: withCapabilities | boolean | undefined;
|
|
15
|
+
};
|
|
16
|
+
export type ConnectionOptions<withCapabilities extends boolean = false> = (MultiStepAuthArgsType & BaseConnectionOptions<withCapabilities>) | (SingleStepAuthArgsType & BaseConnectionOptions<withCapabilities>) | ({
|
|
17
|
+
strategy?: undefined;
|
|
18
|
+
wallet: Wallet;
|
|
19
|
+
} & BaseConnectionOptions<withCapabilities>);
|
|
15
20
|
type Provider = EIP1193.EIP1193Provider | undefined;
|
|
16
21
|
type Properties = {
|
|
17
|
-
connect(parameters?: ConnectionOptions): Promise<{
|
|
18
|
-
accounts: readonly
|
|
22
|
+
connect<withCapabilities extends boolean = false>(parameters?: ConnectionOptions<withCapabilities> | undefined): Promise<{
|
|
23
|
+
accounts: withCapabilities extends true ? readonly {
|
|
24
|
+
address: `0x${string}`;
|
|
25
|
+
capabilities: Record<string, unknown>;
|
|
26
|
+
}[] : readonly `0x${string}`[];
|
|
19
27
|
chainId: number;
|
|
20
28
|
}>;
|
|
21
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,OAAO,EAGP,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAE3B,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAC1C,0BAA0B,GAAG;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,aAAa,MAAM,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CACF,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC3E,
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,OAAO,EAGP,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAE3B,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAC1C,0BAA0B,GAAG;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,aAAa,MAAM,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CACF,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC3E,KAAK,qBAAqB,CAAC,gBAAgB,SAAS,OAAO,GAAG,KAAK,IAAI;IACrE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3D,CAAC;AACF,MAAM,MAAM,iBAAiB,CAAC,gBAAgB,SAAS,OAAO,GAAG,KAAK,IAClE,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,GACjE,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,GAClE,CAAC;IACC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEjD,KAAK,QAAQ,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;AACpD,KAAK,UAAU,GAAG;IAChB,OAAO,CAAC,gBAAgB,SAAS,OAAO,GAAG,KAAK,EAC9C,UAAU,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAC3D,OAAO,CAAC;QACT,QAAQ,EAAE,gBAAgB,SAAS,IAAI,GACnC,SAAS;YACP,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC,EAAE,GACH,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,GAC1B,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAqKtD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { type InAppWalletParameters, inAppWalletConnector, } from "../connector.js";
|
|
1
|
+
export { type ConnectionOptions, type InAppWalletConnector, type InAppWalletParameters, inAppWalletConnector, } from "../connector.js";
|
|
2
2
|
//# sourceMappingURL=thirdweb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thirdweb.d.ts","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"thirdweb.d.ts","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
},
|
|
6
6
|
"devDependencies": {
|
|
7
7
|
"@biomejs/biome": "2.0.6",
|
|
8
|
-
"@wagmi/core": "2.
|
|
8
|
+
"@wagmi/core": "2.21.2",
|
|
9
9
|
"rimraf": "6.0.1",
|
|
10
|
-
"thirdweb": "5.108.
|
|
10
|
+
"thirdweb": "5.108.6"
|
|
11
11
|
},
|
|
12
12
|
"engines": {
|
|
13
13
|
"node": ">=18"
|
|
@@ -45,8 +45,9 @@
|
|
|
45
45
|
"type": "module",
|
|
46
46
|
"types": "./dist/types/exports/thirdweb.d.ts",
|
|
47
47
|
"typings": "./dist/types/exports/thirdweb.d.ts",
|
|
48
|
-
"version": "0.2.
|
|
48
|
+
"version": "0.2.156",
|
|
49
49
|
"scripts": {
|
|
50
|
+
"dev": "tsc --project ./tsconfig.build.json --module nodenext --moduleResolution nodenext --outDir ./dist/esm --watch",
|
|
50
51
|
"build": "pnpm clean && pnpm build:cjs && pnpm build:esm && pnpm build:types",
|
|
51
52
|
"build:cjs": "tsc --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false && printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json",
|
|
52
53
|
"build:esm": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm && printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json",
|
package/src/connector.ts
CHANGED
|
@@ -20,17 +20,30 @@ export type InAppWalletParameters = Prettify<
|
|
|
20
20
|
}
|
|
21
21
|
>;
|
|
22
22
|
export type InAppWalletConnector = ReturnType<typeof inAppWalletConnector>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
type BaseConnectionOptions<withCapabilities extends boolean = false> = {
|
|
24
|
+
chainId?: number | undefined;
|
|
25
|
+
isReconnecting?: boolean | undefined;
|
|
26
|
+
withCapabilities?: withCapabilities | boolean | undefined;
|
|
27
|
+
};
|
|
28
|
+
export type ConnectionOptions<withCapabilities extends boolean = false> =
|
|
29
|
+
| (MultiStepAuthArgsType & BaseConnectionOptions<withCapabilities>)
|
|
30
|
+
| (SingleStepAuthArgsType & BaseConnectionOptions<withCapabilities>)
|
|
31
|
+
| ({
|
|
32
|
+
strategy?: undefined;
|
|
33
|
+
wallet: Wallet;
|
|
34
|
+
} & BaseConnectionOptions<withCapabilities>);
|
|
29
35
|
|
|
30
36
|
type Provider = EIP1193.EIP1193Provider | undefined;
|
|
31
37
|
type Properties = {
|
|
32
|
-
connect
|
|
33
|
-
|
|
38
|
+
connect<withCapabilities extends boolean = false>(
|
|
39
|
+
parameters?: ConnectionOptions<withCapabilities> | undefined,
|
|
40
|
+
): Promise<{
|
|
41
|
+
accounts: withCapabilities extends true
|
|
42
|
+
? readonly {
|
|
43
|
+
address: `0x${string}`;
|
|
44
|
+
capabilities: Record<string, unknown>;
|
|
45
|
+
}[]
|
|
46
|
+
: readonly `0x${string}`[];
|
|
34
47
|
chainId: number;
|
|
35
48
|
}>;
|
|
36
49
|
};
|
|
@@ -90,17 +103,22 @@ const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
|
|
|
90
103
|
export function inAppWalletConnector(
|
|
91
104
|
args: InAppWalletParameters,
|
|
92
105
|
): CreateConnectorFn<Provider, Properties, StorageItem> {
|
|
93
|
-
|
|
106
|
+
let wallet: Wallet = args.ecosystemId
|
|
94
107
|
? ecosystemWallet(args.ecosystemId, { partnerId: args.partnerId })
|
|
95
108
|
: thirdwebInAppWallet(args);
|
|
96
109
|
const client = args.client;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
110
|
+
const rawStorage =
|
|
111
|
+
typeof window !== "undefined" && window.localStorage
|
|
112
|
+
? window.localStorage
|
|
113
|
+
: undefined;
|
|
114
|
+
return createConnector((config) => ({
|
|
115
|
+
connect: async (params?: ConnectionOptions<false>) => {
|
|
116
|
+
wallet =
|
|
117
|
+
params && "wallet" in params ? (params.wallet as Wallet) : wallet;
|
|
118
|
+
const lastChainIdStr = await config.storage?.getItem(
|
|
119
|
+
"thirdweb:lastChainId",
|
|
120
|
+
);
|
|
121
|
+
const lastChainId = lastChainIdStr ? Number(lastChainIdStr) : undefined;
|
|
104
122
|
if (params?.isReconnecting) {
|
|
105
123
|
const { autoConnect } = await import("thirdweb/wallets");
|
|
106
124
|
const chainId = lastChainId || args.smartAccount?.chain?.id || 1;
|
|
@@ -117,10 +135,21 @@ export function inAppWalletConnector(
|
|
|
117
135
|
}
|
|
118
136
|
|
|
119
137
|
return {
|
|
120
|
-
accounts: [getAddress(account.address)],
|
|
138
|
+
accounts: [getAddress(account.address)] as any,
|
|
121
139
|
chainId: chainId,
|
|
122
140
|
};
|
|
123
141
|
}
|
|
142
|
+
|
|
143
|
+
// if the wallet is already connected, return the account
|
|
144
|
+
const alreadyConnectedAccount = wallet.getAccount();
|
|
145
|
+
if (alreadyConnectedAccount) {
|
|
146
|
+
return {
|
|
147
|
+
accounts: [getAddress(alreadyConnectedAccount.address)],
|
|
148
|
+
chainId: wallet.getChain()?.id || 1,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// otherwise, connect the wallet
|
|
124
153
|
const inAppOptions = params && "strategy" in params ? params : undefined;
|
|
125
154
|
if (!inAppOptions) {
|
|
126
155
|
throw new Error(
|
|
@@ -138,10 +167,30 @@ export function inAppWalletConnector(
|
|
|
138
167
|
chain,
|
|
139
168
|
client,
|
|
140
169
|
} as InAppWalletConnectionOptions;
|
|
170
|
+
|
|
141
171
|
const account = await wallet.connect(decoratedOptions);
|
|
142
172
|
// setting up raw local storage value for autoConnect
|
|
143
|
-
|
|
144
|
-
|
|
173
|
+
if (rawStorage) {
|
|
174
|
+
const connectedWalletIds = rawStorage?.getItem(connectedWalletIdsKey);
|
|
175
|
+
if (connectedWalletIds) {
|
|
176
|
+
const connectedWalletIdsArray = JSON.parse(connectedWalletIds);
|
|
177
|
+
if (Array.isArray(connectedWalletIdsArray)) {
|
|
178
|
+
if (!connectedWalletIdsArray.includes(wallet.id)) {
|
|
179
|
+
connectedWalletIdsArray.push(wallet.id);
|
|
180
|
+
rawStorage.setItem(
|
|
181
|
+
connectedWalletIdsKey,
|
|
182
|
+
JSON.stringify(connectedWalletIdsArray),
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
} else {
|
|
187
|
+
rawStorage.setItem(
|
|
188
|
+
connectedWalletIdsKey,
|
|
189
|
+
JSON.stringify([wallet.id]),
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
rawStorage.setItem(activeWalletIdKey, wallet.id);
|
|
193
|
+
}
|
|
145
194
|
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
|
146
195
|
args.onConnect?.(wallet);
|
|
147
196
|
return { accounts: [getAddress(account.address)], chainId: chain.id };
|
|
@@ -160,7 +209,10 @@ export function inAppWalletConnector(
|
|
|
160
209
|
return wallet.getChain()?.id || 1;
|
|
161
210
|
},
|
|
162
211
|
getProvider: async (params) => {
|
|
163
|
-
const
|
|
212
|
+
const lastChainIdStr = await config.storage?.getItem(
|
|
213
|
+
"thirdweb:lastChainId",
|
|
214
|
+
);
|
|
215
|
+
const lastChainId = lastChainIdStr ? Number(lastChainIdStr) : undefined;
|
|
164
216
|
const chain = defineChain(
|
|
165
217
|
params?.chainId || args.smartAccount?.chain?.id || lastChainId || 1,
|
|
166
218
|
);
|
|
@@ -181,7 +233,16 @@ export function inAppWalletConnector(
|
|
|
181
233
|
},
|
|
182
234
|
icon: args.metadata?.icon,
|
|
183
235
|
id: "in-app-wallet",
|
|
184
|
-
isAuthorized: async () =>
|
|
236
|
+
isAuthorized: async () => {
|
|
237
|
+
const connectedWalletIds = rawStorage?.getItem(connectedWalletIdsKey);
|
|
238
|
+
if (connectedWalletIds) {
|
|
239
|
+
const connectedWalletIdsArray = JSON.parse(connectedWalletIds);
|
|
240
|
+
if (connectedWalletIdsArray.includes(wallet.id)) {
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return false;
|
|
245
|
+
},
|
|
185
246
|
name: args.metadata?.name || "In-App wallet",
|
|
186
247
|
onAccountsChanged: () => {
|
|
187
248
|
// no-op
|