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
@@ -1,4 +1,6 @@
|
|
1
1
|
import { concat } from "viem";
|
2
|
+
import type { Chain } from "../../../chains/types.js";
|
3
|
+
import type { ThirdwebContract } from "../../../contract/contract.js";
|
2
4
|
import { getDefaultGasOverrides } from "../../../gas/fee-data.js";
|
3
5
|
import { encode } from "../../../transaction/actions/encode.js";
|
4
6
|
import type { PreparedTransaction } from "../../../transaction/prepare-transaction.js";
|
@@ -10,14 +12,15 @@ import { hexToBytes } from "../../../utils/encoding/to-bytes.js";
|
|
10
12
|
import { isThirdwebUrl } from "../../../utils/fetch.js";
|
11
13
|
import { keccak256 } from "../../../utils/hashing/keccak256.js";
|
12
14
|
import { resolvePromisedValue } from "../../../utils/promise/resolve-promised-value.js";
|
15
|
+
import type { Account } from "../../interfaces/wallet.js";
|
13
16
|
import type {
|
14
17
|
BundlerOptions,
|
15
|
-
|
18
|
+
SmartWalletOptions,
|
16
19
|
UserOperation,
|
17
20
|
} from "../types.js";
|
18
21
|
import {
|
19
22
|
estimateUserOpGas,
|
20
|
-
|
23
|
+
getUserOpGasFees,
|
21
24
|
getUserOpReceipt,
|
22
25
|
} from "./bundler.js";
|
23
26
|
import { prepareCreateAccount } from "./calls.js";
|
@@ -78,27 +81,53 @@ export async function waitForUserOpReceipt(
|
|
78
81
|
*
|
79
82
|
* const userOp = await createUnsignedUserOp({
|
80
83
|
* transaction,
|
81
|
-
*
|
84
|
+
* accountContract,
|
85
|
+
* sponsorGas,
|
86
|
+
* overrides,
|
82
87
|
* });
|
83
88
|
* ```
|
84
89
|
* @walletUtils
|
85
90
|
*/
|
86
91
|
export async function createUnsignedUserOp(args: {
|
87
92
|
transaction: PreparedTransaction;
|
88
|
-
|
93
|
+
factoryContract: ThirdwebContract;
|
94
|
+
accountContract: ThirdwebContract;
|
95
|
+
adminAddress: string;
|
96
|
+
sponsorGas: boolean;
|
97
|
+
overrides?: SmartWalletOptions["overrides"];
|
89
98
|
}): Promise<UserOperation> {
|
90
|
-
const {
|
91
|
-
|
92
|
-
|
99
|
+
const {
|
100
|
+
transaction: executeTx,
|
101
|
+
accountContract,
|
102
|
+
factoryContract,
|
103
|
+
adminAddress,
|
104
|
+
overrides,
|
105
|
+
sponsorGas,
|
106
|
+
} = args;
|
107
|
+
const chain = executeTx.chain;
|
108
|
+
const client = executeTx.client;
|
109
|
+
const isDeployed = await isContractDeployed(accountContract);
|
110
|
+
const initCode = isDeployed
|
111
|
+
? "0x"
|
112
|
+
: await getAccountInitCode({
|
113
|
+
factoryContract: factoryContract,
|
114
|
+
adminAddress,
|
115
|
+
accountSalt: overrides?.accountSalt,
|
116
|
+
createAccountOverride: overrides?.createAccount,
|
117
|
+
});
|
93
118
|
const callData = await encode(executeTx);
|
119
|
+
const bundlerOptions = {
|
120
|
+
client,
|
121
|
+
chain,
|
122
|
+
entrypointAddress: overrides?.entrypointAddress,
|
123
|
+
};
|
94
124
|
|
95
125
|
let { maxFeePerGas, maxPriorityFeePerGas } = executeTx;
|
96
|
-
const bundlerUrl =
|
97
|
-
options.overrides?.bundlerUrl ?? getDefaultBundlerUrl(options.chain);
|
126
|
+
const bundlerUrl = overrides?.bundlerUrl ?? getDefaultBundlerUrl(chain);
|
98
127
|
if (isThirdwebUrl(bundlerUrl)) {
|
99
128
|
// get gas prices from bundler
|
100
|
-
const bundlerGasPrice = await
|
101
|
-
options,
|
129
|
+
const bundlerGasPrice = await getUserOpGasFees({
|
130
|
+
options: bundlerOptions,
|
102
131
|
});
|
103
132
|
maxFeePerGas = bundlerGasPrice.maxFeePerGas;
|
104
133
|
maxPriorityFeePerGas = bundlerGasPrice.maxPriorityFeePerGas;
|
@@ -116,10 +145,7 @@ export async function createUnsignedUserOp(args: {
|
|
116
145
|
maxPriorityFeePerGas = resolvedMaxPriorityFeePerGas;
|
117
146
|
} else {
|
118
147
|
// Fallback to RPC gas prices if no explicit values provided
|
119
|
-
const feeData = await getDefaultGasOverrides(
|
120
|
-
options.client,
|
121
|
-
options.chain,
|
122
|
-
);
|
148
|
+
const feeData = await getDefaultGasOverrides(client, chain);
|
123
149
|
|
124
150
|
// Still check for explicit values in case one is provided and not the other
|
125
151
|
maxPriorityFeePerGas =
|
@@ -132,7 +158,7 @@ export async function createUnsignedUserOp(args: {
|
|
132
158
|
const nonce = randomNonce(); // FIXME getNonce should be overrideable by the wallet
|
133
159
|
|
134
160
|
const partialOp: UserOperation = {
|
135
|
-
sender:
|
161
|
+
sender: accountContract.address,
|
136
162
|
nonce,
|
137
163
|
initCode,
|
138
164
|
callData,
|
@@ -145,10 +171,13 @@ export async function createUnsignedUserOp(args: {
|
|
145
171
|
signature: DUMMY_SIGNATURE,
|
146
172
|
};
|
147
173
|
|
148
|
-
if (
|
174
|
+
if (sponsorGas) {
|
149
175
|
const paymasterResult = await getPaymasterAndData({
|
150
176
|
userOp: partialOp,
|
151
|
-
|
177
|
+
chain,
|
178
|
+
client,
|
179
|
+
entrypointAddress: overrides?.entrypointAddress,
|
180
|
+
paymasterOverride: overrides?.paymaster,
|
152
181
|
});
|
153
182
|
const paymasterAndData = paymasterResult.paymasterAndData;
|
154
183
|
if (paymasterAndData && paymasterAndData !== "0x") {
|
@@ -167,7 +196,7 @@ export async function createUnsignedUserOp(args: {
|
|
167
196
|
// otherwise fallback to bundler for gas limits
|
168
197
|
const estimates = await estimateUserOpGas({
|
169
198
|
userOp: partialOp,
|
170
|
-
options,
|
199
|
+
options: bundlerOptions,
|
171
200
|
});
|
172
201
|
partialOp.callGasLimit = estimates.callGasLimit;
|
173
202
|
partialOp.verificationGasLimit = estimates.verificationGasLimit;
|
@@ -176,7 +205,10 @@ export async function createUnsignedUserOp(args: {
|
|
176
205
|
if (paymasterAndData && paymasterAndData !== "0x") {
|
177
206
|
const paymasterResult2 = await getPaymasterAndData({
|
178
207
|
userOp: partialOp,
|
179
|
-
|
208
|
+
chain,
|
209
|
+
client,
|
210
|
+
entrypointAddress: overrides?.entrypointAddress,
|
211
|
+
paymasterOverride: overrides?.paymaster,
|
180
212
|
});
|
181
213
|
if (
|
182
214
|
paymasterResult2.paymasterAndData &&
|
@@ -190,7 +222,7 @@ export async function createUnsignedUserOp(args: {
|
|
190
222
|
// not gasless, so we just need to estimate gas limits
|
191
223
|
const estimates = await estimateUserOpGas({
|
192
224
|
userOp: partialOp,
|
193
|
-
options,
|
225
|
+
options: bundlerOptions,
|
194
226
|
});
|
195
227
|
partialOp.callGasLimit = estimates.callGasLimit;
|
196
228
|
partialOp.verificationGasLimit = estimates.verificationGasLimit;
|
@@ -221,16 +253,18 @@ export async function createUnsignedUserOp(args: {
|
|
221
253
|
*/
|
222
254
|
export async function signUserOp(args: {
|
223
255
|
userOp: UserOperation;
|
224
|
-
|
256
|
+
chain: Chain;
|
257
|
+
entrypointAddress?: string;
|
258
|
+
adminAccount: Account;
|
225
259
|
}): Promise<UserOperation> {
|
226
|
-
const { userOp,
|
260
|
+
const { userOp, chain, entrypointAddress, adminAccount } = args;
|
227
261
|
const userOpHash = getUserOpHash({
|
228
262
|
userOp,
|
229
|
-
entryPoint:
|
230
|
-
chainId:
|
263
|
+
entryPoint: entrypointAddress || ENTRYPOINT_ADDRESS_v0_6,
|
264
|
+
chainId: chain.id,
|
231
265
|
});
|
232
|
-
if (
|
233
|
-
const signature = await
|
266
|
+
if (adminAccount.signMessage) {
|
267
|
+
const signature = await adminAccount.signMessage({
|
234
268
|
message: {
|
235
269
|
raw: hexToBytes(userOpHash),
|
236
270
|
},
|
@@ -243,11 +277,21 @@ export async function signUserOp(args: {
|
|
243
277
|
throw new Error("signMessage not implemented in signingAccount");
|
244
278
|
}
|
245
279
|
|
246
|
-
async function getAccountInitCode(options:
|
247
|
-
|
280
|
+
async function getAccountInitCode(options: {
|
281
|
+
factoryContract: ThirdwebContract;
|
282
|
+
adminAddress: string;
|
283
|
+
accountSalt?: string;
|
284
|
+
createAccountOverride?: (
|
285
|
+
factoryContract: ThirdwebContract,
|
286
|
+
) => PreparedTransaction;
|
287
|
+
}): Promise<Hex> {
|
288
|
+
const { factoryContract, adminAddress, accountSalt, createAccountOverride } =
|
289
|
+
options;
|
248
290
|
const deployTx = prepareCreateAccount({
|
249
291
|
factoryContract,
|
250
|
-
|
292
|
+
adminAddress,
|
293
|
+
accountSalt,
|
294
|
+
createAccountOverride,
|
251
295
|
});
|
252
296
|
return concat([factoryContract.address as Hex, await encode(deployTx)]);
|
253
297
|
}
|
@@ -55,12 +55,12 @@ export type SmartAccountOptions = Prettify<
|
|
55
55
|
}
|
56
56
|
>;
|
57
57
|
|
58
|
-
export type BundlerOptions =
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
58
|
+
export type BundlerOptions = {
|
59
|
+
bundlerUrl?: string;
|
60
|
+
entrypointAddress?: string;
|
61
|
+
chain: Chain;
|
62
|
+
client: ThirdwebClient;
|
63
|
+
};
|
64
64
|
|
65
65
|
export type SmartWalletConnectionOptions = {
|
66
66
|
personalAccount: Account;
|