thirdweb 5.48.1-nightly-886094fbac4f25735438a651cdb0747c6d5de6c5-20240821000347 → 5.48.1-nightly-7ef1c721ef693584d153554d46f2e70e8015b261-20240822000343

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 (216) hide show
  1. package/dist/cjs/auth/verify-hash.js +1 -1
  2. package/dist/cjs/auth/verify-hash.js.map +1 -1
  3. package/dist/cjs/cli/commands/generate/generate.js +8 -8
  4. package/dist/cjs/cli/commands/generate/generate.js.map +1 -1
  5. package/dist/cjs/contract/actions/resolve-abi.js +1 -1
  6. package/dist/cjs/contract/actions/resolve-abi.js.map +1 -1
  7. package/dist/cjs/contract/verification/constructor-params.js +1 -1
  8. package/dist/cjs/contract/verification/constructor-params.js.map +1 -1
  9. package/dist/cjs/exports/react.js +3 -1
  10. package/dist/cjs/exports/react.js.map +1 -1
  11. package/dist/cjs/extensions/erc20/read/getCurrencyMetadata.js +1 -1
  12. package/dist/cjs/extensions/erc20/read/getCurrencyMetadata.js.map +1 -1
  13. package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
  14. package/dist/cjs/extensions/vote/read/proposalExists.js +1 -1
  15. package/dist/cjs/extensions/vote/read/proposalExists.js.map +1 -1
  16. package/dist/cjs/react/core/design-system/index.js +4 -4
  17. package/dist/cjs/react/core/design-system/index.js.map +1 -1
  18. package/dist/cjs/react/core/hooks/contract/useReadContract.js +4 -0
  19. package/dist/cjs/react/core/hooks/contract/useReadContract.js.map +1 -1
  20. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +1 -1
  21. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  22. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +1 -1
  23. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  24. package/dist/cjs/react/core/hooks/wallets/useSendToken.js +1 -1
  25. package/dist/cjs/react/core/hooks/wallets/useSendToken.js.map +1 -1
  26. package/dist/cjs/react/native/ui/components/RNImage.js +8 -2
  27. package/dist/cjs/react/native/ui/components/RNImage.js.map +1 -1
  28. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +1 -1
  29. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  30. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +10 -4
  31. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  32. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModal.js +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModal.js.map +1 -1
  34. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js.map +1 -1
  36. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +4 -2
  37. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewNFTs.js +10 -4
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewNFTs.js.map +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js +2 -2
  43. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js.map +1 -1
  44. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js +1 -1
  45. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js.map +1 -1
  46. package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js +1 -1
  47. package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
  48. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +1 -1
  49. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  50. package/dist/cjs/storage/upload/mobile.js +1 -1
  51. package/dist/cjs/storage/upload/mobile.js.map +1 -1
  52. package/dist/cjs/utils/contract/parse-abi-params.js +15 -0
  53. package/dist/cjs/utils/contract/parse-abi-params.js.map +1 -1
  54. package/dist/cjs/utils/extensions/airdrop/fetch-proofs-erc1155.js +1 -1
  55. package/dist/cjs/utils/extensions/airdrop/fetch-proofs-erc1155.js.map +1 -1
  56. package/dist/cjs/utils/extensions/airdrop/fetch-proofs-erc20.js +1 -1
  57. package/dist/cjs/utils/extensions/airdrop/fetch-proofs-erc20.js.map +1 -1
  58. package/dist/cjs/utils/extensions/airdrop/fetch-proofs-erc721.js +1 -1
  59. package/dist/cjs/utils/extensions/airdrop/fetch-proofs-erc721.js.map +1 -1
  60. package/dist/cjs/utils/extensions/drops/fetch-proofs-for-claimers.js +1 -1
  61. package/dist/cjs/utils/extensions/drops/fetch-proofs-for-claimers.js.map +1 -1
  62. package/dist/cjs/utils/nft/fetchTokenMetadata.js +1 -1
  63. package/dist/cjs/utils/nft/fetchTokenMetadata.js.map +1 -1
  64. package/dist/cjs/version.js +1 -1
  65. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +3 -3
  66. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  67. package/dist/cjs/wallets/in-app/native/helpers/storage/local.js +1 -1
  68. package/dist/cjs/wallets/in-app/native/helpers/storage/local.js.map +1 -1
  69. package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js +1 -1
  70. package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
  71. package/dist/cjs/wallets/smart/index.js +2 -2
  72. package/dist/cjs/wallets/smart/index.js.map +1 -1
  73. package/dist/cjs/wallets/utils/chains.js +1 -1
  74. package/dist/cjs/wallets/utils/chains.js.map +1 -1
  75. package/dist/cjs/wallets/wallet-connect/receiver/index.js +1 -1
  76. package/dist/cjs/wallets/wallet-connect/receiver/index.js.map +1 -1
  77. package/dist/esm/auth/verify-hash.js +1 -1
  78. package/dist/esm/auth/verify-hash.js.map +1 -1
  79. package/dist/esm/cli/commands/generate/generate.js +8 -8
  80. package/dist/esm/cli/commands/generate/generate.js.map +1 -1
  81. package/dist/esm/contract/actions/resolve-abi.js +1 -1
  82. package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
  83. package/dist/esm/contract/verification/constructor-params.js +1 -1
  84. package/dist/esm/contract/verification/constructor-params.js.map +1 -1
  85. package/dist/esm/exports/react.js +1 -0
  86. package/dist/esm/exports/react.js.map +1 -1
  87. package/dist/esm/extensions/erc20/read/getCurrencyMetadata.js +1 -1
  88. package/dist/esm/extensions/erc20/read/getCurrencyMetadata.js.map +1 -1
  89. package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
  90. package/dist/esm/extensions/vote/read/proposalExists.js +1 -1
  91. package/dist/esm/extensions/vote/read/proposalExists.js.map +1 -1
  92. package/dist/esm/react/core/design-system/index.js +4 -4
  93. package/dist/esm/react/core/design-system/index.js.map +1 -1
  94. package/dist/esm/react/core/hooks/contract/useReadContract.js +4 -0
  95. package/dist/esm/react/core/hooks/contract/useReadContract.js.map +1 -1
  96. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +1 -1
  97. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  98. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +1 -1
  99. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  100. package/dist/esm/react/core/hooks/wallets/useSendToken.js +1 -1
  101. package/dist/esm/react/core/hooks/wallets/useSendToken.js.map +1 -1
  102. package/dist/esm/react/native/ui/components/RNImage.js +8 -2
  103. package/dist/esm/react/native/ui/components/RNImage.js.map +1 -1
  104. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +1 -1
  105. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  106. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +10 -4
  107. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  108. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModal.js +1 -1
  109. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModal.js.map +1 -1
  110. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js +1 -1
  111. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js.map +1 -1
  112. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +4 -2
  113. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  114. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +1 -1
  115. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  116. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewNFTs.js +10 -4
  117. package/dist/esm/react/web/ui/ConnectWallet/screens/ViewNFTs.js.map +1 -1
  118. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js +2 -2
  119. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.js.map +1 -1
  120. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js +1 -1
  121. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js.map +1 -1
  122. package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js +1 -1
  123. package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
  124. package/dist/esm/react/web/wallets/in-app/WalletAuth.js +1 -1
  125. package/dist/esm/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  126. package/dist/esm/storage/upload/mobile.js +1 -1
  127. package/dist/esm/storage/upload/mobile.js.map +1 -1
  128. package/dist/esm/utils/contract/parse-abi-params.js +15 -0
  129. package/dist/esm/utils/contract/parse-abi-params.js.map +1 -1
  130. package/dist/esm/utils/extensions/airdrop/fetch-proofs-erc1155.js +1 -1
  131. package/dist/esm/utils/extensions/airdrop/fetch-proofs-erc1155.js.map +1 -1
  132. package/dist/esm/utils/extensions/airdrop/fetch-proofs-erc20.js +1 -1
  133. package/dist/esm/utils/extensions/airdrop/fetch-proofs-erc20.js.map +1 -1
  134. package/dist/esm/utils/extensions/airdrop/fetch-proofs-erc721.js +1 -1
  135. package/dist/esm/utils/extensions/airdrop/fetch-proofs-erc721.js.map +1 -1
  136. package/dist/esm/utils/extensions/drops/fetch-proofs-for-claimers.js +1 -1
  137. package/dist/esm/utils/extensions/drops/fetch-proofs-for-claimers.js.map +1 -1
  138. package/dist/esm/utils/nft/fetchTokenMetadata.js +1 -1
  139. package/dist/esm/utils/nft/fetchTokenMetadata.js.map +1 -1
  140. package/dist/esm/version.js +1 -1
  141. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +3 -3
  142. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  143. package/dist/esm/wallets/in-app/native/helpers/storage/local.js +1 -1
  144. package/dist/esm/wallets/in-app/native/helpers/storage/local.js.map +1 -1
  145. package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js +1 -1
  146. package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
  147. package/dist/esm/wallets/smart/index.js +2 -2
  148. package/dist/esm/wallets/smart/index.js.map +1 -1
  149. package/dist/esm/wallets/utils/chains.js +1 -1
  150. package/dist/esm/wallets/utils/chains.js.map +1 -1
  151. package/dist/esm/wallets/wallet-connect/receiver/index.js +1 -1
  152. package/dist/esm/wallets/wallet-connect/receiver/index.js.map +1 -1
  153. package/dist/types/exports/react.d.ts +1 -0
  154. package/dist/types/exports/react.d.ts.map +1 -1
  155. package/dist/types/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.d.ts.map +1 -1
  156. package/dist/types/react/core/design-system/index.d.ts.map +1 -1
  157. package/dist/types/react/core/hooks/connection/ConnectEmbedProps.d.ts +9 -0
  158. package/dist/types/react/core/hooks/connection/ConnectEmbedProps.d.ts.map +1 -1
  159. package/dist/types/react/native/ui/components/RNImage.d.ts.map +1 -1
  160. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  161. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  162. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModal.d.ts +0 -1
  163. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModal.d.ts.map +1 -1
  164. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModalContent.d.ts +1 -1
  165. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModalContent.d.ts.map +1 -1
  166. package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts +1 -1
  167. package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts.map +1 -1
  168. package/dist/types/react/web/ui/ConnectWallet/screens/ViewNFTs.d.ts.map +1 -1
  169. package/dist/types/react/web/ui/ConnectWallet/useConnectModal.d.ts.map +1 -1
  170. package/dist/types/utils/contract/parse-abi-params.d.ts.map +1 -1
  171. package/dist/types/version.d.ts +1 -1
  172. package/package.json +1 -1
  173. package/src/auth/verify-hash.ts +1 -1
  174. package/src/cli/commands/generate/generate.ts +8 -8
  175. package/src/contract/actions/resolve-abi.ts +1 -1
  176. package/src/contract/verification/constructor-params.ts +1 -1
  177. package/src/exports/react.ts +2 -0
  178. package/src/extensions/erc20/read/getCurrencyMetadata.ts +1 -1
  179. package/src/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.ts +0 -1
  180. package/src/extensions/vote/read/proposalExists.ts +1 -1
  181. package/src/react/core/design-system/index.ts +7 -4
  182. package/src/react/core/hooks/connection/ConnectEmbedProps.ts +12 -0
  183. package/src/react/core/hooks/contract/useReadContract.ts +4 -0
  184. package/src/react/core/hooks/transaction/useSendTransaction.ts +1 -1
  185. package/src/react/core/hooks/wallets/useAutoConnect.ts +1 -1
  186. package/src/react/core/hooks/wallets/useSendToken.ts +1 -1
  187. package/src/react/core/utils/timeoutPromise.test.ts +1 -1
  188. package/src/react/native/ui/components/RNImage.tsx +11 -2
  189. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +0 -1
  190. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +20 -6
  191. package/src/react/web/ui/ConnectWallet/Modal/ConnectModal.tsx +1 -2
  192. package/src/react/web/ui/ConnectWallet/Modal/ConnectModalContent.tsx +2 -2
  193. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +5 -3
  194. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +1 -1
  195. package/src/react/web/ui/ConnectWallet/screens/ViewNFTs.tsx +16 -6
  196. package/src/react/web/ui/ConnectWallet/screens/WalletConnectReceiverScreen.tsx +2 -2
  197. package/src/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.tsx +1 -1
  198. package/src/react/web/ui/ConnectWallet/useConnectModal.tsx +0 -1
  199. package/src/react/web/wallets/in-app/WalletAuth.tsx +1 -1
  200. package/src/storage/upload/mobile.ts +1 -1
  201. package/src/transaction/read-contract.test.ts +30 -0
  202. package/src/utils/contract/parse-abi-params.test.ts +12 -0
  203. package/src/utils/contract/parse-abi-params.ts +17 -0
  204. package/src/utils/encoding/hex.test.ts +40 -0
  205. package/src/utils/extensions/airdrop/fetch-proofs-erc1155.ts +1 -1
  206. package/src/utils/extensions/airdrop/fetch-proofs-erc20.ts +1 -1
  207. package/src/utils/extensions/airdrop/fetch-proofs-erc721.ts +1 -1
  208. package/src/utils/extensions/drops/fetch-proofs-for-claimers.ts +1 -1
  209. package/src/utils/nft/fetchTokenMetadata.ts +1 -1
  210. package/src/version.ts +1 -1
  211. package/src/wallets/in-app/native/helpers/auth/middleware.ts +3 -3
  212. package/src/wallets/in-app/native/helpers/storage/local.ts +1 -1
  213. package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +1 -1
  214. package/src/wallets/smart/index.ts +2 -2
  215. package/src/wallets/utils/chains.ts +1 -1
  216. package/src/wallets/wallet-connect/receiver/index.ts +1 -1
@@ -71,7 +71,7 @@ export type WalletSelectorProps = {
71
71
  client: ThirdwebClient;
72
72
  connectLocale: ConnectLocale;
73
73
  recommendedWallets: Wallet[] | undefined;
74
- isEmbed: boolean;
74
+ hideHeader: boolean;
75
75
  chain: Chain | undefined;
76
76
  chains: Chain[] | undefined;
77
77
  showAllWallets: boolean | undefined;
@@ -472,7 +472,8 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
472
472
  }
473
473
  }
474
474
 
475
- const showHeader = !props.isEmbed || props.modalHeader;
475
+ // hide the header for embed - unless it's customized
476
+ const showHeader = !props.hideHeader || props.modalHeader;
476
477
 
477
478
  return (
478
479
  <Container
@@ -515,7 +516,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
515
516
  }
516
517
  }
517
518
  >
518
- {!props.modalHeader && props.isEmbed && isWalletGroupExpanded && (
519
+ {!showHeader && isWalletGroupExpanded && (
519
520
  <Container
520
521
  flex="row"
521
522
  center="y"
@@ -593,6 +594,7 @@ const WalletSelection: React.FC<{
593
594
  <WalletList
594
595
  style={{
595
596
  minHeight: "100%",
597
+ maxHeight: "370px",
596
598
  }}
597
599
  >
598
600
  {wallets.map((wallet) => {
@@ -155,7 +155,7 @@ export async function getTransactionGasCost(
155
155
  // Note: get tx.value AFTER estimateGasCost
156
156
  // add 10% extra gas cost to the estimate to ensure user buys enough to cover the tx cost
157
157
  return gasCost.wei + bufferCost;
158
- } catch (e) {
158
+ } catch {
159
159
  if (from) {
160
160
  // try again without passing from
161
161
  return await getTransactionGasCost(tx);
@@ -108,10 +108,6 @@ export function ViewNFTsContent(props: {
108
108
  const activeAccount = useActiveAccount();
109
109
  const activeChain = useActiveWalletChain();
110
110
 
111
- if (!activeChain?.id || !activeAccount?.address) {
112
- return null;
113
- }
114
-
115
111
  const nftList = useMemo(() => {
116
112
  const nfts = [];
117
113
  if (!props.supportedNFTs) return [];
@@ -131,11 +127,25 @@ export function ViewNFTsContent(props: {
131
127
  const results = useQueries({
132
128
  queries: nftList.map((nft) => ({
133
129
  queryKey: ["readContract", nft.chain.id, nft.address],
134
- queryFn: () =>
135
- fetchNFTs(props.client, nft.chain, nft.address, activeAccount?.address),
130
+ queryFn: () => {
131
+ if (!activeAccount) {
132
+ throw new Error("No active account");
133
+ }
134
+ return fetchNFTs(
135
+ props.client,
136
+ nft.chain,
137
+ nft.address,
138
+ activeAccount.address,
139
+ );
140
+ },
141
+ enabled: !!activeAccount,
136
142
  })),
137
143
  });
138
144
 
145
+ if (!activeChain?.id || !activeAccount?.address) {
146
+ return null;
147
+ }
148
+
139
149
  return (
140
150
  <>
141
151
  <Container
@@ -60,7 +60,7 @@ export function WalletConnectReceiverScreen(props: {
60
60
  },
61
61
  });
62
62
  return client;
63
- } catch (e) {
63
+ } catch {
64
64
  setErrorConnecting("Failed to establish WalletConnect connection");
65
65
  return;
66
66
  }
@@ -164,7 +164,7 @@ export function WalletConnectReceiverScreen(props: {
164
164
  uri: value,
165
165
  walletConnectClient,
166
166
  });
167
- } catch (e) {
167
+ } catch {
168
168
  setErrorConnecting(
169
169
  "Error creating WalletConnect session",
170
170
  );
@@ -54,7 +54,7 @@ export function WalletSwitcherConnectionScreen(
54
54
  chains={props.chains}
55
55
  client={props.client}
56
56
  connectLocale={props.connectLocale}
57
- isEmbed={props.isEmbed}
57
+ hideHeader={props.isEmbed}
58
58
  isOpen={true}
59
59
  meta={{
60
60
  showThirdwebBranding: false,
@@ -137,7 +137,6 @@ function Modal(
137
137
  meta={meta}
138
138
  size={size}
139
139
  welcomeScreen={props.welcomeScreen}
140
- isEmbed={false}
141
140
  localeId={props.locale || "en_US"}
142
141
  onConnect={props.onConnect}
143
142
  recommendedWallets={props.recommendedWallets}
@@ -103,7 +103,7 @@ export function WalletAuth(props: {
103
103
  setModalVisibility={() => {}}
104
104
  client={props.client}
105
105
  connectLocale={props.locale}
106
- isEmbed={false}
106
+ hideHeader={false}
107
107
  recommendedWallets={undefined}
108
108
  chain={wallet.getChain()}
109
109
  showAllWallets={true}
@@ -77,7 +77,7 @@ export async function uploadBatchMobile(
77
77
  let body: any;
78
78
  try {
79
79
  body = JSON.parse(xhr.responseText);
80
- } catch (err) {
80
+ } catch {
81
81
  return reject(
82
82
  new Error("Failed to parse JSON from upload response"),
83
83
  );
@@ -31,4 +31,34 @@ describe.runIf(process.env.TW_SECRET_KEY)("transaction: read", () => {
31
31
  );
32
32
  }
33
33
  });
34
+
35
+ it("should work with string and number, not just bigint", async () => {
36
+ /**
37
+ * The following 3 readContracts all result in the same value because
38
+ * the param is still parsed and encoded properly downstream by `numberToHex`
39
+ * See this docs for more context: "../utils/encoding/hex.test.js"
40
+ */
41
+ const [bigintResult, numberResult, stringResult] = await Promise.all([
42
+ readContract({
43
+ contract: DOODLES_CONTRACT,
44
+ method: "function ownerOf(uint256 tokenId) view returns (address)",
45
+ params: [1n],
46
+ }),
47
+ readContract({
48
+ contract: DOODLES_CONTRACT,
49
+ method: "function ownerOf(uint256 tokenId) view returns (address)",
50
+ // @ts-ignore Intentional
51
+ params: [1], // <- supposed to be a bigint
52
+ }),
53
+ readContract({
54
+ contract: DOODLES_CONTRACT,
55
+ method: "function ownerOf(uint256 tokenId) view returns (address)",
56
+ // @ts-ignore Intentional
57
+ params: ["1"], // <- supposed to be a bigint
58
+ }),
59
+ ]);
60
+
61
+ expect(bigintResult === numberResult).toBe(true);
62
+ expect(bigintResult === stringResult).toBe(true);
63
+ });
34
64
  });
@@ -156,5 +156,17 @@ describe("parseAbiParams", () => {
156
156
  const result = parseAbiParams(["bytes64"], [value]);
157
157
  expect(result).toStrictEqual([value]);
158
158
  });
159
+
160
+ it("should return a string for type string", () => {
161
+ const value = "this is a string";
162
+ const result = parseAbiParams(["string"], [value]);
163
+ expect(result).toStrictEqual(["this is a string"]);
164
+ });
165
+
166
+ it("should return the value itself if it falls through to the end", () => {
167
+ const value = { whatever: true };
168
+ const result = parseAbiParams(["non-existent-type"], [value]);
169
+ expect(result).toStrictEqual([{ whatever: true }]);
170
+ });
159
171
  });
160
172
  });
@@ -32,6 +32,17 @@ export function parseAbiParams(
32
32
  constructorParamTypes: string[],
33
33
  constructorParamValues: unknown[],
34
34
  ): Array<string | bigint | boolean> {
35
+ /**
36
+ * Internal Solidity type checklist
37
+ * 1. tuple, array -> JSON.parse | todo: Recursively parse the content
38
+ * 2. uint, int -> bigint
39
+ * 3. address -> string
40
+ * 4. string -> string
41
+ * 5. bytes, bytes32 etc. -> string
42
+ * 6. bool -> boolean
43
+ * >>> Make sure to return the original value at the end of the function <<<
44
+ */
45
+
35
46
  // Make sure they have the same length
36
47
  if (constructorParamTypes.length !== constructorParamValues.length) {
37
48
  throw new Error(
@@ -46,6 +57,9 @@ export function parseAbiParams(
46
57
  }
47
58
  return value;
48
59
  }
60
+ if (type === "string") {
61
+ return String(value);
62
+ }
49
63
  if (type === "bytes32") {
50
64
  if (!isHex(value)) {
51
65
  throw new Error(`${value} is not a valid hex string`);
@@ -86,5 +100,8 @@ export function parseAbiParams(
86
100
  "Invalid boolean value. Expecting either 'true' or 'false'",
87
101
  );
88
102
  }
103
+
104
+ // Return the value here if none of the types match
105
+ return value;
89
106
  });
90
107
  }
@@ -8,4 +8,44 @@ describe("hex.ts", () => {
8
8
  "0x0000000000000000000000000000000000000000000000000000000000000064",
9
9
  );
10
10
  });
11
+
12
+ /**
13
+ * This test is put here as a docs for the method `numberToHex` because:
14
+ *
15
+ * `numberToHex` can still work with number-convertible strings - even tho it only accepts number or bigint
16
+ * because there's is one line of code that's converting the param into bigint anyway
17
+ * ```ts
18
+ * const value = BigInt(value_);
19
+ * ```
20
+ *
21
+ * As a side effect, the following 3 return the same result:
22
+ * ```ts
23
+ * readContract({
24
+ * contract,
25
+ * method: "function tokenURI(uint256 tokenId) returns (string)",
26
+ * params: [1n],
27
+ * })
28
+ *
29
+ * readContract({
30
+ * contract,
31
+ * method: "function tokenURI(uint256 tokenId) returns (string)",
32
+ * // @ts-ignore
33
+ * params: [1],
34
+ * })
35
+ *
36
+ * readContract({
37
+ * contract,
38
+ * method: "function tokenURI(uint256 tokenId) returns (string)",
39
+ * // @ts-ignore
40
+ * params: ["1"],
41
+ * })
42
+ * ```
43
+ */
44
+ it("should work with string !!!!", () => {
45
+ // @ts-ignore Intentional
46
+ const result = numberToHex("100", { size: 32, signed: false });
47
+ expect(result).toBe(
48
+ "0x0000000000000000000000000000000000000000000000000000000000000064",
49
+ );
50
+ });
11
51
  });
@@ -81,7 +81,7 @@ export async function fetchProofsERC1155(options: {
81
81
  uri: constructedShardUri,
82
82
  });
83
83
  shardData = await shard.json();
84
- } catch (e) {
84
+ } catch {
85
85
  // if the file can't be fetched it means claimer not in merkle tree
86
86
  return null;
87
87
  }
@@ -83,7 +83,7 @@ export async function fetchProofsERC20(options: {
83
83
  uri: constructedShardUri,
84
84
  });
85
85
  shardData = await shard.json();
86
- } catch (e) {
86
+ } catch {
87
87
  // if the file can't be fetched it means claimer not in merkle tree
88
88
  return null;
89
89
  }
@@ -81,7 +81,7 @@ export async function fetchProofsERC721(options: {
81
81
  uri: constructedShardUri,
82
82
  });
83
83
  shardData = await shard.json();
84
- } catch (e) {
84
+ } catch {
85
85
  // if the file can't be fetched it means claimer not in merkle tree
86
86
  return null;
87
87
  }
@@ -53,7 +53,7 @@ export async function fetchProofsForClaimer(options: {
53
53
  uri: constructedShardUri,
54
54
  });
55
55
  shardData = await shard.json();
56
- } catch (e) {
56
+ } catch {
57
57
  // if the file can't be fetched it means claimer not in merkle tree
58
58
  return null;
59
59
  }
@@ -63,7 +63,7 @@ export async function fetchTokenMetadata(
63
63
  ),
64
64
  })
65
65
  ).json();
66
- } catch (err) {
66
+ } catch {
67
67
  // otherwise attempt the second format
68
68
  return await (
69
69
  await download({
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.48.1-nightly-886094fbac4f25735438a651cdb0747c6d5de6c5-20240821000347";
1
+ export const version = "5.48.1-nightly-7ef1c721ef693584d153554d46f2e70e8015b261-20240822000343";
@@ -64,7 +64,7 @@ export async function postAuth({
64
64
  try {
65
65
  // existing device share
66
66
  await getDeviceShare(client.clientId);
67
- } catch (e) {
67
+ } catch {
68
68
  const _recoveryCode = await getRecoveryCode(
69
69
  storedToken,
70
70
  client,
@@ -116,7 +116,7 @@ export async function postAuthUserManaged(
116
116
  try {
117
117
  // existing device share
118
118
  await getDeviceShare(client.clientId);
119
- } catch (e) {
119
+ } catch {
120
120
  // trying to recreate device share from recovery code to derive wallet
121
121
  try {
122
122
  await setUpShareForNewDevice({
@@ -155,7 +155,7 @@ async function getRecoveryCode(
155
155
  }
156
156
  try {
157
157
  return await getCognitoRecoveryPasswordV2(client);
158
- } catch (e) {
158
+ } catch {
159
159
  return await getCognitoRecoveryPasswordV1(client).catch(() => {
160
160
  throw new Error("Something went wrong getting cognito recovery code");
161
161
  });
@@ -131,7 +131,7 @@ export async function getWalletUserDetails(
131
131
  try {
132
132
  const parsed = JSON.parse(result);
133
133
  return parsed;
134
- } catch (e) {
134
+ } catch {
135
135
  return undefined;
136
136
  }
137
137
  }
@@ -152,7 +152,7 @@ async function getShares<
152
152
  deviceShareToReturn = deviceShare.toRetrieve
153
153
  ? (await getDeviceShare(client.clientId)).deviceShare
154
154
  : undefined;
155
- } catch (e) {
155
+ } catch {
156
156
  throw new Error(DEVICE_SHARE_MISSING_MESSAGE);
157
157
  }
158
158
 
@@ -261,7 +261,7 @@ async function createSmartAccount(
261
261
  params: [originalMsgHash],
262
262
  });
263
263
  factorySupports712 = true;
264
- } catch (e) {
264
+ } catch {
265
265
  // ignore
266
266
  }
267
267
 
@@ -349,7 +349,7 @@ async function createSmartAccount(
349
349
  params: [originalMsgHash],
350
350
  });
351
351
  factorySupports712 = true;
352
- } catch (e) {
352
+ } catch {
353
353
  // ignore
354
354
  }
355
355
 
@@ -16,7 +16,7 @@ export function getValidPublicRPCUrl(chain: ChainMetadata) {
16
16
  url.search = "";
17
17
  }
18
18
  return url.toString();
19
- } catch (e) {
19
+ } catch {
20
20
  return rpc;
21
21
  }
22
22
  });
@@ -344,7 +344,7 @@ export async function disconnectWalletConnectSession(options: {
344
344
  message: "Disconnected",
345
345
  },
346
346
  });
347
- } catch (error) {
347
+ } catch {
348
348
  // ignore, the session doesn't exist already
349
349
  }
350
350
  }