thirdweb 5.80.1-nightly-430475913d30ef7a30cb3092f6ef09c0c998a9b6-20250106000343 → 5.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/adapters/ethers5.js +1 -1
- package/dist/cjs/adapters/ethers5.js.map +1 -1
- package/dist/cjs/auth/verify-hash.js +13 -8
- package/dist/cjs/auth/verify-hash.js.map +1 -1
- package/dist/cjs/contract/types.js +3 -0
- package/dist/cjs/contract/types.js.map +1 -0
- package/dist/cjs/exports/thirdweb.js +5 -1
- package/dist/cjs/exports/thirdweb.js.map +1 -1
- package/dist/cjs/exports/transaction.js +3 -1
- package/dist/cjs/exports/transaction.js.map +1 -1
- package/dist/cjs/exports/wallets.js +3 -1
- package/dist/cjs/exports/wallets.js.map +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
- package/dist/cjs/extensions/types.js +3 -0
- package/dist/cjs/extensions/types.js.map +1 -0
- package/dist/cjs/gas/estimate-l1-fee.js +3 -4
- package/dist/cjs/gas/estimate-l1-fee.js.map +1 -1
- package/dist/cjs/react/core/hooks/contract/useReadContract.js +31 -29
- package/dist/cjs/react/core/hooks/contract/useReadContract.js.map +1 -1
- package/dist/cjs/react/core/hooks/types.js +3 -0
- package/dist/cjs/react/core/hooks/types.js.map +1 -0
- package/dist/cjs/transaction/actions/eip7702/authorization.js +33 -0
- package/dist/cjs/transaction/actions/eip7702/authorization.js.map +1 -0
- package/dist/cjs/transaction/actions/estimate-gas.js +16 -4
- package/dist/cjs/transaction/actions/estimate-gas.js.map +1 -1
- package/dist/cjs/transaction/actions/send-transaction.js +32 -1
- package/dist/cjs/transaction/actions/send-transaction.js.map +1 -1
- package/dist/cjs/transaction/actions/to-serializable-transaction.js +13 -4
- package/dist/cjs/transaction/actions/to-serializable-transaction.js.map +1 -1
- package/dist/cjs/transaction/prepare-transaction.js.map +1 -1
- package/dist/cjs/transaction/serialize-transaction.js +11 -0
- package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
- package/dist/cjs/utils/abi/decodeError.js +3 -3
- package/dist/cjs/utils/abi/decodeError.js.map +1 -1
- package/dist/cjs/utils/abi/decodeFunctionData.js +3 -3
- package/dist/cjs/utils/abi/decodeFunctionData.js.map +1 -1
- package/dist/cjs/utils/abi/decodeFunctionResult.js +3 -3
- package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
- package/dist/cjs/utils/hashing/hashMessage.js +2 -2
- package/dist/cjs/utils/hashing/hashMessage.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/create-wallet.js +16 -0
- package/dist/cjs/wallets/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +9 -3
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/index.js +8 -10
- package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/cjs/wallets/private-key.js +9 -0
- package/dist/cjs/wallets/private-key.js.map +1 -1
- package/dist/cjs/wallets/smart/index.js +34 -32
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/signing.js +139 -54
- package/dist/cjs/wallets/smart/lib/signing.js.map +1 -1
- package/dist/cjs/wallets/smart/presets/7579.js +11 -10
- package/dist/cjs/wallets/smart/presets/7579.js.map +1 -1
- package/dist/cjs/wallets/smart/smart-wallet.js +12 -10
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/esm/adapters/ethers5.js +1 -1
- package/dist/esm/adapters/ethers5.js.map +1 -1
- package/dist/esm/auth/verify-hash.js +13 -9
- package/dist/esm/auth/verify-hash.js.map +1 -1
- package/dist/esm/contract/types.js +2 -0
- package/dist/esm/contract/types.js.map +1 -0
- package/dist/esm/exports/thirdweb.js +2 -0
- package/dist/esm/exports/thirdweb.js.map +1 -1
- package/dist/esm/exports/transaction.js +1 -0
- package/dist/esm/exports/transaction.js.map +1 -1
- package/dist/esm/exports/wallets.js +1 -0
- package/dist/esm/exports/wallets.js.map +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
- package/dist/esm/extensions/types.js +2 -0
- package/dist/esm/extensions/types.js.map +1 -0
- package/dist/esm/gas/estimate-l1-fee.js +2 -3
- package/dist/esm/gas/estimate-l1-fee.js.map +1 -1
- package/dist/esm/react/core/hooks/contract/useReadContract.js +31 -29
- package/dist/esm/react/core/hooks/contract/useReadContract.js.map +1 -1
- package/dist/esm/react/core/hooks/types.js +2 -0
- package/dist/esm/react/core/hooks/types.js.map +1 -0
- package/dist/esm/transaction/actions/eip7702/authorization.js +30 -0
- package/dist/esm/transaction/actions/eip7702/authorization.js.map +1 -0
- package/dist/esm/transaction/actions/estimate-gas.js +16 -4
- package/dist/esm/transaction/actions/estimate-gas.js.map +1 -1
- package/dist/esm/transaction/actions/send-transaction.js +32 -1
- package/dist/esm/transaction/actions/send-transaction.js.map +1 -1
- package/dist/esm/transaction/actions/to-serializable-transaction.js +13 -4
- package/dist/esm/transaction/actions/to-serializable-transaction.js.map +1 -1
- package/dist/esm/transaction/prepare-transaction.js.map +1 -1
- package/dist/esm/transaction/serialize-transaction.js +11 -0
- package/dist/esm/transaction/serialize-transaction.js.map +1 -1
- package/dist/esm/utils/abi/decodeError.js +3 -3
- package/dist/esm/utils/abi/decodeError.js.map +1 -1
- package/dist/esm/utils/abi/decodeFunctionData.js +3 -3
- package/dist/esm/utils/abi/decodeFunctionData.js.map +1 -1
- package/dist/esm/utils/abi/decodeFunctionResult.js +3 -3
- package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
- package/dist/esm/utils/hashing/hashMessage.js +1 -1
- package/dist/esm/utils/hashing/hashMessage.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/create-wallet.js +16 -0
- package/dist/esm/wallets/create-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +9 -3
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/index.js +8 -10
- package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/esm/wallets/private-key.js +9 -0
- package/dist/esm/wallets/private-key.js.map +1 -1
- package/dist/esm/wallets/smart/index.js +32 -30
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/signing.js +137 -53
- package/dist/esm/wallets/smart/lib/signing.js.map +1 -1
- package/dist/esm/wallets/smart/presets/7579.js +11 -10
- package/dist/esm/wallets/smart/presets/7579.js.map +1 -1
- package/dist/esm/wallets/smart/smart-wallet.js +12 -10
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/types/auth/verify-hash.d.ts +6 -0
- package/dist/types/auth/verify-hash.d.ts.map +1 -1
- package/dist/types/contract/types.d.ts +7 -0
- package/dist/types/contract/types.d.ts.map +1 -0
- package/dist/types/exports/thirdweb.d.ts +6 -0
- package/dist/types/exports/thirdweb.d.ts.map +1 -1
- package/dist/types/exports/transaction.d.ts +5 -0
- package/dist/types/exports/transaction.d.ts.map +1 -1
- package/dist/types/exports/wallets.d.ts +1 -0
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
- package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts.map +1 -1
- package/dist/types/extensions/types.d.ts +4 -0
- package/dist/types/extensions/types.d.ts.map +1 -0
- package/dist/types/gas/estimate-l1-fee.d.ts.map +1 -1
- package/dist/types/react/core/hooks/contract/useReadContract.d.ts +9 -16
- package/dist/types/react/core/hooks/contract/useReadContract.d.ts.map +1 -1
- package/dist/types/react/core/hooks/types.d.ts +13 -0
- package/dist/types/react/core/hooks/types.d.ts.map +1 -0
- package/dist/types/transaction/actions/eip7702/authorization.d.ts +48 -0
- package/dist/types/transaction/actions/eip7702/authorization.d.ts.map +1 -0
- package/dist/types/transaction/actions/estimate-gas.d.ts +3 -1
- package/dist/types/transaction/actions/estimate-gas.d.ts.map +1 -1
- package/dist/types/transaction/actions/send-transaction.d.ts +31 -0
- package/dist/types/transaction/actions/send-transaction.d.ts.map +1 -1
- package/dist/types/transaction/actions/to-serializable-transaction.d.ts +19 -2
- package/dist/types/transaction/actions/to-serializable-transaction.d.ts.map +1 -1
- package/dist/types/transaction/prepare-transaction.d.ts +2 -0
- package/dist/types/transaction/prepare-transaction.d.ts.map +1 -1
- package/dist/types/transaction/serialize-transaction.d.ts +2 -0
- package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeError.d.ts +2 -2
- package/dist/types/utils/abi/decodeError.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeFunctionData.d.ts +6 -4
- package/dist/types/utils/abi/decodeFunctionData.d.ts.map +1 -1
- package/dist/types/utils/abi/decodeFunctionResult.d.ts +6 -4
- package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
- package/dist/types/utils/hashing/hashMessage.d.ts +1 -1
- package/dist/types/utils/hashing/hashMessage.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/create-wallet.d.ts +16 -0
- package/dist/types/wallets/create-wallet.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/index.d.ts +10 -2
- package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
- package/dist/types/wallets/interfaces/wallet.d.ts +9 -0
- package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
- package/dist/types/wallets/private-key.d.ts.map +1 -1
- package/dist/types/wallets/smart/index.d.ts +2 -2
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/signing.d.ts +46 -2
- package/dist/types/wallets/smart/lib/signing.d.ts.map +1 -1
- package/dist/types/wallets/smart/presets/7579.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/ethers5.ts +1 -1
- package/src/auth/verify-hash.ts +12 -9
- package/src/contract/types.ts +8 -0
- package/src/exports/thirdweb.ts +10 -0
- package/src/exports/transaction.ts +9 -0
- package/src/exports/wallets.ts +2 -0
- package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +2 -2
- package/src/extensions/types.ts +6 -0
- package/src/gas/estimate-l1-fee.ts +2 -3
- package/src/react/core/hooks/contract/useReadContract.ts +83 -74
- package/src/react/core/hooks/types.ts +13 -0
- package/src/transaction/actions/eip7702/authorization.test.ts +27 -0
- package/src/transaction/actions/eip7702/authorization.ts +58 -0
- package/src/transaction/actions/estimate-gas.ts +26 -9
- package/src/transaction/actions/send-transaction.ts +32 -2
- package/src/transaction/actions/to-serializable-transaction.test.ts +68 -0
- package/src/transaction/actions/to-serializable-transaction.ts +42 -30
- package/src/transaction/prepare-transaction.test.ts +28 -0
- package/src/transaction/prepare-transaction.ts +3 -0
- package/src/transaction/serialize-transaction.test.ts +108 -1
- package/src/transaction/serialize-transaction.ts +18 -0
- package/src/utils/abi/decodeError.ts +5 -4
- package/src/utils/abi/decodeFunctionData.ts +7 -5
- package/src/utils/abi/decodeFunctionResult.ts +7 -5
- package/src/utils/hashing/hashMessage.ts +1 -1
- package/src/utils/signatures/sign-message.test.ts +2 -2
- package/src/version.ts +1 -1
- package/src/wallets/create-wallet.ts +16 -0
- package/src/wallets/in-app/core/wallet/in-app-core.test.ts +115 -54
- package/src/wallets/in-app/core/wallet/in-app-core.ts +22 -11
- package/src/wallets/in-app/core/wallet/index.ts +10 -13
- package/src/wallets/interfaces/wallet.ts +15 -0
- package/src/wallets/private-key.test.ts +1 -0
- package/src/wallets/private-key.ts +10 -0
- package/src/wallets/smart/index.ts +34 -37
- package/src/wallets/smart/lib/signing.ts +154 -59
- package/src/wallets/smart/presets/7579.ts +13 -12
- package/src/wallets/smart/smart-wallet-integration-v07.test.ts +49 -9
- package/src/wallets/smart/smart-wallet-integration.test.ts +48 -1
- package/src/wallets/smart/smart-wallet.ts +13 -13
- package/src/wallets/smart/smart.test.ts +19 -39
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.isSmartWallet = isSmartWallet;
|
4
|
-
exports.
|
5
|
-
exports.
|
4
|
+
exports.connectSmartAccount = connectSmartAccount;
|
5
|
+
exports.disconnectSmartAccount = disconnectSmartAccount;
|
6
6
|
const utils_js_1 = require("../../chains/utils.js");
|
7
7
|
const contract_js_1 = require("../../contract/contract.js");
|
8
8
|
const allowance_js_1 = require("../../extensions/erc20/__generated__/IERC20/read/allowance.js");
|
@@ -28,18 +28,19 @@ function isSmartWallet(wallet) {
|
|
28
28
|
return wallet.id === "smart";
|
29
29
|
}
|
30
30
|
/**
|
31
|
-
*
|
31
|
+
* For in-app wallets, the smart wallet creation is implicit so we track these to be able to retrieve the personal account for a smart account on the wallet API.
|
32
|
+
* Note: We have to go account to account here and NOT wallet to account because the smart wallet itself is never exposed to the in-app wallet, only the account.
|
32
33
|
* @internal
|
33
34
|
*/
|
34
|
-
const
|
35
|
-
const
|
35
|
+
const adminAccountToSmartAccountMap = new WeakMap();
|
36
|
+
const smartAccountToAdminAccountMap = new WeakMap();
|
36
37
|
/**
|
37
38
|
* @internal
|
38
39
|
*/
|
39
|
-
async function
|
40
|
+
async function connectSmartAccount(connectionOptions, creationOptions) {
|
40
41
|
const { personalAccount, client, chain: connectChain } = connectionOptions;
|
41
42
|
if (!personalAccount) {
|
42
|
-
throw new Error("
|
43
|
+
throw new Error("No personal account provided for smart account connection");
|
43
44
|
}
|
44
45
|
const options = creationOptions;
|
45
46
|
const chain = connectChain ?? options.chain;
|
@@ -105,20 +106,20 @@ async function connectSmartWallet(wallet, connectionOptions, creationOptions) {
|
|
105
106
|
factoryContract,
|
106
107
|
client,
|
107
108
|
});
|
108
|
-
|
109
|
-
|
109
|
+
adminAccountToSmartAccountMap.set(personalAccount, account);
|
110
|
+
smartAccountToAdminAccountMap.set(account, personalAccount);
|
110
111
|
return [account, chain];
|
111
112
|
}
|
112
113
|
/**
|
113
114
|
* @internal
|
114
115
|
*/
|
115
|
-
async function
|
116
|
+
async function disconnectSmartAccount(account) {
|
116
117
|
// look up the personalAccount for the smart wallet
|
117
|
-
const personalAccount =
|
118
|
+
const personalAccount = smartAccountToAdminAccountMap.get(account);
|
118
119
|
if (personalAccount) {
|
119
120
|
// remove the mappings
|
120
|
-
|
121
|
-
|
121
|
+
adminAccountToSmartAccountMap.delete(personalAccount);
|
122
|
+
smartAccountToAdminAccountMap.delete(account);
|
122
123
|
}
|
123
124
|
}
|
124
125
|
async function createSmartAccount(options) {
|
@@ -128,7 +129,7 @@ async function createSmartAccount(options) {
|
|
128
129
|
throw new Error("Token paymaster is only supported for entrypoint version v0.7");
|
129
130
|
}
|
130
131
|
}
|
131
|
-
|
132
|
+
let accountContract = options.accountContract;
|
132
133
|
const account = {
|
133
134
|
address: (0, address_js_1.getAddress)(accountContract.address),
|
134
135
|
async sendTransaction(transaction) {
|
@@ -151,20 +152,16 @@ async function createSmartAccount(options) {
|
|
151
152
|
else {
|
152
153
|
paymasterOverride = options.overrides?.paymaster;
|
153
154
|
}
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
}
|
163
|
-
// Default to the existing account contract
|
164
|
-
return accountContract;
|
165
|
-
})();
|
155
|
+
// If this transaction is for a different chain than the initial one, get the account contract for that chain
|
156
|
+
if (transaction.chainId !== accountContract.chain.id) {
|
157
|
+
accountContract = (0, contract_js_1.getContract)({
|
158
|
+
address: account.address,
|
159
|
+
chain: (0, utils_js_1.getCachedChain)(transaction.chainId),
|
160
|
+
client: options.client,
|
161
|
+
});
|
162
|
+
}
|
166
163
|
const executeTx = (0, calls_js_1.prepareExecute)({
|
167
|
-
accountContract:
|
164
|
+
accountContract: accountContract,
|
168
165
|
transaction,
|
169
166
|
executeOverride: options.overrides?.execute,
|
170
167
|
});
|
@@ -173,6 +170,7 @@ async function createSmartAccount(options) {
|
|
173
170
|
options: {
|
174
171
|
...options,
|
175
172
|
chain: (0, utils_js_1.getCachedChain)(transaction.chainId),
|
173
|
+
accountContract,
|
176
174
|
overrides: {
|
177
175
|
...options.overrides,
|
178
176
|
paymaster: paymasterOverride,
|
@@ -188,7 +186,11 @@ async function createSmartAccount(options) {
|
|
188
186
|
});
|
189
187
|
return _sendUserOp({
|
190
188
|
executeTx,
|
191
|
-
options
|
189
|
+
options: {
|
190
|
+
...options,
|
191
|
+
chain: (0, utils_js_1.getCachedChain)(transactions[0]?.chainId ?? options.chain.id),
|
192
|
+
accountContract,
|
193
|
+
},
|
192
194
|
});
|
193
195
|
},
|
194
196
|
async signMessage({ message }) {
|
@@ -200,8 +202,8 @@ async function createSmartAccount(options) {
|
|
200
202
|
message,
|
201
203
|
});
|
202
204
|
}
|
203
|
-
const {
|
204
|
-
return
|
205
|
+
const { smartAccountSignMessage } = await Promise.resolve().then(() => require("./lib/signing.js"));
|
206
|
+
return smartAccountSignMessage({
|
205
207
|
accountContract,
|
206
208
|
factoryContract: options.factoryContract,
|
207
209
|
options,
|
@@ -217,8 +219,8 @@ async function createSmartAccount(options) {
|
|
217
219
|
typedData,
|
218
220
|
});
|
219
221
|
}
|
220
|
-
const {
|
221
|
-
return
|
222
|
+
const { smartAccountSignTypedData } = await Promise.resolve().then(() => require("./lib/signing.js"));
|
223
|
+
return smartAccountSignTypedData({
|
222
224
|
accountContract,
|
223
225
|
factoryContract: options.factoryContract,
|
224
226
|
options,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":";;AAgEA,sCAIC;AAgBD,gDAmGC;AAKD,sDAUC;AApMD,oDAAuD;AAEvD,4DAAgF;AAChF,gGAA0F;AAC1F,wEAAkE;AAClE,6GAAqG;AAErG,4GAGqE;AAErE,yEAAkE;AAClE,uDAAoD;AACpD,kFAA4E;AAE5E,4FAAoF;AACpF,mDAAuE;AAOvE,iDAI0B;AAC1B,6CAIwB;AACxB,qDAK4B;AAC5B,+CAKyB;AAWzB;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,MAAwB;IAExB,OAAO,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,gCAAgC,GAAG,IAAI,OAAO,EAGjD,CAAC;AAEJ,MAAM,+BAA+B,GAAG,IAAI,OAAO,EAA4B,CAAC;AAEhF;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAuB,EACvB,iBAA+C,EAC/C,eAAmC;IAEnC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC;IAE3E,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,MAAM,KAAK,GAAG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAE5C,kFAAkF;IAClF,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACpE,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CACtD,OAAO,CAAC,cAAc,EACtB,MAAM,EACN,KAAK,CACN,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,GAAG;gBAClB,GAAG,OAAO,CAAC,SAAS;gBACpB,iBAAiB;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IACE,OAAO,CAAC,SAAS,EAAE,cAAc;QACjC,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EACrC,CAAC;QACD,2FAA2F;QAC3F,OAAO,CAAC,SAAS,GAAG;YAClB,GAAG,OAAO,CAAC,SAAS;YACpB,iBAAiB,EAAE,sCAAuB;SAC3C,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc;QACtB,IAAA,uCAAwB,EAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,UAAU,GACd,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAE9D,IAAI,MAAM,IAAA,gCAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,mBAAmB,CAAC;gBAClB,eAAe;gBACf,iBAAiB;gBACjB,KAAK;gBACL,UAAU;aACX,CAAC;YACF,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,IAAA,yBAAc,EAAC;QAC1C,eAAe;QACf,YAAY,EAAE,eAAe,CAAC,OAAO;QACrC,sBAAsB,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc;QACzD,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW;QAC3C,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc;KAClD,CAAC;SACC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;SAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uDAAuD,eAAe,CAAC,OAAO,gBAAgB,KAAK,CAAC,EAAE,KAAK,GAAG,EAAE,OAAO,IAAI,eAAe,EAAE,EAC5I,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,MAAM;QACN,OAAO,EAAE,cAAc;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;QACvC,GAAG,OAAO;QACV,KAAK;QACL,UAAU;QACV,eAAe;QACf,eAAe;QACf,eAAe;QACf,MAAM;KACP,CAAC,CAAC;IAEH,gCAAgC,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9D,+BAA+B,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7D,OAAO,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AACnC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CACzC,MAAuB;IAEvB,mDAAmD;IACnD,MAAM,eAAe,GAAG,+BAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,eAAe,EAAE,CAAC;QACpB,sBAAsB;QACtB,gCAAgC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,+BAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA4B;IAE5B,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;IACzD,IAAI,cAAc,EAAE,CAAC;QACnB,IACE,IAAA,mCAAoB,EAClB,OAAO,CAAC,SAAS,EAAE,iBAAiB,IAAI,sCAAuB,CAChE,KAAK,MAAM,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,OAAO,GAAY;QACvB,OAAO,EAAE,IAAA,uBAAU,EAAC,eAAe,CAAC,OAAO,CAAC;QAC5C,KAAK,CAAC,eAAe,CAAC,WAAkC;YACtD,6DAA6D;YAC7D,IAAI,iBAAiB,GAIgB,SAAS,CAAC;YAC/C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,CAAC;oBACjB,eAAe;oBACf,cAAc;oBACd,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,KAAK,IAA8B,EAAE;oBAC7D,OAAO;wBACL,SAAS,EAAE,cAAc,CAAC,gBAAuB;wBACjD,aAAa,EAAE,IAAI;qBACpB,CAAC;gBACJ,CAAC,CAAC;gBACF,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,iBAAiB,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;YACnD,CAAC;YAED,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE;gBAC1C,6GAA6G;gBAC7G,IAAI,WAAW,CAAC,OAAO,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;oBACrD,OAAO,IAAA,yBAAW,EAAC;wBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,IAAA,yBAAc,EAAC,WAAW,CAAC,OAAO,CAAC;wBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC,CAAC;gBACL,CAAC;gBACD,2CAA2C;gBAC3C,OAAO,eAAe,CAAC;YACzB,CAAC,CAAC,EAAE,CAAC;YAEL,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC;gBAC/B,eAAe,EAAE,6BAA6B;gBAC9C,WAAW;gBACX,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO;aAC5C,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;gBACjB,SAAS;gBACT,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,KAAK,EAAE,IAAA,yBAAc,EAAC,WAAW,CAAC,OAAO,CAAC;oBAC1C,SAAS,EAAE;wBACT,GAAG,OAAO,CAAC,SAAS;wBACpB,SAAS,EAAE,iBAAiB;qBAC7B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,YAAqC;YAC9D,MAAM,SAAS,GAAG,IAAA,8BAAmB,EAAC;gBACpC,eAAe;gBACf,YAAY;gBACZ,oBAAoB,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY;aACtD,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;gBACjB,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAgC;YACzD,IAAI,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;oBACnC,YAAY,EAAE,OAAO,CAAC,eAAe;oBACrC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,eAAe;oBACf,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;YAClE,OAAO,oBAAoB,CAAC;gBAC1B,eAAe;gBACf,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,aAAa,CAGjB,SAA2D;YAC3D,IAAI,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;gBACrC,OAAO,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;oBACrC,YAAY,EAAE,OAAO,CAAC,eAAe;oBACrC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,eAAe;oBACf,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,sBAAsB,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;YACpE,OAAO,sBAAsB,CAAC;gBAC5B,eAAe;gBACf,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,WAAW;YACtC,OAAO,OAAO,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAI3B;IACC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1D,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,yBAAW,EAAC;QAChC,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,wBAAS,EAAC;QACvC,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,eAAe,CAAC,OAAO;QAC9B,OAAO,EAAE,cAAc,CAAC,gBAAgB;KACzC,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAG,EAAE,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC;QACxB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,cAAc,CAAC,gBAAgB;QACxC,SAAS,EAAE,oBAAS,GAAG,EAAE;KAC1B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,IAAA,0DAAyB,EAAC;QAClD,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,eAAe,CAAC,OAAO;KAC9B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC;QAC/B,eAAe;QACf,WAAW;QACX,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO;KAC5C,CAAC,CAAC;IACH,MAAM,WAAW,CAAC;QAChB,SAAS;QACT,OAAO,EAAE;YACP,GAAG,OAAO;YACV,SAAS,EAAE;gBACT,GAAG,OAAO,CAAC,SAAS;gBACpB,cAAc,EAAE,SAAS;aAC1B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAK5B;IACC,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,OAAO,GAAY;QACvB,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAC,OAAO;QAClD,KAAK,CAAC,eAAe,CAAC,WAAkC;YACtD,6DAA6D;YAC7D,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,SAAS;gBAC/B,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC9B,KAAK,EAAE,IAAA,yBAAc,EAAC,WAAW,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,iBAAiB,CAAC,MAAM;gBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC;YAEF,IAAI,uBAAuB,GAAG,MAAM,IAAA,sDAAyB,EAAC;gBAC5D,OAAO;gBACP,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC;gBAC1D,sBAAsB;gBACtB,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAkB,EAAC;oBACtC,OAAO,EAAE;wBACP,MAAM,EAAE,iBAAiB,CAAC,MAAM;wBAChC,KAAK;wBACL,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU;wBACjD,iBAAiB,EAAE,eAAe,CAAC,SAAS,EAAE,iBAAiB;qBAChE;oBACD,WAAW,EAAE,uBAAuB;iBACrC,CAAC,CAAC;gBACH,uBAAuB,GAAG;oBACxB,GAAG,uBAAuB;oBAC1B,GAAG,MAAM;iBACV,CAAC;YACJ,CAAC;YAED,OAAO;YACP,MAAM,iBAAiB,GAAG,MAAM,IAAA,kDAAqB,EAAC;gBACpD,OAAO;gBACP,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,iBAAiB,EAAE,uBAAuB;aAC3C,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAsB,EAAC;gBAC1C,OAAO,EAAE;oBACP,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,KAAK;oBACL,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU;oBACjD,iBAAiB,EAAE,eAAe,CAAC,SAAS,EAAE,iBAAiB;iBAChE;gBACD,WAAW,EAAE,uBAAuB;gBACpC,iBAAiB;aAClB,CAAC,CAAC;YACH,OAAO;gBACL,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,MAAM,EAAE,iBAAiB,CAAC,MAAM;gBAChC,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAgC;YACzD,OAAO,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,aAAa,CAGjB,UAA4D;YAC5D,MAAM,SAAS,GAAG,IAAA,oCAAc,EAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,iBAAiB,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,WAAW;YACtC,OAAO,iBAAiB,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAC/D,WAAW,CACZ,CAAC;QACJ,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAG1B;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,gCAAoB,EAAC;QAChD,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO;QAC7C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAU,EAAC;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,eAAe;QACrC,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB;QACvD,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,MAAM,cAAc,GAAmB;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU;QACzC,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB;KACxD,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAY,EAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,yDAAyD;IACzD,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAoB,EAAC;QACzC,GAAG,cAAc;QACjB,UAAU;KACX,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAA,iCAAqB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAAsB,EACtB,MAAsB,EACtB,KAAY;IAEZ,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,IAAA,+BAAY,EAAC;YAC3C,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,qDAAqD;SAC9D,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,18 +1,26 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
4
|
-
exports.
|
3
|
+
exports.smartAccountSignMessage = smartAccountSignMessage;
|
4
|
+
exports.smartAccountSignTypedData = smartAccountSignTypedData;
|
5
5
|
exports.confirmContractDeployment = confirmContractDeployment;
|
6
|
+
exports.deploySmartAccount = deploySmartAccount;
|
6
7
|
const serialize_erc6492_signature_js_1 = require("../../../auth/serialize-erc6492-signature.js");
|
7
8
|
const verify_hash_js_1 = require("../../../auth/verify-hash.js");
|
8
9
|
const contract_js_1 = require("../../../contract/contract.js");
|
9
10
|
const encode_js_1 = require("../../../transaction/actions/encode.js");
|
10
11
|
const read_contract_js_1 = require("../../../transaction/read-contract.js");
|
11
12
|
const encodeAbiParameters_js_1 = require("../../../utils/abi/encodeAbiParameters.js");
|
13
|
+
const is_contract_deployed_js_1 = require("../../../utils/bytecode/is-contract-deployed.js");
|
12
14
|
const hashMessage_js_1 = require("../../../utils/hashing/hashMessage.js");
|
13
15
|
const hashTypedData_js_1 = require("../../../utils/hashing/hashTypedData.js");
|
14
16
|
const calls_js_1 = require("./calls.js");
|
15
|
-
|
17
|
+
/**
|
18
|
+
* If the account is already deployed, generate an ERC-1271 signature.
|
19
|
+
* If the account is not deployed, generate an ERC-6492 signature unless otherwise specified.
|
20
|
+
*
|
21
|
+
* @internal
|
22
|
+
*/
|
23
|
+
async function smartAccountSignMessage({ accountContract, factoryContract, options, message, }) {
|
16
24
|
const originalMsgHash = (0, hashMessage_js_1.hashMessage)(message);
|
17
25
|
const is712Factory = await checkFor712Factory({
|
18
26
|
factoryContract,
|
@@ -37,35 +45,49 @@ async function deployAndSignMessage({ accountContract, factoryContract, options,
|
|
37
45
|
else {
|
38
46
|
sig = await options.personalAccount.signMessage({ message });
|
39
47
|
}
|
40
|
-
const
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
+
const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
|
49
|
+
if (isDeployed) {
|
50
|
+
const isValid = await (0, verify_hash_js_1.verifyEip1271Signature)({
|
51
|
+
hash: originalMsgHash,
|
52
|
+
signature: sig,
|
53
|
+
contract: accountContract,
|
54
|
+
});
|
55
|
+
if (isValid) {
|
56
|
+
return sig;
|
57
|
+
}
|
58
|
+
throw new Error("Failed to verify signature");
|
48
59
|
}
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
60
|
+
else {
|
61
|
+
const deployTx = (0, calls_js_1.prepareCreateAccount)({
|
62
|
+
factoryContract,
|
63
|
+
adminAddress: options.personalAccount.address,
|
64
|
+
accountSalt: options.overrides?.accountSalt,
|
65
|
+
createAccountOverride: options.overrides?.createAccount,
|
66
|
+
});
|
67
|
+
if (!deployTx) {
|
68
|
+
throw new Error("Create account override not provided");
|
69
|
+
}
|
70
|
+
const initCode = await (0, encode_js_1.encode)(deployTx);
|
71
|
+
const erc6492Sig = (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
|
72
|
+
address: factoryContract.address,
|
73
|
+
data: initCode,
|
74
|
+
signature: sig,
|
75
|
+
});
|
76
|
+
// check if the signature is valid
|
77
|
+
const isValid = await (0, verify_hash_js_1.verifyHash)({
|
78
|
+
hash: originalMsgHash,
|
79
|
+
signature: erc6492Sig,
|
80
|
+
address: accountContract.address,
|
81
|
+
chain: accountContract.chain,
|
82
|
+
client: accountContract.client,
|
83
|
+
});
|
84
|
+
if (isValid) {
|
85
|
+
return erc6492Sig;
|
86
|
+
}
|
87
|
+
throw new Error("Unable to verify ERC-6492 signature after signing.");
|
65
88
|
}
|
66
|
-
throw new Error("Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.");
|
67
89
|
}
|
68
|
-
async function
|
90
|
+
async function smartAccountSignTypedData({ accountContract, factoryContract, options, typedData, }) {
|
69
91
|
const isSelfVerifyingContract = typedData.domain?.verifyingContract?.toLowerCase() ===
|
70
92
|
accountContract.address?.toLowerCase();
|
71
93
|
if (isSelfVerifyingContract) {
|
@@ -97,33 +119,47 @@ async function deployAndSignTypedData({ accountContract, factoryContract, option
|
|
97
119
|
else {
|
98
120
|
sig = await options.personalAccount.signTypedData(typedData);
|
99
121
|
}
|
100
|
-
const
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
122
|
+
const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
|
123
|
+
if (isDeployed) {
|
124
|
+
const isValid = await (0, verify_hash_js_1.verifyEip1271Signature)({
|
125
|
+
hash: originalMsgHash,
|
126
|
+
signature: sig,
|
127
|
+
contract: accountContract,
|
128
|
+
});
|
129
|
+
if (isValid) {
|
130
|
+
return sig;
|
131
|
+
}
|
132
|
+
throw new Error("Failed to verify signature");
|
108
133
|
}
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
134
|
+
else {
|
135
|
+
const deployTx = (0, calls_js_1.prepareCreateAccount)({
|
136
|
+
factoryContract,
|
137
|
+
adminAddress: options.personalAccount.address,
|
138
|
+
accountSalt: options.overrides?.accountSalt,
|
139
|
+
createAccountOverride: options.overrides?.createAccount,
|
140
|
+
});
|
141
|
+
if (!deployTx) {
|
142
|
+
throw new Error("Create account override not provided");
|
143
|
+
}
|
144
|
+
const initCode = await (0, encode_js_1.encode)(deployTx);
|
145
|
+
const erc6492Sig = (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
|
146
|
+
address: factoryContract.address,
|
147
|
+
data: initCode,
|
148
|
+
signature: sig,
|
149
|
+
});
|
150
|
+
// check if the signature is valid
|
151
|
+
const isValid = await (0, verify_hash_js_1.verifyHash)({
|
152
|
+
hash: originalMsgHash,
|
153
|
+
signature: erc6492Sig,
|
154
|
+
address: accountContract.address,
|
155
|
+
chain: accountContract.chain,
|
156
|
+
client: accountContract.client,
|
157
|
+
});
|
158
|
+
if (isValid) {
|
159
|
+
return erc6492Sig;
|
160
|
+
}
|
161
|
+
throw new Error("Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.");
|
125
162
|
}
|
126
|
-
throw new Error("Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.");
|
127
163
|
}
|
128
164
|
async function confirmContractDeployment(args) {
|
129
165
|
const { accountContract } = args;
|
@@ -163,4 +199,53 @@ async function checkFor712Factory({ factoryContract, accountContract, originalMs
|
|
163
199
|
return false;
|
164
200
|
}
|
165
201
|
}
|
202
|
+
/**
|
203
|
+
* Deployes a smart account via a dummy transaction.
|
204
|
+
*
|
205
|
+
* @param args - Arguments for the deployment.
|
206
|
+
* @param args.smartAccount - The smart account to deploy.
|
207
|
+
* @param args.chain - The chain to deploy on.
|
208
|
+
* @param args.client - The client to use for the deployment.
|
209
|
+
* @param args.accountContract - The account contract to deploy.
|
210
|
+
*
|
211
|
+
* @example
|
212
|
+
* ```ts
|
213
|
+
* import { deploySmartAccount } from "thirdweb";
|
214
|
+
*
|
215
|
+
* const account = await deploySmartAccount({
|
216
|
+
* smartAccount,
|
217
|
+
* chain,
|
218
|
+
* client,
|
219
|
+
* accountContract,
|
220
|
+
* });
|
221
|
+
* ```
|
222
|
+
*
|
223
|
+
* @wallets
|
224
|
+
*/
|
225
|
+
async function deploySmartAccount(args) {
|
226
|
+
const { chain, client, smartAccount, accountContract } = args;
|
227
|
+
const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
|
228
|
+
if (isDeployed) {
|
229
|
+
return;
|
230
|
+
}
|
231
|
+
const [{ sendTransaction }, { prepareTransaction }] = await Promise.all([
|
232
|
+
Promise.resolve().then(() => require("../../../transaction/actions/send-transaction.js")),
|
233
|
+
Promise.resolve().then(() => require("../../../transaction/prepare-transaction.js")),
|
234
|
+
]);
|
235
|
+
const dummyTx = prepareTransaction({
|
236
|
+
client: client,
|
237
|
+
chain: chain,
|
238
|
+
to: accountContract.address,
|
239
|
+
value: 0n,
|
240
|
+
gas: 50000n, // force gas to avoid simulation error
|
241
|
+
});
|
242
|
+
const deployResult = await sendTransaction({
|
243
|
+
transaction: dummyTx,
|
244
|
+
account: smartAccount,
|
245
|
+
});
|
246
|
+
await confirmContractDeployment({
|
247
|
+
accountContract,
|
248
|
+
});
|
249
|
+
return deployResult;
|
250
|
+
}
|
166
251
|
//# sourceMappingURL=signing.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/signing.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/signing.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.erc7579 = erc7579;
|
4
|
-
const
|
4
|
+
const ox__AbiParameters = require("ox/AbiParameters");
|
5
|
+
const ox__Hex = require("ox/Hex");
|
5
6
|
const serialize_erc6492_signature_js_1 = require("../../../auth/serialize-erc6492-signature.js");
|
6
7
|
const verify_hash_js_1 = require("../../../auth/verify-hash.js");
|
7
8
|
const addresses_js_1 = require("../../../constants/addresses.js");
|
@@ -46,9 +47,9 @@ const utils_js_1 = require("../lib/utils.js");
|
|
46
47
|
*/
|
47
48
|
function erc7579(options) {
|
48
49
|
const saltHex = options.overrides?.accountSalt &&
|
49
|
-
|
50
|
+
ox__Hex.validate(options.overrides.accountSalt)
|
50
51
|
? options.overrides.accountSalt
|
51
|
-
:
|
52
|
+
: ox__Hex.fromString(options.overrides?.accountSalt ?? "");
|
52
53
|
const defaultValidator = (0, address_js_1.getAddress)(options.validatorAddress);
|
53
54
|
const modularAccountOptions = {
|
54
55
|
...options,
|
@@ -65,7 +66,7 @@ function erc7579(options) {
|
|
65
66
|
{
|
66
67
|
moduleTypeId: 1n, // validator type id
|
67
68
|
module: defaultValidator,
|
68
|
-
initData:
|
69
|
+
initData: ox__Hex.fromString(""),
|
69
70
|
},
|
70
71
|
];
|
71
72
|
return {
|
@@ -88,8 +89,8 @@ function erc7579(options) {
|
|
88
89
|
contract: accountContract,
|
89
90
|
async asyncParams() {
|
90
91
|
return {
|
91
|
-
mode:
|
92
|
-
executionCalldata:
|
92
|
+
mode: ox__Hex.padRight("0x00", 32), // single execution
|
93
|
+
executionCalldata: ox__AbiParameters.encodePacked(["address", "uint256", "bytes"], [
|
93
94
|
transaction.to || addresses_js_1.ZERO_ADDRESS,
|
94
95
|
transaction.value || 0n,
|
95
96
|
transaction.data || "0x",
|
@@ -103,8 +104,8 @@ function erc7579(options) {
|
|
103
104
|
contract: accountContract,
|
104
105
|
async asyncParams() {
|
105
106
|
return {
|
106
|
-
mode:
|
107
|
-
executionCalldata:
|
107
|
+
mode: ox__Hex.padRight("0x01", 32), // batch execution
|
108
|
+
executionCalldata: ox__AbiParameters.encode([
|
108
109
|
{
|
109
110
|
type: "tuple[]",
|
110
111
|
components: [
|
@@ -135,8 +136,8 @@ function erc7579(options) {
|
|
135
136
|
sender: accountContract.address,
|
136
137
|
});
|
137
138
|
// TODO (msa) - could be different if validator for the deployed account is different
|
138
|
-
const withValidator =
|
139
|
-
return
|
139
|
+
const withValidator = ox__Hex.from(`${defaultValidator}${ox__Hex.fromNumber(entryPointNonce).slice(42)}`);
|
140
|
+
return ox__Hex.toBigInt(withValidator);
|
140
141
|
},
|
141
142
|
async signMessage(options) {
|
142
143
|
const { accountContract, factoryContract, adminAccount, message } = options;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"7579.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/presets/7579.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"7579.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/presets/7579.ts"],"names":[],"mappings":"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"}
|
@@ -132,7 +132,7 @@ function smartWallet(createOptions) {
|
|
132
132
|
let adminAccount = undefined;
|
133
133
|
let chain = undefined;
|
134
134
|
let lastConnectOptions;
|
135
|
-
|
135
|
+
return {
|
136
136
|
id: "smart",
|
137
137
|
subscribe: emitter.subscribe,
|
138
138
|
getChain() {
|
@@ -146,8 +146,8 @@ function smartWallet(createOptions) {
|
|
146
146
|
getAccount: () => account,
|
147
147
|
getAdminAccount: () => adminAccount,
|
148
148
|
autoConnect: async (options) => {
|
149
|
-
const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
150
|
-
const [connectedAccount, connectedChain] = await connectSmartWallet(
|
149
|
+
const { connectSmartAccount: connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
150
|
+
const [connectedAccount, connectedChain] = await connectSmartWallet(options, createOptions);
|
151
151
|
// set the states
|
152
152
|
lastConnectOptions = options;
|
153
153
|
account = connectedAccount;
|
@@ -162,8 +162,8 @@ function smartWallet(createOptions) {
|
|
162
162
|
return account;
|
163
163
|
},
|
164
164
|
connect: async (options) => {
|
165
|
-
const {
|
166
|
-
const [connectedAccount, connectedChain] = await
|
165
|
+
const { connectSmartAccount } = await Promise.resolve().then(() => require("./index.js"));
|
166
|
+
const [connectedAccount, connectedChain] = await connectSmartAccount(options, createOptions);
|
167
167
|
// set the states
|
168
168
|
adminAccount = options.personalAccount;
|
169
169
|
lastConnectOptions = options;
|
@@ -180,10 +180,13 @@ function smartWallet(createOptions) {
|
|
180
180
|
return account;
|
181
181
|
},
|
182
182
|
disconnect: async () => {
|
183
|
+
if (account) {
|
184
|
+
const { disconnectSmartAccount } = await Promise.resolve().then(() => require("./index.js"));
|
185
|
+
await disconnectSmartAccount(account);
|
186
|
+
}
|
183
187
|
account = undefined;
|
188
|
+
adminAccount = undefined;
|
184
189
|
chain = undefined;
|
185
|
-
const { disconnectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
186
|
-
await disconnectSmartWallet(_smartWallet);
|
187
190
|
emitter.emit("disconnect", undefined);
|
188
191
|
},
|
189
192
|
switchChain: async (newChain) => {
|
@@ -204,14 +207,13 @@ function smartWallet(createOptions) {
|
|
204
207
|
throw new Error(`Factory contract not deployed on chain: ${newChain.id}`);
|
205
208
|
}
|
206
209
|
}
|
207
|
-
const {
|
208
|
-
const [connectedAccount, connectedChain] = await
|
210
|
+
const { connectSmartAccount } = await Promise.resolve().then(() => require("./index.js"));
|
211
|
+
const [connectedAccount, connectedChain] = await connectSmartAccount({ ...lastConnectOptions, chain: newChain }, createOptions);
|
209
212
|
// set the states
|
210
213
|
account = connectedAccount;
|
211
214
|
chain = connectedChain;
|
212
215
|
emitter.emit("chainChanged", newChain);
|
213
216
|
},
|
214
217
|
};
|
215
|
-
return _smartWallet;
|
216
218
|
}
|
217
219
|
//# sourceMappingURL=smart-wallet.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":";;AAkIA,kCA6GC;AA/OD,iEAAgE;AAEhE,oDAA+D;AAC/D,4DAAyD;AACzD,kFAA4E;AAC5E,0FAAkF;AAElF,4DAA2D;AAE3D,qDAA8D;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHG;AACH,SAAgB,WAAW,CACzB,aAAiC;IAEjC,MAAM,OAAO,GAAG,IAAA,uCAAmB,GAAW,CAAC;IAC/C,IAAI,OAAO,GAAwB,SAAS,CAAC;IAC7C,IAAI,YAAY,GAAwB,SAAS,CAAC;IAClD,IAAI,KAAK,GAAsB,SAAS,CAAC;IACzC,IAAI,kBAA+D,CAAC;IAEpE,
|
1
|
+
{"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
|