thirdweb 5.34.0-nightly-f6ff5a78fc2d65f0f250b154f1405210ca57ce0a-20240708000345 → 5.34.0-nightly-95c9d3d92406de619cb1e4cccc61b0766dd2a0d4-20240708205331
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/auth/core/verify-jwt.js +1 -1
- package/dist/cjs/auth/core/verify-jwt.js.map +1 -1
- package/dist/cjs/auth/verify-hash.js +98 -0
- package/dist/cjs/auth/verify-hash.js.map +1 -0
- package/dist/cjs/auth/verify-signature.js +5 -60
- package/dist/cjs/auth/verify-signature.js.map +1 -1
- package/dist/cjs/auth/verify-typed-data.js +80 -0
- package/dist/cjs/auth/verify-typed-data.js.map +1 -0
- package/dist/cjs/chains/chain-definitions/blast.js +17 -0
- package/dist/cjs/chains/chain-definitions/blast.js.map +1 -0
- package/dist/cjs/exports/chains.js +3 -1
- package/dist/cjs/exports/chains.js.map +1 -1
- package/dist/cjs/exports/extensions/erc20.js +3 -1
- package/dist/cjs/exports/extensions/erc20.js.map +1 -1
- package/dist/cjs/exports/utils.js +10 -1
- package/dist/cjs/exports/utils.js.map +1 -1
- package/dist/cjs/exports/wallets/smart.js +10 -1
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/extensions/erc1271/checkContractWalletSignature.js +1 -0
- package/dist/cjs/extensions/erc1271/checkContractWalletSignature.js.map +1 -1
- package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js +1 -0
- package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/transferBatch.js +61 -0
- package/dist/cjs/extensions/erc20/write/transferBatch.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +21 -12
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +4 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +1 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +1 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +4 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/tx-history/BuyTxHistoryButton.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/tx-history/TokenInfoRow.js +1 -1
- package/dist/cjs/utils/hashing/hashTypedData.js +122 -0
- package/dist/cjs/utils/hashing/hashTypedData.js.map +1 -0
- package/dist/cjs/utils/jwt/decode-jwt.js +2 -2
- package/dist/cjs/utils/jwt/decode-jwt.js.map +1 -1
- package/dist/cjs/utils/jwt/refresh-jwt.js +1 -1
- package/dist/cjs/utils/jwt/refresh-jwt.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/smart/index.js +19 -9
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js +57 -9
- package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/calls.js +31 -21
- package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/paymaster.js +5 -6
- package/dist/cjs/wallets/smart/lib/paymaster.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/userop.js +45 -21
- package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
- package/dist/esm/auth/core/verify-jwt.js +2 -2
- package/dist/esm/auth/core/verify-jwt.js.map +1 -1
- package/dist/esm/auth/verify-hash.js +95 -0
- package/dist/esm/auth/verify-hash.js.map +1 -0
- package/dist/esm/auth/verify-signature.js +6 -61
- package/dist/esm/auth/verify-signature.js.map +1 -1
- package/dist/esm/auth/verify-typed-data.js +77 -0
- package/dist/esm/auth/verify-typed-data.js.map +1 -0
- package/dist/esm/chains/chain-definitions/blast.js +14 -0
- package/dist/esm/chains/chain-definitions/blast.js.map +1 -0
- package/dist/esm/exports/chains.js +1 -0
- package/dist/esm/exports/chains.js.map +1 -1
- package/dist/esm/exports/extensions/erc20.js +1 -0
- package/dist/esm/exports/extensions/erc20.js.map +1 -1
- package/dist/esm/exports/utils.js +6 -0
- package/dist/esm/exports/utils.js.map +1 -1
- package/dist/esm/exports/wallets/smart.js +3 -1
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/extensions/erc1271/checkContractWalletSignature.js +1 -0
- package/dist/esm/extensions/erc1271/checkContractWalletSignature.js.map +1 -1
- package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js +1 -0
- package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
- package/dist/esm/extensions/erc20/write/transferBatch.js +58 -0
- package/dist/esm/extensions/erc20/write/transferBatch.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +21 -12
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +4 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +1 -3
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +1 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +4 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/tx-history/BuyTxHistoryButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/tx-history/TokenInfoRow.js +1 -1
- package/dist/esm/utils/hashing/hashTypedData.js +118 -0
- package/dist/esm/utils/hashing/hashTypedData.js.map +1 -0
- package/dist/esm/utils/jwt/decode-jwt.js +1 -1
- package/dist/esm/utils/jwt/decode-jwt.js.map +1 -1
- package/dist/esm/utils/jwt/refresh-jwt.js +2 -2
- package/dist/esm/utils/jwt/refresh-jwt.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/smart/index.js +19 -9
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js +56 -8
- package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/esm/wallets/smart/lib/calls.js +31 -21
- package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
- package/dist/esm/wallets/smart/lib/paymaster.js +5 -6
- package/dist/esm/wallets/smart/lib/paymaster.js.map +1 -1
- package/dist/esm/wallets/smart/lib/userop.js +46 -22
- package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
- package/dist/types/auth/verify-hash.d.ts +45 -0
- package/dist/types/auth/verify-hash.d.ts.map +1 -0
- package/dist/types/auth/verify-signature.d.ts.map +1 -1
- package/dist/types/auth/verify-typed-data.d.ts +75 -0
- package/dist/types/auth/verify-typed-data.d.ts.map +1 -0
- package/dist/types/chains/chain-definitions/blast.d.ts +27 -0
- package/dist/types/chains/chain-definitions/blast.d.ts.map +1 -0
- package/dist/types/exports/chains.d.ts +1 -0
- package/dist/types/exports/chains.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc20.d.ts +1 -0
- package/dist/types/exports/extensions/erc20.d.ts.map +1 -1
- package/dist/types/exports/utils.d.ts +4 -0
- package/dist/types/exports/utils.d.ts.map +1 -1
- package/dist/types/exports/wallets/smart.d.ts +3 -1
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/extensions/erc1271/checkContractWalletSignature.d.ts +1 -0
- package/dist/types/extensions/erc1271/checkContractWalletSignature.d.ts.map +1 -1
- package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts +1 -0
- package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/transferBatch.d.ts +42 -0
- package/dist/types/extensions/erc20/write/transferBatch.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
- package/dist/types/utils/hashing/hashTypedData.d.ts +17 -0
- package/dist/types/utils/hashing/hashTypedData.d.ts.map +1 -0
- package/dist/types/utils/jwt/decode-jwt.d.ts +1 -1
- package/dist/types/utils/jwt/decode-jwt.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/bundler.d.ts +53 -5
- package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/calls.d.ts +25 -7
- package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/paymaster.d.ts +7 -2
- package/dist/types/wallets/smart/lib/paymaster.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/userop.d.ts +15 -4
- package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
- package/dist/types/wallets/smart/types.d.ts +4 -2
- package/dist/types/wallets/smart/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/auth/core/verify-jwt.ts +2 -2
- package/src/auth/verify-hash.test.ts +66 -0
- package/src/auth/verify-hash.ts +126 -0
- package/src/auth/verify-signature.ts +6 -77
- package/src/auth/verify-typed-data.test.ts +82 -0
- package/src/auth/verify-typed-data.ts +110 -0
- package/src/chains/chain-definitions/blast.ts +14 -0
- package/src/exports/chains.ts +1 -0
- package/src/exports/extensions/erc20.ts +4 -0
- package/src/exports/utils.ts +8 -0
- package/src/exports/wallets/smart.ts +14 -1
- package/src/extensions/erc1271/checkContractWalletSignature.ts +1 -0
- package/src/extensions/erc1271/checkContractWalletSignedTypedData.ts +1 -0
- package/src/extensions/erc20/write/transferBatch.ts +78 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +42 -12
- package/src/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +5 -5
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +1 -5
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +1 -6
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +2 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.tsx +4 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/tx-history/BuyTxHistoryButton.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/tx-history/TokenInfoRow.tsx +1 -1
- package/src/utils/hashing/hashTypedData.test.ts +207 -0
- package/src/utils/hashing/hashTypedData.ts +210 -0
- package/src/utils/jwt/decode-jwt.ts +1 -1
- package/src/utils/jwt/refresh-jwt.ts +2 -2
- package/src/version.ts +1 -1
- package/src/wallets/smart/index.ts +19 -9
- package/src/wallets/smart/lib/bundler.ts +56 -9
- package/src/wallets/smart/lib/calls.ts +67 -28
- package/src/wallets/smart/lib/paymaster.ts +12 -13
- package/src/wallets/smart/lib/userop.ts +74 -30
- package/src/wallets/smart/types.ts +6 -6
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hashTypedData.js","sourceRoot":"","sources":["../../../../src/utils/hashing/hashTypedData.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.decodeJWT = decodeJWT;
|
4
4
|
const uint8_array_js_1 = require("../uint8-array.js");
|
5
5
|
const jwt_header_js_1 = require("./jwt-header.js");
|
6
6
|
/**
|
@@ -15,7 +15,7 @@ const jwt_header_js_1 = require("./jwt-header.js");
|
|
15
15
|
* const { payload, signature } = decodeJWT(jwt);
|
16
16
|
* ```
|
17
17
|
*/
|
18
|
-
function
|
18
|
+
function decodeJWT(jwt) {
|
19
19
|
const [encodedHeader, encodedPayload, encodedSignature] = jwt.split(".");
|
20
20
|
if (encodedHeader !== jwt_header_js_1.PRECOMPILED_B64_ENCODED_JWT_HEADER) {
|
21
21
|
throw new Error("Invalid JWT header");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decode-jwt.js","sourceRoot":"","sources":["../../../../src/utils/jwt/decode-jwt.ts"],"names":[],"mappings":";;AAiBA,
|
1
|
+
{"version":3,"file":"decode-jwt.js","sourceRoot":"","sources":["../../../../src/utils/jwt/decode-jwt.ts"],"names":[],"mappings":";;AAiBA,8BAiBC;AAjCD,sDAAmD;AACnD,mDAAqE;AAGrE;;;;;;;;;;;GAWG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEzE,IAAI,aAAa,KAAK,kDAAkC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAe,IAAI,CAAC,KAAK,CAAC,IAAA,+BAAc,EAAC,cAAc,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAA,+BAAc,EAAC,gBAAgB,CAAQ,CAAC;IAE1D,OAAO;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC"}
|
@@ -21,7 +21,7 @@ const DEFAULT_EXPIRATION_TIME = 60 * 60 * 24;
|
|
21
21
|
*/
|
22
22
|
async function refreshJWT(options) {
|
23
23
|
const { account, jwt, expirationTime = DEFAULT_EXPIRATION_TIME } = options;
|
24
|
-
const payload = (0, decode_jwt_js_1.
|
24
|
+
const payload = (0, decode_jwt_js_1.decodeJWT)(jwt).payload;
|
25
25
|
return (0, encode_jwt_js_1.encodeJWT)({
|
26
26
|
payload: {
|
27
27
|
iss: payload.iss,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"refresh-jwt.js","sourceRoot":"","sources":["../../../../src/utils/jwt/refresh-jwt.ts"],"names":[],"mappings":";;AA2BA,gCAeC;AAzCD,
|
1
|
+
{"version":3,"file":"refresh-jwt.js","sourceRoot":"","sources":["../../../../src/utils/jwt/refresh-jwt.ts"],"names":[],"mappings":";;AA2BA,gCAeC;AAzCD,mDAA4C;AAC5C,mDAA4C;AAE5C,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAQ7C;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,UAAU,CAAC,OAAyB;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,uBAAuB,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAA,yBAAS,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACvC,OAAO,IAAA,yBAAS,EAAC;QACf,OAAO,EAAE;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,IAAI,IAAI,EAAE;YACf,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YAC1C,GAAG,EAAE,IAAI,IAAI,EAAE;YACf,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB;QACD,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cjs/version.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.version = void 0;
|
4
|
-
exports.version = "5.34.0-nightly-
|
4
|
+
exports.version = "5.34.0-nightly-95c9d3d92406de619cb1e4cccc61b0766dd2a0d4-20240708205331";
|
5
5
|
//# sourceMappingURL=version.js.map
|
@@ -58,9 +58,11 @@ async function connectSmartWallet(wallet, connectionOptions, creationOptions) {
|
|
58
58
|
chain: chain,
|
59
59
|
});
|
60
60
|
// TODO: listen for chainChanged event on the personal wallet and emit the disconnect event on the smart wallet
|
61
|
-
const accountAddress = await (0, calls_js_1.predictAddress)(
|
62
|
-
|
63
|
-
|
61
|
+
const accountAddress = await (0, calls_js_1.predictAddress)({
|
62
|
+
factoryContract,
|
63
|
+
adminAddress: personalAccount.address,
|
64
|
+
predictAddressOverride: options.overrides?.predictAddress,
|
65
|
+
accountSalt: options.overrides?.accountSalt,
|
64
66
|
})
|
65
67
|
.then((address) => address)
|
66
68
|
.catch((err) => {
|
@@ -103,8 +105,8 @@ async function createSmartAccount(options) {
|
|
103
105
|
async sendTransaction(transaction) {
|
104
106
|
const executeTx = (0, calls_js_1.prepareExecute)({
|
105
107
|
accountContract,
|
106
|
-
options,
|
107
108
|
transaction,
|
109
|
+
executeOverride: options.overrides?.execute,
|
108
110
|
});
|
109
111
|
return _sendUserOp({
|
110
112
|
executeTx,
|
@@ -114,8 +116,8 @@ async function createSmartAccount(options) {
|
|
114
116
|
async sendBatchTransaction(transactions) {
|
115
117
|
const executeTx = (0, calls_js_1.prepareBatchExecute)({
|
116
118
|
accountContract,
|
117
|
-
options,
|
118
119
|
transactions,
|
120
|
+
executeBatchOverride: options.overrides?.executeBatch,
|
119
121
|
});
|
120
122
|
return _sendUserOp({
|
121
123
|
executeTx,
|
@@ -275,8 +277,9 @@ function createZkSyncAccount(args) {
|
|
275
277
|
const pmData = await (0, bundler_js_1.getZkPaymasterData)({
|
276
278
|
options: {
|
277
279
|
client: connectionOptions.client,
|
278
|
-
overrides: creationOptions.overrides,
|
279
280
|
chain,
|
281
|
+
bundlerUrl: creationOptions.overrides?.bundlerUrl,
|
282
|
+
entrypointAddress: creationOptions.overrides?.entrypointAddress,
|
280
283
|
},
|
281
284
|
transaction: serializableTransaction,
|
282
285
|
});
|
@@ -295,8 +298,9 @@ function createZkSyncAccount(args) {
|
|
295
298
|
const txHash = await (0, bundler_js_1.broadcastZkTransaction)({
|
296
299
|
options: {
|
297
300
|
client: connectionOptions.client,
|
298
|
-
overrides: creationOptions.overrides,
|
299
301
|
chain,
|
302
|
+
bundlerUrl: creationOptions.overrides?.bundlerUrl,
|
303
|
+
entrypointAddress: creationOptions.overrides?.entrypointAddress,
|
300
304
|
},
|
301
305
|
transaction: serializableTransaction,
|
302
306
|
signedTransaction,
|
@@ -343,10 +347,16 @@ async function _sendUserOp(args) {
|
|
343
347
|
const { executeTx, options } = args;
|
344
348
|
const unsignedUserOp = await (0, userop_js_1.createUnsignedUserOp)({
|
345
349
|
transaction: executeTx,
|
346
|
-
options,
|
350
|
+
factoryContract: options.factoryContract,
|
351
|
+
accountContract: options.accountContract,
|
352
|
+
adminAddress: options.personalAccount.address,
|
353
|
+
sponsorGas: options.sponsorGas,
|
354
|
+
overrides: options.overrides,
|
347
355
|
});
|
348
356
|
const signedUserOp = await (0, userop_js_1.signUserOp)({
|
349
|
-
options,
|
357
|
+
chain: options.chain,
|
358
|
+
adminAccount: options.personalAccount,
|
359
|
+
entrypointAddress: options.overrides?.entrypointAddress,
|
350
360
|
userOp: unsignedUserOp,
|
351
361
|
});
|
352
362
|
const userOpHash = await (0, bundler_js_1.bundleUserOp)({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":";;;AAwDA,sCAIC;AAgBD,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":"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"}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.bundleUserOp = bundleUserOp;
|
4
4
|
exports.estimateUserOpGas = estimateUserOpGas;
|
5
|
-
exports.
|
5
|
+
exports.getUserOpGasFees = getUserOpGasFees;
|
6
6
|
exports.getUserOpReceipt = getUserOpReceipt;
|
7
7
|
exports.getZkPaymasterData = getZkPaymasterData;
|
8
8
|
exports.broadcastZkTransaction = broadcastZkTransaction;
|
@@ -15,7 +15,19 @@ const json_js_1 = require("../../../utils/json.js");
|
|
15
15
|
const constants_js_1 = require("./constants.js");
|
16
16
|
const utils_js_1 = require("./utils.js");
|
17
17
|
/**
|
18
|
-
*
|
18
|
+
* Bundle a user operation.
|
19
|
+
* @param args - The options for bundling a user operation.
|
20
|
+
* @returns The bundle hash of the user operation.
|
21
|
+
* @example
|
22
|
+
* ```ts
|
23
|
+
* import { bundleUserOp } from "thirdweb/wallets/smart";
|
24
|
+
*
|
25
|
+
* const userOpHash = await bundleUserOp({
|
26
|
+
* userOp,
|
27
|
+
* options,
|
28
|
+
* });
|
29
|
+
* ```
|
30
|
+
* @walletUtils
|
19
31
|
*/
|
20
32
|
async function bundleUserOp(args) {
|
21
33
|
return sendBundlerRequest({
|
@@ -23,12 +35,24 @@ async function bundleUserOp(args) {
|
|
23
35
|
operation: "eth_sendUserOperation",
|
24
36
|
params: [
|
25
37
|
(0, utils_js_1.hexlifyUserOp)(args.userOp),
|
26
|
-
args.options.
|
38
|
+
args.options.entrypointAddress ?? constants_js_1.ENTRYPOINT_ADDRESS_v0_6,
|
27
39
|
],
|
28
40
|
});
|
29
41
|
}
|
30
42
|
/**
|
31
|
-
*
|
43
|
+
* Estimate the gas cost of a user operation.
|
44
|
+
* @param args - The options for estimating the gas cost of a user operation.
|
45
|
+
* @returns The estimated gas cost of the user operation.
|
46
|
+
* @example
|
47
|
+
* ```ts
|
48
|
+
* import { estimateUserOpGas } from "thirdweb/wallets/smart";
|
49
|
+
*
|
50
|
+
* const gasCost = await estimateUserOpGas({
|
51
|
+
* userOp,
|
52
|
+
* options,
|
53
|
+
* });
|
54
|
+
* ```
|
55
|
+
* @walletUtils
|
32
56
|
*/
|
33
57
|
async function estimateUserOpGas(args) {
|
34
58
|
const res = await sendBundlerRequest({
|
@@ -36,7 +60,7 @@ async function estimateUserOpGas(args) {
|
|
36
60
|
operation: "eth_estimateUserOperationGas",
|
37
61
|
params: [
|
38
62
|
(0, utils_js_1.hexlifyUserOp)(args.userOp),
|
39
|
-
args.options.
|
63
|
+
args.options.entrypointAddress ?? constants_js_1.ENTRYPOINT_ADDRESS_v0_6,
|
40
64
|
],
|
41
65
|
});
|
42
66
|
// add gas buffer for managed account factory delegate calls
|
@@ -48,9 +72,20 @@ async function estimateUserOpGas(args) {
|
|
48
72
|
};
|
49
73
|
}
|
50
74
|
/**
|
51
|
-
*
|
75
|
+
* Get the gas fees of a user operation.
|
76
|
+
* @param args - The options for getting the gas price of a user operation.
|
77
|
+
* @returns The gas price of the user operation.
|
78
|
+
* @example
|
79
|
+
* ```ts
|
80
|
+
* import { getUserOpGasPrice } from "thirdweb/wallets/smart";
|
81
|
+
*
|
82
|
+
* const fees = await getUserOpGasPrice({
|
83
|
+
* options,
|
84
|
+
* });
|
85
|
+
* ```
|
86
|
+
* @walletUtils
|
52
87
|
*/
|
53
|
-
async function
|
88
|
+
async function getUserOpGasFees(args) {
|
54
89
|
const res = await sendBundlerRequest({
|
55
90
|
...args,
|
56
91
|
operation: "thirdweb_getUserOperationGasPrice",
|
@@ -62,7 +97,20 @@ async function getUserOpGasPrice(args) {
|
|
62
97
|
};
|
63
98
|
}
|
64
99
|
/**
|
65
|
-
*
|
100
|
+
* Get the receipt of a user operation.
|
101
|
+
* @param args - The options for getting the receipt of a user operation.
|
102
|
+
* @returns The receipt of the user operation.
|
103
|
+
* @example
|
104
|
+
* ```ts
|
105
|
+
* import { getUserOpReceipt } from "thirdweb/wallets/smart";
|
106
|
+
*
|
107
|
+
* const receipt = await getUserOpReceipt({
|
108
|
+
* client,
|
109
|
+
* chain,
|
110
|
+
* userOpHash,
|
111
|
+
* });
|
112
|
+
* ```
|
113
|
+
* @walletUtils
|
66
114
|
*/
|
67
115
|
async function getUserOpReceipt(args) {
|
68
116
|
const res = await sendBundlerRequest({
|
@@ -124,7 +172,7 @@ async function sendBundlerRequest(args) {
|
|
124
172
|
if (constants_js_1.DEBUG) {
|
125
173
|
console.debug(`>>> sending ${operation} with payload:`, params);
|
126
174
|
}
|
127
|
-
const bundlerUrl = options.
|
175
|
+
const bundlerUrl = options.bundlerUrl ?? (0, constants_js_1.getDefaultBundlerUrl)(options.chain);
|
128
176
|
const fetchWithHeaders = (0, fetch_js_1.getClientFetch)(options.client);
|
129
177
|
const response = await fetchWithHeaders(bundlerUrl, {
|
130
178
|
method: "POST",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/bundler.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/bundler.ts"],"names":[],"mappings":"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"}
|
@@ -8,20 +8,33 @@ const prepare_contract_call_js_1 = require("../../../transaction/prepare-contrac
|
|
8
8
|
const read_contract_js_1 = require("../../../transaction/read-contract.js");
|
9
9
|
const hex_js_1 = require("../../../utils/encoding/hex.js");
|
10
10
|
/**
|
11
|
-
*
|
11
|
+
* Predict the address of a smart account.
|
12
|
+
* @param args - The options for predicting the address of a smart account.
|
13
|
+
* @returns The predicted address of the smart account.
|
14
|
+
* @example
|
15
|
+
* ```ts
|
16
|
+
* import { predictAddress } from "thirdweb/wallets/smart";
|
17
|
+
*
|
18
|
+
* const predictedAddress = await predictAddress({
|
19
|
+
* factoryContract,
|
20
|
+
* adminAddress,
|
21
|
+
* accountSalt,
|
22
|
+
* });
|
23
|
+
* ```
|
24
|
+
* @walletUtils
|
12
25
|
*/
|
13
|
-
async function predictAddress(
|
14
|
-
|
15
|
-
|
26
|
+
async function predictAddress(args) {
|
27
|
+
const { factoryContract, predictAddressOverride: predictAddress, adminAddress, accountSalt, accountAddress, } = args;
|
28
|
+
if (predictAddress) {
|
29
|
+
return predictAddress(factoryContract);
|
16
30
|
}
|
17
|
-
if (
|
18
|
-
return
|
31
|
+
if (accountAddress) {
|
32
|
+
return accountAddress;
|
19
33
|
}
|
20
|
-
const adminAddress = options.personalAccountAddress;
|
21
34
|
if (!adminAddress) {
|
22
35
|
throw new Error("Account address is required to predict the smart wallet address.");
|
23
36
|
}
|
24
|
-
const extraData = (0, hex_js_1.stringToHex)(
|
37
|
+
const extraData = (0, hex_js_1.stringToHex)(accountSalt ?? "");
|
25
38
|
return (0, read_contract_js_1.readContract)({
|
26
39
|
contract: factoryContract,
|
27
40
|
method: "function getAddress(address, bytes) returns (address)",
|
@@ -32,26 +45,23 @@ async function predictAddress(factoryContract, options) {
|
|
32
45
|
* @internal
|
33
46
|
*/
|
34
47
|
function prepareCreateAccount(args) {
|
35
|
-
const { factoryContract,
|
36
|
-
if (
|
37
|
-
return
|
48
|
+
const { adminAddress, factoryContract, createAccountOverride: createAccount, accountSalt, } = args;
|
49
|
+
if (createAccount) {
|
50
|
+
return createAccount(factoryContract);
|
38
51
|
}
|
39
52
|
return (0, prepare_contract_call_js_1.prepareContractCall)({
|
40
53
|
contract: factoryContract,
|
41
54
|
method: "function createAccount(address, bytes) returns (address)",
|
42
|
-
params: [
|
43
|
-
options.personalAccount.address,
|
44
|
-
(0, hex_js_1.stringToHex)(options.overrides?.accountSalt ?? ""),
|
45
|
-
],
|
55
|
+
params: [adminAddress, (0, hex_js_1.stringToHex)(accountSalt ?? "")],
|
46
56
|
});
|
47
57
|
}
|
48
58
|
/**
|
49
59
|
* @internal
|
50
60
|
*/
|
51
61
|
function prepareExecute(args) {
|
52
|
-
const { accountContract,
|
53
|
-
if (
|
54
|
-
return
|
62
|
+
const { accountContract, transaction, executeOverride: execute } = args;
|
63
|
+
if (execute) {
|
64
|
+
return execute(accountContract, transaction);
|
55
65
|
}
|
56
66
|
return (0, prepare_contract_call_js_1.prepareContractCall)({
|
57
67
|
contract: accountContract,
|
@@ -67,9 +77,9 @@ function prepareExecute(args) {
|
|
67
77
|
* @internal
|
68
78
|
*/
|
69
79
|
function prepareBatchExecute(args) {
|
70
|
-
const { accountContract,
|
71
|
-
if (
|
72
|
-
return
|
80
|
+
const { accountContract, transactions, executeBatchOverride: executeBatch, } = args;
|
81
|
+
if (executeBatch) {
|
82
|
+
return executeBatch(accountContract, transactions);
|
73
83
|
}
|
74
84
|
return (0, prepare_contract_call_js_1.prepareContractCall)({
|
75
85
|
contract: accountContract,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":";;AAuBA,wCAiCC;AAKD,oDAsBC;AAKD,wCAqBC;AAKD,kDAyBC;AA1ID,4FAAoF;AAEpF,4EAAqE;AACrE,2DAA6D;AAG7D;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CAAC,IAQpC;IACC,MAAM,EACJ,eAAe,EACf,sBAAsB,EAAE,cAAc,EACtC,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,IAAI,CAAC;IACT,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,uDAAuD;QAC/D,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAOpC;IACC,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,qBAAqB,EAAE,aAAa,EACpC,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAA,8CAAmB,EAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,0DAA0D;QAClE,MAAM,EAAE,CAAC,YAAY,EAAE,IAAA,oBAAW,EAAC,WAAW,IAAI,EAAE,CAAC,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAO9B;IACC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAA,8CAAmB,EAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,2CAA2C;QACnD,MAAM,EAAE;YACN,WAAW,CAAC,EAAE,IAAI,EAAE;YACpB,WAAW,CAAC,KAAK,IAAI,EAAE;YACvB,WAAW,CAAC,IAAI,IAAI,IAAI;SACzB;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAOnC;IACC,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,oBAAoB,EAAE,YAAY,GACnC,GAAG,IAAI,CAAC;IACT,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAA,8CAAmB,EAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,sDAAsD;QAC9D,MAAM,EAAE;YACN,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YACrC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -10,16 +10,15 @@ const utils_js_1 = require("./utils.js");
|
|
10
10
|
* @internal
|
11
11
|
*/
|
12
12
|
async function getPaymasterAndData(args) {
|
13
|
-
const { userOp,
|
14
|
-
if (
|
15
|
-
return
|
13
|
+
const { userOp, paymasterOverride, client, chain, entrypointAddress } = args;
|
14
|
+
if (paymasterOverride) {
|
15
|
+
return paymasterOverride(userOp);
|
16
16
|
}
|
17
17
|
const headers = {
|
18
18
|
"Content-Type": "application/json",
|
19
19
|
};
|
20
|
-
const
|
21
|
-
const
|
22
|
-
const entrypoint = options.overrides?.entrypointAddress ?? constants_js_1.ENTRYPOINT_ADDRESS_v0_6;
|
20
|
+
const paymasterUrl = (0, constants_js_1.getDefaultPaymasterUrl)(chain);
|
21
|
+
const entrypoint = entrypointAddress ?? constants_js_1.ENTRYPOINT_ADDRESS_v0_6;
|
23
22
|
// Ask the paymaster to sign the transaction and return a valid paymasterAndData value.
|
24
23
|
const fetchWithHeaders = (0, fetch_js_1.getClientFetch)(client);
|
25
24
|
const response = await fetchWithHeaders(paymasterUrl, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"paymaster.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/paymaster.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"paymaster.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/paymaster.ts"],"names":[],"mappings":";;AAgBA,kDAwEC;AAtFD,2DAA6D;AAC7D,sDAAyD;AAEzD,iDAIwB;AACxB,yCAA2C;AAE3C;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CAAC,IAMzC;IACC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAE7E,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,qCAAsB,EAAC,KAAK,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,iBAAiB,IAAI,sCAAuB,CAAC;IAEhE,uFAAuF;IACvF,MAAM,gBAAgB,GAAG,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE;QACpD,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,EAAE,UAAU,CAAC;SAC5C,CAAC;KACH,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC;QAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;QAEnC,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK;UACrB,QAAQ,CAAC,MAAM;QACjB,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,IAAI,oBAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,wEAAwE;QACxE,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO;gBACL,gBAAgB,EAAE,GAAG,CAAC,MAAM;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB;YAC7C,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,oBAAoB;gBACnD,CAAC,CAAC,IAAA,oBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC;gBAC9C,CAAC,CAAC,SAAS;YACb,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,kBAAkB;gBAC/C,CAAC,CAAC,IAAA,oBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBAC5C,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY;gBACnC,CAAC,CAAC,IAAA,oBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,IAAI,eAAe,CAAC;IAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
@@ -59,22 +59,38 @@ async function waitForUserOpReceipt(args) {
|
|
59
59
|
*
|
60
60
|
* const userOp = await createUnsignedUserOp({
|
61
61
|
* transaction,
|
62
|
-
*
|
62
|
+
* accountContract,
|
63
|
+
* sponsorGas,
|
64
|
+
* overrides,
|
63
65
|
* });
|
64
66
|
* ```
|
65
67
|
* @walletUtils
|
66
68
|
*/
|
67
69
|
async function createUnsignedUserOp(args) {
|
68
|
-
const { transaction: executeTx,
|
69
|
-
const
|
70
|
-
const
|
70
|
+
const { transaction: executeTx, accountContract, factoryContract, adminAddress, overrides, sponsorGas, } = args;
|
71
|
+
const chain = executeTx.chain;
|
72
|
+
const client = executeTx.client;
|
73
|
+
const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
|
74
|
+
const initCode = isDeployed
|
75
|
+
? "0x"
|
76
|
+
: await getAccountInitCode({
|
77
|
+
factoryContract: factoryContract,
|
78
|
+
adminAddress,
|
79
|
+
accountSalt: overrides?.accountSalt,
|
80
|
+
createAccountOverride: overrides?.createAccount,
|
81
|
+
});
|
71
82
|
const callData = await (0, encode_js_1.encode)(executeTx);
|
83
|
+
const bundlerOptions = {
|
84
|
+
client,
|
85
|
+
chain,
|
86
|
+
entrypointAddress: overrides?.entrypointAddress,
|
87
|
+
};
|
72
88
|
let { maxFeePerGas, maxPriorityFeePerGas } = executeTx;
|
73
|
-
const bundlerUrl =
|
89
|
+
const bundlerUrl = overrides?.bundlerUrl ?? (0, constants_js_1.getDefaultBundlerUrl)(chain);
|
74
90
|
if ((0, fetch_js_1.isThirdwebUrl)(bundlerUrl)) {
|
75
91
|
// get gas prices from bundler
|
76
|
-
const bundlerGasPrice = await (0, bundler_js_1.
|
77
|
-
options,
|
92
|
+
const bundlerGasPrice = await (0, bundler_js_1.getUserOpGasFees)({
|
93
|
+
options: bundlerOptions,
|
78
94
|
});
|
79
95
|
maxFeePerGas = bundlerGasPrice.maxFeePerGas;
|
80
96
|
maxPriorityFeePerGas = bundlerGasPrice.maxPriorityFeePerGas;
|
@@ -92,7 +108,7 @@ async function createUnsignedUserOp(args) {
|
|
92
108
|
}
|
93
109
|
else {
|
94
110
|
// Fallback to RPC gas prices if no explicit values provided
|
95
|
-
const feeData = await (0, fee_data_js_1.getDefaultGasOverrides)(
|
111
|
+
const feeData = await (0, fee_data_js_1.getDefaultGasOverrides)(client, chain);
|
96
112
|
// Still check for explicit values in case one is provided and not the other
|
97
113
|
maxPriorityFeePerGas =
|
98
114
|
resolvedMaxPriorityFeePerGas ?? feeData.maxPriorityFeePerGas ?? 0n;
|
@@ -102,7 +118,7 @@ async function createUnsignedUserOp(args) {
|
|
102
118
|
// const nonce = BigInt(transaction.nonce || randomNonce());
|
103
119
|
const nonce = (0, utils_js_1.randomNonce)(); // FIXME getNonce should be overrideable by the wallet
|
104
120
|
const partialOp = {
|
105
|
-
sender:
|
121
|
+
sender: accountContract.address,
|
106
122
|
nonce,
|
107
123
|
initCode,
|
108
124
|
callData,
|
@@ -114,10 +130,13 @@ async function createUnsignedUserOp(args) {
|
|
114
130
|
paymasterAndData: "0x",
|
115
131
|
signature: constants_js_1.DUMMY_SIGNATURE,
|
116
132
|
};
|
117
|
-
if (
|
133
|
+
if (sponsorGas) {
|
118
134
|
const paymasterResult = await (0, paymaster_js_1.getPaymasterAndData)({
|
119
135
|
userOp: partialOp,
|
120
|
-
|
136
|
+
chain,
|
137
|
+
client,
|
138
|
+
entrypointAddress: overrides?.entrypointAddress,
|
139
|
+
paymasterOverride: overrides?.paymaster,
|
121
140
|
});
|
122
141
|
const paymasterAndData = paymasterResult.paymasterAndData;
|
123
142
|
if (paymasterAndData && paymasterAndData !== "0x") {
|
@@ -135,7 +154,7 @@ async function createUnsignedUserOp(args) {
|
|
135
154
|
// otherwise fallback to bundler for gas limits
|
136
155
|
const estimates = await (0, bundler_js_1.estimateUserOpGas)({
|
137
156
|
userOp: partialOp,
|
138
|
-
options,
|
157
|
+
options: bundlerOptions,
|
139
158
|
});
|
140
159
|
partialOp.callGasLimit = estimates.callGasLimit;
|
141
160
|
partialOp.verificationGasLimit = estimates.verificationGasLimit;
|
@@ -144,7 +163,10 @@ async function createUnsignedUserOp(args) {
|
|
144
163
|
if (paymasterAndData && paymasterAndData !== "0x") {
|
145
164
|
const paymasterResult2 = await (0, paymaster_js_1.getPaymasterAndData)({
|
146
165
|
userOp: partialOp,
|
147
|
-
|
166
|
+
chain,
|
167
|
+
client,
|
168
|
+
entrypointAddress: overrides?.entrypointAddress,
|
169
|
+
paymasterOverride: overrides?.paymaster,
|
148
170
|
});
|
149
171
|
if (paymasterResult2.paymasterAndData &&
|
150
172
|
paymasterResult2.paymasterAndData !== "0x") {
|
@@ -157,7 +179,7 @@ async function createUnsignedUserOp(args) {
|
|
157
179
|
// not gasless, so we just need to estimate gas limits
|
158
180
|
const estimates = await (0, bundler_js_1.estimateUserOpGas)({
|
159
181
|
userOp: partialOp,
|
160
|
-
options,
|
182
|
+
options: bundlerOptions,
|
161
183
|
});
|
162
184
|
partialOp.callGasLimit = estimates.callGasLimit;
|
163
185
|
partialOp.verificationGasLimit = estimates.verificationGasLimit;
|
@@ -186,14 +208,14 @@ async function createUnsignedUserOp(args) {
|
|
186
208
|
* @walletUtils
|
187
209
|
*/
|
188
210
|
async function signUserOp(args) {
|
189
|
-
const { userOp,
|
211
|
+
const { userOp, chain, entrypointAddress, adminAccount } = args;
|
190
212
|
const userOpHash = getUserOpHash({
|
191
213
|
userOp,
|
192
|
-
entryPoint:
|
193
|
-
chainId:
|
214
|
+
entryPoint: entrypointAddress || constants_js_1.ENTRYPOINT_ADDRESS_v0_6,
|
215
|
+
chainId: chain.id,
|
194
216
|
});
|
195
|
-
if (
|
196
|
-
const signature = await
|
217
|
+
if (adminAccount.signMessage) {
|
218
|
+
const signature = await adminAccount.signMessage({
|
197
219
|
message: {
|
198
220
|
raw: (0, to_bytes_js_1.hexToBytes)(userOpHash),
|
199
221
|
},
|
@@ -206,10 +228,12 @@ async function signUserOp(args) {
|
|
206
228
|
throw new Error("signMessage not implemented in signingAccount");
|
207
229
|
}
|
208
230
|
async function getAccountInitCode(options) {
|
209
|
-
const { factoryContract } = options;
|
231
|
+
const { factoryContract, adminAddress, accountSalt, createAccountOverride } = options;
|
210
232
|
const deployTx = (0, calls_js_1.prepareCreateAccount)({
|
211
233
|
factoryContract,
|
212
|
-
|
234
|
+
adminAddress,
|
235
|
+
accountSalt,
|
236
|
+
createAccountOverride,
|
213
237
|
});
|
214
238
|
return (0, viem_1.concat)([factoryContract.address, await (0, encode_js_1.encode)(deployTx)]);
|
215
239
|
}
|