@thirdweb-dev/wagmi-adapter 0.2.19-nightly-0574eac02c832c382972fd545df79c36e11796e1-20250217000342 → 0.2.19
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
CHANGED
@@ -4,6 +4,8 @@ exports.inAppWalletConnector = inAppWalletConnector;
|
|
4
4
|
const core_1 = require("@wagmi/core");
|
5
5
|
const thirdweb_1 = require("thirdweb");
|
6
6
|
const wallets_1 = require("thirdweb/wallets");
|
7
|
+
const activeWalletIdKey = "thirdweb:active-wallet-id";
|
8
|
+
const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
|
7
9
|
/**
|
8
10
|
* Connect to an in-app wallet using the auth strategy of your choice.
|
9
11
|
* @param args - Options for the in-app wallet connection.
|
@@ -60,7 +62,10 @@ function inAppWalletConnector(args) {
|
|
60
62
|
name: "In-App wallet",
|
61
63
|
type: "in-app",
|
62
64
|
connect: async (params) => {
|
63
|
-
const
|
65
|
+
const rawStorage = typeof window !== "undefined" && window.localStorage
|
66
|
+
? window.localStorage
|
67
|
+
: undefined;
|
68
|
+
const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
|
64
69
|
if (params?.isReconnecting) {
|
65
70
|
const { autoConnect } = await Promise.resolve().then(() => require("thirdweb/wallets"));
|
66
71
|
const chainId = lastChainId || args.smartAccount?.chain?.id || 1;
|
@@ -92,7 +97,10 @@ function inAppWalletConnector(args) {
|
|
92
97
|
chain,
|
93
98
|
};
|
94
99
|
const account = await wallet.connect(decoratedOptions);
|
95
|
-
|
100
|
+
// setting up raw local storage value for autoConnect
|
101
|
+
rawStorage?.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
|
102
|
+
rawStorage?.setItem(activeWalletIdKey, wallet.id);
|
103
|
+
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
96
104
|
return { accounts: [(0, thirdweb_1.getAddress)(account.address)], chainId: chain.id };
|
97
105
|
},
|
98
106
|
disconnect: async () => {
|
@@ -109,7 +117,7 @@ function inAppWalletConnector(args) {
|
|
109
117
|
return wallet.getChain()?.id || 1;
|
110
118
|
},
|
111
119
|
getProvider: async (params) => {
|
112
|
-
const lastChainId = await config.storage?.getItem("
|
120
|
+
const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
|
113
121
|
const chain = (0, thirdweb_1.defineChain)(params?.chainId || args.smartAccount?.chain?.id || lastChainId || 1);
|
114
122
|
if (!wallet.getAccount()) {
|
115
123
|
const { autoConnect } = await Promise.resolve().then(() => require("thirdweb/wallets"));
|
@@ -129,9 +137,13 @@ function inAppWalletConnector(args) {
|
|
129
137
|
switchChain: async (params) => {
|
130
138
|
const chain = config.chains.find((x) => x.id === params.chainId);
|
131
139
|
if (!chain) {
|
132
|
-
throw new Error(`Chain ${params.chainId} not
|
140
|
+
throw new Error(`Chain ${params.chainId} not configured`);
|
133
141
|
}
|
134
142
|
await wallet.switchChain((0, thirdweb_1.defineChain)(chain.id));
|
143
|
+
config.emitter.emit("change", {
|
144
|
+
chainId: chain.id,
|
145
|
+
});
|
146
|
+
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
135
147
|
return chain;
|
136
148
|
},
|
137
149
|
onAccountsChanged: () => {
|
@@ -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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"}
|
package/dist/esm/connector.js
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
import { createConnector } from "@wagmi/core";
|
2
2
|
import { defineChain, getAddress } from "thirdweb";
|
3
3
|
import { EIP1193, ecosystemWallet, inAppWallet as thirdwebInAppWallet, } from "thirdweb/wallets";
|
4
|
+
const activeWalletIdKey = "thirdweb:active-wallet-id";
|
5
|
+
const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
|
4
6
|
/**
|
5
7
|
* Connect to an in-app wallet using the auth strategy of your choice.
|
6
8
|
* @param args - Options for the in-app wallet connection.
|
@@ -57,7 +59,10 @@ export function inAppWalletConnector(args) {
|
|
57
59
|
name: "In-App wallet",
|
58
60
|
type: "in-app",
|
59
61
|
connect: async (params) => {
|
60
|
-
const
|
62
|
+
const rawStorage = typeof window !== "undefined" && window.localStorage
|
63
|
+
? window.localStorage
|
64
|
+
: undefined;
|
65
|
+
const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
|
61
66
|
if (params?.isReconnecting) {
|
62
67
|
const { autoConnect } = await import("thirdweb/wallets");
|
63
68
|
const chainId = lastChainId || args.smartAccount?.chain?.id || 1;
|
@@ -89,7 +94,10 @@ export function inAppWalletConnector(args) {
|
|
89
94
|
chain,
|
90
95
|
};
|
91
96
|
const account = await wallet.connect(decoratedOptions);
|
92
|
-
|
97
|
+
// setting up raw local storage value for autoConnect
|
98
|
+
rawStorage?.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
|
99
|
+
rawStorage?.setItem(activeWalletIdKey, wallet.id);
|
100
|
+
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
93
101
|
return { accounts: [getAddress(account.address)], chainId: chain.id };
|
94
102
|
},
|
95
103
|
disconnect: async () => {
|
@@ -106,7 +114,7 @@ export function inAppWalletConnector(args) {
|
|
106
114
|
return wallet.getChain()?.id || 1;
|
107
115
|
},
|
108
116
|
getProvider: async (params) => {
|
109
|
-
const lastChainId = await config.storage?.getItem("
|
117
|
+
const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
|
110
118
|
const chain = defineChain(params?.chainId || args.smartAccount?.chain?.id || lastChainId || 1);
|
111
119
|
if (!wallet.getAccount()) {
|
112
120
|
const { autoConnect } = await import("thirdweb/wallets");
|
@@ -126,9 +134,13 @@ export function inAppWalletConnector(args) {
|
|
126
134
|
switchChain: async (params) => {
|
127
135
|
const chain = config.chains.find((x) => x.id === params.chainId);
|
128
136
|
if (!chain) {
|
129
|
-
throw new Error(`Chain ${params.chainId} not
|
137
|
+
throw new Error(`Chain ${params.chainId} not configured`);
|
130
138
|
}
|
131
139
|
await wallet.switchChain(defineChain(chain.id));
|
140
|
+
config.emitter.emit("change", {
|
141
|
+
chainId: chain.id,
|
142
|
+
});
|
143
|
+
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
132
144
|
return chain;
|
133
145
|
},
|
134
146
|
onAccountsChanged: () => {
|
@@ -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,EAAuB,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,OAAO,EAKP,eAAe,EACf,WAAW,IAAI,mBAAmB,GACnC,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":"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,EAAE,KAAK,cAAc,EAA2B,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,OAAO,EAEP,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAG5B,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;CACrC,CACF,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,CAAC,qBAAqB,GAAG,sBAAsB,CAAC,GAAG;IACjD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,CACF,CAAC;AAEF,KAAK,QAAQ,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;AACpD,KAAK,UAAU,GAAG;IAChB,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC/C,QAAQ,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ,CAAC;AACF,KAAK,WAAW,GAAG;
|
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,EAAE,KAAK,cAAc,EAA2B,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,OAAO,EAEP,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAG5B,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;CACrC,CACF,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,CAAC,qBAAqB,GAAG,sBAAsB,CAAC,GAAG;IACjD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,CACF,CAAC;AAEF,KAAK,QAAQ,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;AACpD,KAAK,UAAU,GAAG;IAChB,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC/C,QAAQ,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;QACnC,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,CAiHtD"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@thirdweb-dev/wagmi-adapter",
|
3
|
-
"version": "0.2.19
|
3
|
+
"version": "0.2.19",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
@@ -30,11 +30,11 @@
|
|
30
30
|
"devDependencies": {
|
31
31
|
"@wagmi/core": "2.16.3",
|
32
32
|
"rimraf": "6.0.1",
|
33
|
-
"thirdweb": "5.88.5
|
33
|
+
"thirdweb": "5.88.5"
|
34
34
|
},
|
35
35
|
"peerDependencies": {
|
36
36
|
"@wagmi/core": "^2.16.0",
|
37
|
-
"thirdweb": "5.
|
37
|
+
"thirdweb": "^5.85.0",
|
38
38
|
"typescript": ">=5.0.4"
|
39
39
|
},
|
40
40
|
"peerDependenciesMeta": {
|
package/src/connector.ts
CHANGED
@@ -32,7 +32,12 @@ type Properties = {
|
|
32
32
|
chainId: number;
|
33
33
|
}>;
|
34
34
|
};
|
35
|
-
type StorageItem = {
|
35
|
+
type StorageItem = {
|
36
|
+
"thirdweb:lastChainId": number;
|
37
|
+
};
|
38
|
+
|
39
|
+
const activeWalletIdKey = "thirdweb:active-wallet-id";
|
40
|
+
const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
|
36
41
|
|
37
42
|
/**
|
38
43
|
* Connect to an in-app wallet using the auth strategy of your choice.
|
@@ -92,7 +97,11 @@ export function inAppWalletConnector(
|
|
92
97
|
name: "In-App wallet",
|
93
98
|
type: "in-app",
|
94
99
|
connect: async (params) => {
|
95
|
-
const
|
100
|
+
const rawStorage =
|
101
|
+
typeof window !== "undefined" && window.localStorage
|
102
|
+
? window.localStorage
|
103
|
+
: undefined;
|
104
|
+
const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
|
96
105
|
if (params?.isReconnecting) {
|
97
106
|
const { autoConnect } = await import("thirdweb/wallets");
|
98
107
|
const chainId = lastChainId || args.smartAccount?.chain?.id || 1;
|
@@ -130,7 +139,10 @@ export function inAppWalletConnector(
|
|
130
139
|
chain,
|
131
140
|
} as InAppWalletConnectionOptions;
|
132
141
|
const account = await wallet.connect(decoratedOptions);
|
133
|
-
|
142
|
+
// setting up raw local storage value for autoConnect
|
143
|
+
rawStorage?.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
|
144
|
+
rawStorage?.setItem(activeWalletIdKey, wallet.id);
|
145
|
+
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
134
146
|
return { accounts: [getAddress(account.address)], chainId: chain.id };
|
135
147
|
},
|
136
148
|
disconnect: async () => {
|
@@ -147,7 +159,7 @@ export function inAppWalletConnector(
|
|
147
159
|
return wallet.getChain()?.id || 1;
|
148
160
|
},
|
149
161
|
getProvider: async (params) => {
|
150
|
-
const lastChainId = await config.storage?.getItem("
|
162
|
+
const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
|
151
163
|
const chain = defineChain(
|
152
164
|
params?.chainId || args.smartAccount?.chain?.id || lastChainId || 1,
|
153
165
|
);
|
@@ -169,9 +181,13 @@ export function inAppWalletConnector(
|
|
169
181
|
switchChain: async (params) => {
|
170
182
|
const chain = config.chains.find((x) => x.id === params.chainId);
|
171
183
|
if (!chain) {
|
172
|
-
throw new Error(`Chain ${params.chainId} not
|
184
|
+
throw new Error(`Chain ${params.chainId} not configured`);
|
173
185
|
}
|
174
186
|
await wallet.switchChain(defineChain(chain.id));
|
187
|
+
config.emitter.emit("change", {
|
188
|
+
chainId: chain.id,
|
189
|
+
});
|
190
|
+
await config.storage?.setItem("thirdweb:lastChainId", chain.id);
|
175
191
|
return chain;
|
176
192
|
},
|
177
193
|
onAccountsChanged: () => {
|