@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.
@@ -53,16 +53,19 @@ const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
53
53
  * @beta
54
54
  */
55
55
  function inAppWalletConnector(args) {
56
- const wallet = args.ecosystemId
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
- const rawStorage = typeof window !== "undefined" && window.localStorage
63
- ? window.localStorage
64
- : undefined;
65
- const lastChainId = await config.storage?.getItem("thirdweb: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
- rawStorage?.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
100
- rawStorage?.setItem(activeWalletIdKey, wallet.id);
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 lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
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 () => true,
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":"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"}
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":";;AAsGA,oDAuKC;AA7QD,sCAAsE;AAEtE,uCAAwE;AACxE,8CAS0B;AAyC1B,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,SAAgB,oBAAoB,CAClC,IAA2B;IAE3B,IAAI,MAAM,GAAW,IAAI,CAAC,WAAW;QACnC,CAAC,CAAC,IAAA,yBAAe,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAClE,CAAC,CAAC,IAAA,qBAAmB,EAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,UAAU,GACd,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY;QAClD,CAAC,CAAC,MAAM,CAAC,YAAY;QACrB,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,IAAA,sBAAe,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,MAAiC,EAAE,EAAE;YACnD,MAAM;gBACJ,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,MAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAClD,sBAAsB,CACvB,CAAC;YACF,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjE,MAAM,WAAW,CAAC;oBAChB,KAAK,EAAE,IAAA,sBAAW,EAAC,OAAO,CAAC;oBAC3B,MAAM;oBACN,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO;oBACL,QAAQ,EAAE,CAAC,IAAA,qBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAAQ;oBAC9C,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC;YAED,yDAAyD;YACzD,MAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,OAAO;oBACL,QAAQ,EAAE,CAAC,IAAA,qBAAU,EAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC;iBACpC,CAAC;YACJ,CAAC;YAED,gCAAgC;YAChC,MAAM,YAAY,GAAG,MAAM,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAA,sBAAW,EACvB,YAAY,EAAE,OAAO;gBACnB,WAAW;gBACX,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC5B,CAAC,CACJ,CAAC;YACF,MAAM,gBAAgB,GAAG;gBACvB,GAAG,YAAY;gBACf,KAAK;gBACL,MAAM;aACyB,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACvD,qDAAqD;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,kBAAkB,GAAG,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBACtE,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBAC3C,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;4BACjD,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACxC,UAAU,CAAC,OAAO,CAChB,qBAAqB,EACrB,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CACxC,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,OAAO,CAChB,qBAAqB,EACrB,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC5B,CAAC;gBACJ,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAA,qBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACxE,CAAC;QACD,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QACD,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,IAAA,qBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5B,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAClD,sBAAsB,CACvB,CAAC;YACF,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,MAAM,KAAK,GAAG,IAAA,sBAAW,EACvB,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,WAAW,IAAI,CAAC,CACpE,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;gBACzB,MAAM,EAAE,WAAW,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;gBACzD,MAAM,WAAW,CAAC;oBAChB,KAAK;oBACL,MAAM;oBACN,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,iBAAO,CAAC,UAAU,CAAC;gBACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK;gBACjC,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI;QACzB,EAAE,EAAE,eAAe;QACnB,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,MAAM,kBAAkB,GAAG,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACtE,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC/D,IAAI,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,eAAe;QAC5C,iBAAiB,EAAE,GAAG,EAAE;YACtB,QAAQ;QACV,CAAC,EAAE,0BAA0B;QAC7B,cAAc,EAAE,GAAG,EAAE;YACnB,QAAQ;QACV,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACjB,QAAQ;QACV,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,MAAM,CAAC,WAAW,CAAC,IAAA,sBAAW,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;aAClB,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"thirdweb.js","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":";;;AAAA,gDAGyB;AADvB,oHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"thirdweb.js","sourceRoot":"","sources":["../../../src/exports/thirdweb.ts"],"names":[],"mappings":";;;AAAA,gDAKyB;AADvB,oHAAA,oBAAoB,OAAA"}
@@ -50,16 +50,19 @@ const connectedWalletIdsKey = "thirdweb:connected-wallet-ids";
50
50
  * @beta
51
51
  */
52
52
  export function inAppWalletConnector(args) {
53
- const wallet = args.ecosystemId
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
- const rawStorage = typeof window !== "undefined" && window.localStorage
60
- ? window.localStorage
61
- : undefined;
62
- const lastChainId = await config.storage?.getItem("thirdweb: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
- rawStorage?.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
97
- rawStorage?.setItem(activeWalletIdKey, wallet.id);
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 lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
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 () => true,
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":"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"}
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,EAEL,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
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
- export type ConnectionOptions = Prettify<(MultiStepAuthArgsType | SingleStepAuthArgsType) & {
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 `0x${string}`[];
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,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,CAqHtD"}
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.17.3",
8
+ "@wagmi/core": "2.21.2",
9
9
  "rimraf": "6.0.1",
10
- "thirdweb": "5.108.5"
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.155",
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
- export type ConnectionOptions = Prettify<
24
- (MultiStepAuthArgsType | SingleStepAuthArgsType) & {
25
- chainId?: number | undefined;
26
- isReconnecting?: boolean | undefined;
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(parameters?: ConnectionOptions): Promise<{
33
- accounts: readonly `0x${string}`[];
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
- const wallet = args.ecosystemId
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
- return createConnector<Provider, Properties, StorageItem>((config) => ({
98
- connect: async (params) => {
99
- const rawStorage =
100
- typeof window !== "undefined" && window.localStorage
101
- ? window.localStorage
102
- : undefined;
103
- const lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
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
- rawStorage?.setItem(connectedWalletIdsKey, JSON.stringify([wallet.id]));
144
- rawStorage?.setItem(activeWalletIdKey, wallet.id);
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 lastChainId = await config.storage?.getItem("thirdweb:lastChainId");
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 () => true,
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
@@ -1,4 +1,6 @@
1
1
  export {
2
+ type ConnectionOptions,
3
+ type InAppWalletConnector,
2
4
  type InAppWalletParameters,
3
5
  inAppWalletConnector,
4
6
  } from "../connector.js";