thirdweb 5.89.1 → 5.90.1
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/chains/constants.js +17 -2
- package/dist/cjs/chains/constants.js.map +1 -1
- package/dist/cjs/exports/wallets/smart.js +2 -1
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/gas/fee-data.js +1 -0
- package/dist/cjs/gas/fee-data.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +2 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js +2 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js.map +1 -1
- package/dist/cjs/storage/download.js +16 -0
- package/dist/cjs/storage/download.js.map +1 -1
- package/dist/cjs/storage/mock.js +46 -0
- package/dist/cjs/storage/mock.js.map +1 -0
- package/dist/cjs/storage/upload/web-node.js +6 -1
- package/dist/cjs/storage/upload/web-node.js.map +1 -1
- package/dist/cjs/transaction/actions/estimate-gas-cost.js +1 -1
- package/dist/cjs/transaction/actions/estimate-gas-cost.js.map +1 -1
- package/dist/cjs/utils/process.js +4 -1
- package/dist/cjs/utils/process.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/manager/index.js +1 -1
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/cjs/wallets/smart/index.js +1 -0
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js +75 -0
- package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/userop.js +35 -13
- package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
- package/dist/esm/chains/constants.js +17 -2
- package/dist/esm/chains/constants.js.map +1 -1
- package/dist/esm/exports/wallets/smart.js +1 -1
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/gas/fee-data.js +1 -0
- package/dist/esm/gas/fee-data.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +2 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js +2 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js.map +1 -1
- package/dist/esm/storage/download.js +16 -0
- package/dist/esm/storage/download.js.map +1 -1
- package/dist/esm/storage/mock.js +42 -0
- package/dist/esm/storage/mock.js.map +1 -0
- package/dist/esm/storage/upload/web-node.js +6 -1
- package/dist/esm/storage/upload/web-node.js.map +1 -1
- package/dist/esm/transaction/actions/estimate-gas-cost.js +1 -1
- package/dist/esm/transaction/actions/estimate-gas-cost.js.map +1 -1
- package/dist/esm/utils/process.js +3 -0
- package/dist/esm/utils/process.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/manager/index.js +1 -1
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/esm/wallets/smart/index.js +1 -1
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js +74 -0
- package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/esm/wallets/smart/lib/userop.js +34 -13
- package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
- package/dist/types/chains/constants.d.ts +1 -1
- package/dist/types/chains/constants.d.ts.map +1 -1
- package/dist/types/exports/wallets/smart.d.ts +1 -1
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/gas/fee-data.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.d.ts.map +1 -1
- package/dist/types/storage/download.d.ts.map +1 -1
- package/dist/types/storage/mock.d.ts +11 -0
- package/dist/types/storage/mock.d.ts.map +1 -0
- package/dist/types/storage/upload/web-node.d.ts.map +1 -1
- package/dist/types/utils/process.d.ts +1 -0
- package/dist/types/utils/process.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/manager/index.d.ts +1 -1
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/index.d.ts +2 -0
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/bundler.d.ts +30 -1
- package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/userop.d.ts +8 -0
- package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/adapters/viem-legacy.test.ts +1 -1
- package/src/auth/verify-typed-data.test.ts +2 -4
- package/src/chains/constants.ts +17 -2
- package/src/contract/actions/resolve-abi.test.ts +3 -3
- package/src/exports/wallets/smart.ts +1 -0
- package/src/extensions/erc1155/customDrop1155.test.ts +3 -14
- package/src/extensions/erc1155/drop1155.test.ts +3 -14
- package/src/extensions/erc1155/token1155.test.ts +16 -109
- package/src/extensions/erc20/read/getCurrencyMetadata.test.ts +1 -1
- package/src/extensions/erc721/customDrop721.test.ts +3 -13
- package/src/extensions/erc721/drop721.test.ts +3 -13
- package/src/extensions/erc721/read/getNFTs.test.ts +1 -1
- package/src/extensions/erc721/read/getOwnedTokenIds.test.ts +1 -1
- package/src/extensions/lens/read/resolveAddress.test.ts +1 -1
- package/src/extensions/prebuilts/deploy-vote.test.ts +1 -1
- package/src/extensions/unstoppable-domains/read/resolveAddress.test.ts +1 -1
- package/src/extensions/unstoppable-domains/read/resolveName.test.ts +1 -1
- package/src/gas/fee-data.ts +1 -0
- package/src/pay/convert/cryptoToFiat.test.ts +4 -4
- package/src/pay/convert/fiatToCrypto.test.ts +4 -4
- package/src/react/core/hooks/wallets/useConnect.test.tsx +3 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +3 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.tsx +3 -0
- package/src/react/web/ui/prebuilt/Account/balance.test.tsx +7 -13
- package/src/react/web/ui/prebuilt/Chain/icon.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/NFT/description.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/NFT/media.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/NFT/name.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/NFT/utils.test.ts +1 -1
- package/src/react/web/ui/prebuilt/Token/name.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/Token/symbol.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/Wallet/icon.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/Wallet/name.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/ClaimButton.test.tsx +1 -1
- package/src/storage/download.test.ts +1 -1
- package/src/storage/download.ts +17 -0
- package/src/storage/mock.ts +52 -0
- package/src/storage/upload/web-node.test.ts +2 -1
- package/src/storage/upload/web-node.ts +8 -1
- package/src/transaction/actions/encode.test.ts +1 -1
- package/src/transaction/actions/estimate-gas-cost.ts +1 -1
- package/src/utils/nft/fetch-token-metadata.test.ts +1 -1
- package/src/utils/process.ts +4 -0
- package/src/version.ts +1 -1
- package/src/wallets/manager/index.ts +6 -2
- package/src/wallets/smart/index.ts +1 -1
- package/src/wallets/smart/lib/bundler.ts +95 -0
- package/src/wallets/smart/lib/userop.ts +42 -15
- package/src/wallets/smart/smart-wallet-integration-v07.test.ts +25 -21
- package/src/wallets/smart/smart-wallet-integration.test.ts +21 -1
- package/src/wallets/smart/smart-wallet-modular.test.ts +1 -2
@@ -16,7 +16,6 @@ import {
|
|
16
16
|
} from "../../exports/extensions/erc4337.js";
|
17
17
|
import { claimTo } from "../../extensions/erc1155/drops/write/claimTo.js";
|
18
18
|
import { setContractURI } from "../../extensions/marketplace/__generated__/IMarketplace/write/setContractURI.js";
|
19
|
-
import { estimateGasCost } from "../../transaction/actions/estimate-gas-cost.js";
|
20
19
|
import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
|
21
20
|
import { sendBatchTransaction } from "../../transaction/actions/send-batch-transaction.js";
|
22
21
|
import { waitForReceipt } from "../../transaction/actions/wait-for-tx-receipt.js";
|
@@ -27,6 +26,7 @@ import { hashTypedData } from "../../utils/hashing/hashTypedData.js";
|
|
27
26
|
import { sleep } from "../../utils/sleep.js";
|
28
27
|
import type { Account, Wallet } from "../interfaces/wallet.js";
|
29
28
|
import { generateAccount } from "../utils/generateAccount.js";
|
29
|
+
import { estimateUserOpGasCost } from "./lib/bundler.js";
|
30
30
|
import { predictSmartAccountAddress } from "./lib/calls.js";
|
31
31
|
import { DEFAULT_ACCOUNT_FACTORY_V0_7 } from "./lib/constants.js";
|
32
32
|
import {
|
@@ -49,11 +49,9 @@ const contract = getContract({
|
|
49
49
|
address: "0xe2cb0eb5147b42095c2FfA6F7ec953bb0bE347D8",
|
50
50
|
});
|
51
51
|
|
52
|
-
|
53
|
-
describe.skip(
|
52
|
+
describe.sequential(
|
54
53
|
"SmartWallet 0.7 core tests",
|
55
54
|
{
|
56
|
-
retry: 0,
|
57
55
|
timeout: 240_000,
|
58
56
|
},
|
59
57
|
() => {
|
@@ -89,6 +87,27 @@ describe.skip(
|
|
89
87
|
expect(predictedAddress).toEqual(smartWalletAddress);
|
90
88
|
});
|
91
89
|
|
90
|
+
it("can estimate gas cost", async () => {
|
91
|
+
const gasCost = await estimateUserOpGasCost({
|
92
|
+
transactions: [
|
93
|
+
claimTo({
|
94
|
+
contract,
|
95
|
+
quantity: 1n,
|
96
|
+
to: smartWalletAddress,
|
97
|
+
tokenId: 0n,
|
98
|
+
}),
|
99
|
+
],
|
100
|
+
adminAccount: personalAccount,
|
101
|
+
client: TEST_CLIENT,
|
102
|
+
smartWalletOptions: {
|
103
|
+
chain,
|
104
|
+
sponsorGas: true,
|
105
|
+
factoryAddress: DEFAULT_ACCOUNT_FACTORY_V0_7,
|
106
|
+
},
|
107
|
+
});
|
108
|
+
expect(gasCost.ether).not.toBe("0");
|
109
|
+
});
|
110
|
+
|
92
111
|
it("can sign a msg", async () => {
|
93
112
|
const signature = await smartAccount.signMessage({
|
94
113
|
message: "hello world",
|
@@ -103,8 +122,7 @@ describe.skip(
|
|
103
122
|
expect(isValid).toEqual(true);
|
104
123
|
});
|
105
124
|
|
106
|
-
|
107
|
-
it.skip("should use ERC-1271 signatures after deployment", async () => {
|
125
|
+
it("should use ERC-1271 signatures after deployment", async () => {
|
108
126
|
await deploySmartAccount({
|
109
127
|
chain,
|
110
128
|
client,
|
@@ -137,8 +155,7 @@ describe.skip(
|
|
137
155
|
expect(isValid).toEqual(true);
|
138
156
|
});
|
139
157
|
|
140
|
-
|
141
|
-
it.skip("should use ERC-1271 typed data signatures after deployment", async () => {
|
158
|
+
it("should use ERC-1271 typed data signatures after deployment", async () => {
|
142
159
|
await deploySmartAccount({
|
143
160
|
chain,
|
144
161
|
client,
|
@@ -206,19 +223,6 @@ describe.skip(
|
|
206
223
|
expect(isDeployed).toEqual(true);
|
207
224
|
});
|
208
225
|
|
209
|
-
it("can estimate a tx", async () => {
|
210
|
-
const estimates = await estimateGasCost({
|
211
|
-
transaction: claimTo({
|
212
|
-
contract,
|
213
|
-
quantity: 1n,
|
214
|
-
to: smartWalletAddress,
|
215
|
-
tokenId: 0n,
|
216
|
-
}),
|
217
|
-
account: smartAccount,
|
218
|
-
});
|
219
|
-
expect(estimates.wei.toString()).not.toBe("0");
|
220
|
-
});
|
221
|
-
|
222
226
|
it("can execute a batched tx", async () => {
|
223
227
|
const tx = await sendBatchTransaction({
|
224
228
|
account: smartAccount,
|
@@ -29,6 +29,7 @@ import { hashTypedData } from "../../utils/hashing/hashTypedData.js";
|
|
29
29
|
import { sleep } from "../../utils/sleep.js";
|
30
30
|
import type { Account, Wallet } from "../interfaces/wallet.js";
|
31
31
|
import { generateAccount } from "../utils/generateAccount.js";
|
32
|
+
import { estimateUserOpGasCost } from "./lib/bundler.js";
|
32
33
|
import { predictSmartAccountAddress } from "./lib/calls.js";
|
33
34
|
import { deploySmartAccount } from "./lib/signing.js";
|
34
35
|
import { smartWallet } from "./smart-wallet.js";
|
@@ -51,7 +52,6 @@ const factoryAddress = "0x564cf6453a1b0FF8DB603E92EA4BbD410dea45F3"; // pre 712
|
|
51
52
|
describe.runIf(process.env.TW_SECRET_KEY).sequential(
|
52
53
|
"SmartWallet core tests",
|
53
54
|
{
|
54
|
-
retry: 0,
|
55
55
|
timeout: 240_000,
|
56
56
|
},
|
57
57
|
() => {
|
@@ -75,6 +75,26 @@ describe.runIf(process.env.TW_SECRET_KEY).sequential(
|
|
75
75
|
});
|
76
76
|
});
|
77
77
|
|
78
|
+
it("can estimate gas cost", async () => {
|
79
|
+
const gasCost = await estimateUserOpGasCost({
|
80
|
+
transactions: [
|
81
|
+
claimTo({
|
82
|
+
contract,
|
83
|
+
quantity: 1n,
|
84
|
+
to: smartWalletAddress,
|
85
|
+
tokenId: 0n,
|
86
|
+
}),
|
87
|
+
],
|
88
|
+
adminAccount: personalAccount,
|
89
|
+
client: TEST_CLIENT,
|
90
|
+
smartWalletOptions: {
|
91
|
+
chain,
|
92
|
+
sponsorGas: true,
|
93
|
+
},
|
94
|
+
});
|
95
|
+
expect(gasCost.ether).not.toBe("0");
|
96
|
+
});
|
97
|
+
|
78
98
|
it("can connect", async () => {
|
79
99
|
expect(smartWalletAddress).toHaveLength(42);
|
80
100
|
const predictedAddress = await predictSmartAccountAddress({
|
@@ -28,8 +28,7 @@ const client = TEST_CLIENT;
|
|
28
28
|
const DEFAULT_FACTORY_ADDRESS = "0xB1846E893CA01c5Dcdaa40371C1e13f2e0Df5717";
|
29
29
|
const DEFAULT_VALIDATOR_ADDRESS = "0x7D3631d823e0De311DC86f580946EeF2eEC81fba";
|
30
30
|
|
31
|
-
|
32
|
-
describe.skip.sequential(
|
31
|
+
describe.sequential(
|
33
32
|
"SmartWallet modular tests",
|
34
33
|
{
|
35
34
|
retry: 0,
|