thirdweb 5.59.0-nightly-5ab3a81f79e96cb7caed6f591969942b2b67dbb6-20240926000312 → 5.59.1-nightly-21b032d1b845276817c2f8ada5566f4719a41ad0-20240927000336

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.
Files changed (81) hide show
  1. package/dist/cjs/contract/actions/compiler-metadata.js +16 -10
  2. package/dist/cjs/contract/actions/compiler-metadata.js.map +1 -1
  3. package/dist/cjs/contract/deployment/publisher.js +2 -0
  4. package/dist/cjs/contract/deployment/publisher.js.map +1 -1
  5. package/dist/cjs/contract/deployment/utils/bootstrap.js +3 -2
  6. package/dist/cjs/contract/deployment/utils/bootstrap.js.map +1 -1
  7. package/dist/cjs/exports/utils.js +4 -2
  8. package/dist/cjs/exports/utils.js.map +1 -1
  9. package/dist/cjs/extensions/prebuilts/deploy-published.js +6 -3
  10. package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
  11. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +4 -1
  12. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  13. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +1 -1
  14. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
  15. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +10 -2
  16. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  17. package/dist/cjs/utils/any-evm/deploy-metadata.js +14 -5
  18. package/dist/cjs/utils/any-evm/deploy-metadata.js.map +1 -1
  19. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +4 -1
  20. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  21. package/dist/cjs/version.js +1 -1
  22. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +6 -0
  23. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  24. package/dist/esm/contract/actions/compiler-metadata.js +16 -10
  25. package/dist/esm/contract/actions/compiler-metadata.js.map +1 -1
  26. package/dist/esm/contract/deployment/publisher.js +2 -0
  27. package/dist/esm/contract/deployment/publisher.js.map +1 -1
  28. package/dist/esm/contract/deployment/utils/bootstrap.js +3 -2
  29. package/dist/esm/contract/deployment/utils/bootstrap.js.map +1 -1
  30. package/dist/esm/exports/utils.js +1 -0
  31. package/dist/esm/exports/utils.js.map +1 -1
  32. package/dist/esm/extensions/prebuilts/deploy-published.js +6 -3
  33. package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
  34. package/dist/esm/react/web/ui/ConnectWallet/Details.js +4 -1
  35. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  36. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +1 -1
  37. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
  38. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +11 -3
  39. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  40. package/dist/esm/utils/any-evm/deploy-metadata.js +14 -5
  41. package/dist/esm/utils/any-evm/deploy-metadata.js.map +1 -1
  42. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +4 -1
  43. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  44. package/dist/esm/version.js +1 -1
  45. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +6 -0
  46. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  47. package/dist/types/contract/actions/compiler-metadata.d.ts +2 -1
  48. package/dist/types/contract/actions/compiler-metadata.d.ts.map +1 -1
  49. package/dist/types/contract/deployment/publisher.d.ts +2 -0
  50. package/dist/types/contract/deployment/publisher.d.ts.map +1 -1
  51. package/dist/types/contract/deployment/utils/bootstrap.d.ts +1 -0
  52. package/dist/types/contract/deployment/utils/bootstrap.d.ts.map +1 -1
  53. package/dist/types/exports/utils.d.ts +1 -0
  54. package/dist/types/exports/utils.d.ts.map +1 -1
  55. package/dist/types/extensions/prebuilts/deploy-published.d.ts +2 -0
  56. package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
  57. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  58. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts.map +1 -1
  59. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
  60. package/dist/types/utils/any-evm/deploy-metadata.d.ts +2 -0
  61. package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
  62. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -1
  63. package/dist/types/version.d.ts +1 -1
  64. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/src/contract/actions/compiler-metadata.ts +20 -11
  67. package/src/contract/deployment/publisher.ts +4 -0
  68. package/src/contract/deployment/utils/bootstrap.ts +4 -1
  69. package/src/exports/utils.ts +1 -0
  70. package/src/extensions/erc1155/drop1155.test.ts +4 -4
  71. package/src/extensions/erc20/drop20.test.ts +4 -4
  72. package/src/extensions/erc721/drop721.test.ts +4 -4
  73. package/src/extensions/prebuilts/deploy-published.test.ts +1 -1
  74. package/src/extensions/prebuilts/deploy-published.ts +8 -1
  75. package/src/react/web/ui/ConnectWallet/Details.tsx +4 -1
  76. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.tsx +0 -1
  77. package/src/transaction/actions/zksync/send-eip712-transaction.ts +21 -20
  78. package/src/utils/any-evm/deploy-metadata.ts +26 -11
  79. package/src/utils/any-evm/zksync/isZkSyncChain.ts +3 -1
  80. package/src/version.ts +1 -1
  81. package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +7 -0
@@ -1,4 +1,4 @@
1
- import { toRlp } from "viem";
1
+ import { hexToBytes, toRlp } from "viem";
2
2
  import { eth_sendRawTransaction } from "../../../rpc/actions/eth_sendRawTransaction.js";
3
3
  import { getRpcClient } from "../../../rpc/rpc.js";
4
4
  import { toBigInt } from "../../../utils/bigint.js";
@@ -87,25 +87,17 @@ export async function populateEip712Transaction(
87
87
  options: SendEip712TransactionOptions,
88
88
  ): Promise<EIP721TransactionSerializable> {
89
89
  const { account, transaction } = options;
90
- let [
91
- data,
92
- to,
93
- value,
94
- gas,
95
- maxFeePerGas,
96
- maxPriorityFeePerGas,
97
- gasPerPubdata,
98
- ] = await Promise.all([
99
- encode(transaction),
100
- resolvePromisedValue(transaction.to),
101
- resolvePromisedValue(transaction.value),
102
- resolvePromisedValue(transaction.gas),
103
- resolvePromisedValue(transaction.maxFeePerGas),
104
- resolvePromisedValue(transaction.maxPriorityFeePerGas),
105
- resolvePromisedValue(transaction.eip712).then(
106
- (eip712) => eip712?.gasPerPubdata,
107
- ),
108
- ]);
90
+ let [data, to, value, gas, maxFeePerGas, maxPriorityFeePerGas, eip712] =
91
+ await Promise.all([
92
+ encode(transaction),
93
+ resolvePromisedValue(transaction.to),
94
+ resolvePromisedValue(transaction.value),
95
+ resolvePromisedValue(transaction.gas),
96
+ resolvePromisedValue(transaction.maxFeePerGas),
97
+ resolvePromisedValue(transaction.maxPriorityFeePerGas),
98
+ resolvePromisedValue(transaction.eip712),
99
+ ]);
100
+ let gasPerPubdata = eip712?.gasPerPubdata;
109
101
  if (!gas || !maxFeePerGas || !maxPriorityFeePerGas) {
110
102
  // fetch fees and gas
111
103
  const rpc = getRpcClient(transaction);
@@ -118,6 +110,15 @@ export async function populateEip712Transaction(
118
110
  to,
119
111
  data,
120
112
  value: value ? numberToHex(value) : undefined,
113
+ gasPerPubdata,
114
+ eip712Meta: {
115
+ ...eip712,
116
+ gasPerPubdata: gasPerPubdata ? toHex(gasPerPubdata) : toHex(50000n),
117
+ factoryDeps: eip712?.factoryDeps?.map((dep) =>
118
+ Array.from(hexToBytes(dep)),
119
+ ),
120
+ },
121
+ type: "0x71",
121
122
  // biome-ignore lint/suspicious/noExplicitAny: TODO add to RPC method types
122
123
  } as any,
123
124
  ],
@@ -8,6 +8,7 @@ import type { Prettify } from "../type-utils.js";
8
8
  type FetchDeployMetadataOptions = {
9
9
  uri: string;
10
10
  client: ThirdwebClient;
11
+ compilerType?: "solc" | "zksolc";
11
12
  };
12
13
 
13
14
  export type FetchDeployMetadataResult = Partial<ExtendedMetadata> &
@@ -22,19 +23,25 @@ export type FetchDeployMetadataResult = Partial<ExtendedMetadata> &
22
23
  export async function fetchDeployMetadata(
23
24
  options: FetchDeployMetadataOptions,
24
25
  ): Promise<FetchDeployMetadataResult> {
26
+ const isZksolc = options.compilerType === "zksolc";
25
27
  const rawMeta: RawCompilerMetadata = await download({
26
28
  uri: options.uri,
27
29
  client: options.client,
28
30
  }).then((r) => r.json());
29
- // TODO: proper handling of different compiler metadata types
30
- const metadataUri =
31
- rawMeta.compilers?.zksolc?.length > 0 && rawMeta.name.endsWith("_ZkSync")
32
- ? rawMeta.compilers.zksolc[0].metadataUri
33
- : rawMeta.metadataUri;
34
- const bytecodeUri =
35
- rawMeta.compilers?.zksolc?.length > 0 && rawMeta.name.endsWith("_ZkSync")
36
- ? rawMeta.compilers.zksolc[0].bytecodeUri
37
- : rawMeta.bytecodeUri;
31
+
32
+ if (
33
+ isZksolc &&
34
+ (!rawMeta.compilers?.zksolc || rawMeta.compilers?.zksolc.length === 0)
35
+ ) {
36
+ throw new Error(`No zksolc metadata found for contract: ${rawMeta.name}`);
37
+ }
38
+
39
+ const metadataUri = isZksolc
40
+ ? rawMeta.compilers.zksolc[0].metadataUri
41
+ : rawMeta.metadataUri;
42
+ const bytecodeUri = isZksolc
43
+ ? rawMeta.compilers.zksolc[0].bytecodeUri
44
+ : rawMeta.bytecodeUri;
38
45
  const [deployBytecode, parsedMeta] = await Promise.all([
39
46
  download({ uri: bytecodeUri, client: options.client }).then(
40
47
  (res) => res.text() as Promise<Hex>,
@@ -42,6 +49,7 @@ export async function fetchDeployMetadata(
42
49
  fetchAndParseCompilerMetadata({
43
50
  client: options.client,
44
51
  uri: metadataUri,
52
+ compilerType: options.compilerType,
45
53
  }),
46
54
  ]);
47
55
 
@@ -66,12 +74,18 @@ async function fetchAndParseCompilerMetadata(
66
74
  requestTimeoutMs: CONTRACT_METADATA_TIMEOUT_SEC,
67
75
  })
68
76
  ).json();
69
- if (!metadata || !metadata.output) {
77
+ if (
78
+ (!metadata || !metadata.output) &&
79
+ (!metadata.source_metadata || !metadata.source_metadata.output)
80
+ ) {
70
81
  throw new Error(
71
82
  `Could not resolve metadata for contract at ${options.uri}`,
72
83
  );
73
84
  }
74
- return { ...metadata, ...formatCompilerMetadata(metadata) };
85
+ return {
86
+ ...metadata,
87
+ ...formatCompilerMetadata(metadata, options.compilerType),
88
+ };
75
89
  }
76
90
 
77
91
  // types
@@ -128,6 +142,7 @@ type ParsedCompilerMetadata = {
128
142
  };
129
143
  licenses: string[];
130
144
  isPartialAbi?: boolean;
145
+ zk_version?: string;
131
146
  };
132
147
 
133
148
  export type CompilerMetadata = Prettify<
@@ -5,6 +5,8 @@ export function isZkSyncChain(chain: Chain) {
5
5
  chain.id === 324 ||
6
6
  chain.id === 300 ||
7
7
  chain.id === 302 ||
8
- chain.id === 11124
8
+ chain.id === 11124 ||
9
+ chain.id === 282 || // cronos zkevm testnet
10
+ chain.id === 388 // cronos zkevm mainnet
9
11
  );
10
12
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.59.0-nightly-5ab3a81f79e96cb7caed6f591969942b2b67dbb6-20240926000312";
1
+ export const version = "5.59.1-nightly-21b032d1b845276817c2f8ada5566f4719a41ad0-20240927000336";
@@ -321,6 +321,13 @@ export class Auth {
321
321
  * @internal
322
322
  */
323
323
  async logout(): Promise<LogoutReturnType> {
324
+ if (this.AuthQuerier) {
325
+ await this.AuthQuerier.call<LogoutReturnType>({
326
+ procedureName: "logout",
327
+ params: undefined,
328
+ });
329
+ }
330
+
324
331
  const isRemoveAuthCookie = await this.localStorage.removeAuthCookie();
325
332
  const isRemoveUserId = await this.localStorage.removeWalletUserId();
326
333