thirdweb 5.99.2 → 5.100.0-nightly-713ebe0a2d6d8a409e41ce0f0317fc34b1f221bb-20250520000414

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 (201) hide show
  1. package/dist/cjs/bridge/Buy.js +16 -12
  2. package/dist/cjs/bridge/Buy.js.map +1 -1
  3. package/dist/cjs/bridge/Chains.js +2 -2
  4. package/dist/cjs/bridge/Chains.js.map +1 -1
  5. package/dist/cjs/bridge/Routes.js +2 -2
  6. package/dist/cjs/bridge/Routes.js.map +1 -1
  7. package/dist/cjs/bridge/Sell.js +17 -13
  8. package/dist/cjs/bridge/Sell.js.map +1 -1
  9. package/dist/cjs/bridge/Status.js +15 -2
  10. package/dist/cjs/bridge/Status.js.map +1 -1
  11. package/dist/cjs/bridge/Transfer.js +229 -0
  12. package/dist/cjs/bridge/Transfer.js.map +1 -0
  13. package/dist/cjs/bridge/index.js +2 -1
  14. package/dist/cjs/bridge/index.js.map +1 -1
  15. package/dist/cjs/bridge/types/Token.js +3 -0
  16. package/dist/cjs/bridge/types/Token.js.map +1 -0
  17. package/dist/cjs/exports/wallets.js +3 -1
  18. package/dist/cjs/exports/wallets.js.map +1 -1
  19. package/dist/cjs/pay/buyWithCrypto/getQuote.js +159 -53
  20. package/dist/cjs/pay/buyWithCrypto/getQuote.js.map +1 -1
  21. package/dist/cjs/pay/buyWithCrypto/getStatus.js +160 -14
  22. package/dist/cjs/pay/buyWithCrypto/getStatus.js.map +1 -1
  23. package/dist/cjs/pay/buyWithCrypto/getTransfer.js +95 -37
  24. package/dist/cjs/pay/buyWithCrypto/getTransfer.js.map +1 -1
  25. package/dist/cjs/pay/utils/definitions.js +1 -31
  26. package/dist/cjs/pay/utils/definitions.js.map +1 -1
  27. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +23 -21
  28. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  29. package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js +2 -15
  30. package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
  31. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
  32. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js +0 -135
  34. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js.map +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +3 -1
  36. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
  37. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js +1 -1
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js +4 -4
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js.map +1 -1
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +83 -34
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  43. package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js +2 -2
  44. package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
  45. package/dist/cjs/utils/any-evm/zksync/constants.js +1 -0
  46. package/dist/cjs/utils/any-evm/zksync/constants.js.map +1 -1
  47. package/dist/cjs/utils/domains.js +3 -0
  48. package/dist/cjs/utils/domains.js.map +1 -1
  49. package/dist/cjs/version.js +1 -1
  50. package/dist/cjs/version.js.map +1 -1
  51. package/dist/cjs/wallets/injected/mipdStore.js +12 -0
  52. package/dist/cjs/wallets/injected/mipdStore.js.map +1 -1
  53. package/dist/esm/bridge/Buy.js +16 -12
  54. package/dist/esm/bridge/Buy.js.map +1 -1
  55. package/dist/esm/bridge/Chains.js +2 -2
  56. package/dist/esm/bridge/Chains.js.map +1 -1
  57. package/dist/esm/bridge/Routes.js +2 -2
  58. package/dist/esm/bridge/Routes.js.map +1 -1
  59. package/dist/esm/bridge/Sell.js +17 -13
  60. package/dist/esm/bridge/Sell.js.map +1 -1
  61. package/dist/esm/bridge/Status.js +15 -2
  62. package/dist/esm/bridge/Status.js.map +1 -1
  63. package/dist/esm/bridge/Transfer.js +226 -0
  64. package/dist/esm/bridge/Transfer.js.map +1 -0
  65. package/dist/esm/bridge/index.js +1 -0
  66. package/dist/esm/bridge/index.js.map +1 -1
  67. package/dist/esm/bridge/types/Token.js +2 -0
  68. package/dist/esm/bridge/types/Token.js.map +1 -0
  69. package/dist/esm/exports/wallets.js +1 -0
  70. package/dist/esm/exports/wallets.js.map +1 -1
  71. package/dist/esm/pay/buyWithCrypto/getQuote.js +159 -53
  72. package/dist/esm/pay/buyWithCrypto/getQuote.js.map +1 -1
  73. package/dist/esm/pay/buyWithCrypto/getStatus.js +160 -14
  74. package/dist/esm/pay/buyWithCrypto/getStatus.js.map +1 -1
  75. package/dist/esm/pay/buyWithCrypto/getTransfer.js +95 -37
  76. package/dist/esm/pay/buyWithCrypto/getTransfer.js.map +1 -1
  77. package/dist/esm/pay/utils/definitions.js +0 -25
  78. package/dist/esm/pay/utils/definitions.js.map +1 -1
  79. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +23 -21
  80. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  81. package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js +2 -15
  82. package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
  83. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
  84. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  85. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js +1 -134
  86. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js.map +1 -1
  87. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +3 -1
  88. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
  89. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js +1 -1
  90. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js.map +1 -1
  91. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js +1 -1
  92. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js.map +1 -1
  93. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +84 -34
  94. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  95. package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js +2 -2
  96. package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
  97. package/dist/esm/utils/any-evm/zksync/constants.js +1 -0
  98. package/dist/esm/utils/any-evm/zksync/constants.js.map +1 -1
  99. package/dist/esm/utils/domains.js +3 -0
  100. package/dist/esm/utils/domains.js.map +1 -1
  101. package/dist/esm/version.js +1 -1
  102. package/dist/esm/version.js.map +1 -1
  103. package/dist/esm/wallets/injected/mipdStore.js +11 -0
  104. package/dist/esm/wallets/injected/mipdStore.js.map +1 -1
  105. package/dist/types/bridge/Buy.d.ts +10 -8
  106. package/dist/types/bridge/Buy.d.ts.map +1 -1
  107. package/dist/types/bridge/Sell.d.ts +12 -10
  108. package/dist/types/bridge/Sell.d.ts.map +1 -1
  109. package/dist/types/bridge/Status.d.ts.map +1 -1
  110. package/dist/types/bridge/Transfer.d.ts +199 -0
  111. package/dist/types/bridge/Transfer.d.ts.map +1 -0
  112. package/dist/types/bridge/index.d.ts +1 -0
  113. package/dist/types/bridge/index.d.ts.map +1 -1
  114. package/dist/types/bridge/types/Route.d.ts +3 -17
  115. package/dist/types/bridge/types/Route.d.ts.map +1 -1
  116. package/dist/types/bridge/types/Status.d.ts +15 -0
  117. package/dist/types/bridge/types/Status.d.ts.map +1 -1
  118. package/dist/types/bridge/types/Token.d.ts +10 -0
  119. package/dist/types/bridge/types/Token.d.ts.map +1 -0
  120. package/dist/types/exports/wallets.d.ts +1 -0
  121. package/dist/types/exports/wallets.d.ts.map +1 -1
  122. package/dist/types/pay/buyWithCrypto/commonTypes.d.ts +0 -9
  123. package/dist/types/pay/buyWithCrypto/commonTypes.d.ts.map +1 -1
  124. package/dist/types/pay/buyWithCrypto/getQuote.d.ts.map +1 -1
  125. package/dist/types/pay/buyWithCrypto/getStatus.d.ts +1 -1
  126. package/dist/types/pay/buyWithCrypto/getStatus.d.ts.map +1 -1
  127. package/dist/types/pay/buyWithCrypto/getTransfer.d.ts.map +1 -1
  128. package/dist/types/pay/utils/definitions.d.ts +0 -25
  129. package/dist/types/pay/utils/definitions.d.ts.map +1 -1
  130. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  131. package/dist/types/react/web/ui/ConnectWallet/TransactionsScreen.d.ts.map +1 -1
  132. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.d.ts +2 -13
  133. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.d.ts.map +1 -1
  134. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.d.ts.map +1 -1
  135. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.d.ts +0 -1
  136. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.d.ts.map +1 -1
  137. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts +8 -4
  138. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts.map +1 -1
  139. package/dist/types/react/web/ui/MediaRenderer/MediaRenderer.d.ts +1 -1
  140. package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts.map +1 -1
  141. package/dist/types/utils/any-evm/zksync/constants.d.ts.map +1 -1
  142. package/dist/types/utils/domains.d.ts +6 -0
  143. package/dist/types/utils/domains.d.ts.map +1 -1
  144. package/dist/types/version.d.ts +1 -1
  145. package/dist/types/version.d.ts.map +1 -1
  146. package/dist/types/wallets/injected/mipdStore.d.ts +7 -0
  147. package/dist/types/wallets/injected/mipdStore.d.ts.map +1 -1
  148. package/package.json +1 -1
  149. package/src/bridge/Buy.ts +18 -12
  150. package/src/bridge/Chains.ts +2 -2
  151. package/src/bridge/Routes.ts +2 -2
  152. package/src/bridge/Sell.ts +19 -13
  153. package/src/bridge/Status.ts +15 -2
  154. package/src/bridge/Transfer.test.ts +76 -0
  155. package/src/bridge/Transfer.ts +270 -0
  156. package/src/bridge/index.ts +1 -0
  157. package/src/bridge/types/Route.ts +3 -17
  158. package/src/bridge/types/Status.ts +15 -1
  159. package/src/bridge/types/Token.ts +10 -0
  160. package/src/exports/wallets.ts +1 -0
  161. package/src/extensions/prebuilts/deploy-modular-core.test.ts +2 -1
  162. package/src/pay/buyWithCrypto/commonTypes.ts +0 -10
  163. package/src/pay/buyWithCrypto/getQuote.ts +210 -100
  164. package/src/pay/buyWithCrypto/getStatus.ts +213 -20
  165. package/src/pay/buyWithCrypto/getTransfer.ts +129 -61
  166. package/src/pay/utils/definitions.ts +0 -34
  167. package/src/react/core/hooks/transaction/useSendTransaction.ts +27 -33
  168. package/src/react/web/ui/ConnectWallet/TransactionsScreen.tsx +29 -35
  169. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +3 -1
  170. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.ts +2 -181
  171. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.tsx +3 -1
  172. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.tsx +1 -1
  173. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.ts +1 -3
  174. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.ts +118 -63
  175. package/src/react/web/ui/TransactionButton/ExecutingScreen.tsx +0 -2
  176. package/src/utils/any-evm/zksync/constants.ts +1 -0
  177. package/src/utils/domain.test.ts +1 -0
  178. package/src/utils/domains.ts +8 -0
  179. package/src/version.ts +1 -1
  180. package/src/wallets/injected/mipdStore.ts +14 -0
  181. package/dist/cjs/bridge/constants.js +0 -5
  182. package/dist/cjs/bridge/constants.js.map +0 -1
  183. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +0 -54
  184. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +0 -1
  185. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js +0 -52
  186. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js.map +0 -1
  187. package/dist/esm/bridge/constants.js +0 -2
  188. package/dist/esm/bridge/constants.js.map +0 -1
  189. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +0 -51
  190. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +0 -1
  191. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js +0 -48
  192. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js.map +0 -1
  193. package/dist/types/bridge/constants.d.ts +0 -2
  194. package/dist/types/bridge/constants.d.ts.map +0 -1
  195. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts +0 -10
  196. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts.map +0 -1
  197. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.d.ts +0 -9
  198. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.d.ts.map +0 -1
  199. package/src/bridge/constants.ts +0 -1
  200. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.tsx +0 -163
  201. package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.tsx +0 -127
@@ -1,9 +0,0 @@
1
- import type { ThirdwebClient } from "../../../../../../../client/client.js";
2
- import type { TxStatusInfo } from "./useBuyTransactionsToShow.js";
3
- export declare const BuyTxHistoryButtonHeight = "62px";
4
- export declare function BuyTxHistoryButton(props: {
5
- txInfo: TxStatusInfo;
6
- client: ThirdwebClient;
7
- onClick?: () => void;
8
- }): import("react/jsx-runtime.js").JSX.Element;
9
- //# sourceMappingURL=BuyTxHistoryButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuyTxHistoryButton.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAc5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,8CA2FA"}
@@ -1 +0,0 @@
1
- export const UNIVERSAL_BRIDGE_URL = "https://bridge.thirdweb.com/v1";
@@ -1,163 +0,0 @@
1
- "use client";
2
- import { ArrowRightIcon, CrossCircledIcon } from "@radix-ui/react-icons";
3
- import type { ThirdwebClient } from "../../../../../../../client/client.js";
4
- import {
5
- fontSize,
6
- iconSize,
7
- spacing,
8
- } from "../../../../../../core/design-system/index.js";
9
- import { Skeleton } from "../../../../components/Skeleton.js";
10
- import { Spinner } from "../../../../components/Spinner.js";
11
- import { Container } from "../../../../components/basic.js";
12
- import { Button } from "../../../../components/buttons.js";
13
- import { Text } from "../../../../components/text.js";
14
- import {
15
- BuyTxHistoryButton,
16
- BuyTxHistoryButtonHeight,
17
- } from "./BuyTxHistoryButton.js";
18
- import {
19
- type TxStatusInfo,
20
- useBuyTransactionsToShow,
21
- } from "./useBuyTransactionsToShow.js";
22
-
23
- /**
24
- * @internal
25
- */
26
- export function PayTxHistoryList(props: {
27
- client: ThirdwebClient;
28
- onSelectTx: (tx: TxStatusInfo) => void;
29
- }) {
30
- const {
31
- pageIndex,
32
- setPageIndex,
33
- txInfosToShow,
34
- hidePagination,
35
- isLoading,
36
- pagination,
37
- } = useBuyTransactionsToShow(props.client);
38
-
39
- const noTransactions = txInfosToShow.length === 0;
40
-
41
- return (
42
- <Container
43
- scrollY
44
- flex="column"
45
- fullHeight
46
- style={{
47
- width: "100%",
48
- minHeight: "250px",
49
- maxHeight: "370px",
50
- paddingBottom: spacing.lg,
51
- }}
52
- >
53
- <Container flex="column" gap="xs" expand>
54
- {noTransactions && !isLoading && (
55
- <Container
56
- flex="column"
57
- gap="md"
58
- center="both"
59
- color="secondaryText"
60
- style={{
61
- minHeight: "250px",
62
- }}
63
- >
64
- <CrossCircledIcon width={iconSize.xl} height={iconSize.xl} />
65
- <Text>No Transactions</Text>
66
- </Container>
67
- )}
68
-
69
- {noTransactions && isLoading && (
70
- <Container
71
- flex="row"
72
- center="both"
73
- style={{
74
- minHeight: "250px",
75
- }}
76
- >
77
- <Spinner size="xl" color="accentText" />
78
- </Container>
79
- )}
80
-
81
- {txInfosToShow.length > 0 && (
82
- <Container animate="fadein" flex="column" gap="xs">
83
- {txInfosToShow.map((txInfo) => {
84
- return (
85
- <BuyTxHistoryButton
86
- key={
87
- txInfo.type === "swap"
88
- ? txInfo.status.source?.transactionHash
89
- : txInfo.status.intentId
90
- }
91
- txInfo={txInfo}
92
- client={props.client}
93
- onClick={() => {
94
- props.onSelectTx(txInfo);
95
- }}
96
- />
97
- );
98
- })}
99
- </Container>
100
- )}
101
-
102
- {isLoading && txInfosToShow.length > 0 && (
103
- <>
104
- <Skeleton width="100%" height={BuyTxHistoryButtonHeight} />
105
- <Skeleton width="100%" height={BuyTxHistoryButtonHeight} />
106
- <Skeleton width="100%" height={BuyTxHistoryButtonHeight} />
107
- </>
108
- )}
109
- </Container>
110
-
111
- {pagination && !hidePagination && (
112
- <Container py="md">
113
- <div
114
- style={{
115
- display: "grid",
116
- gridTemplateColumns: "1fr 1fr",
117
- gap: spacing.sm,
118
- }}
119
- >
120
- <Button
121
- variant="outline"
122
- gap="xs"
123
- disabled={pageIndex === 0}
124
- data-disabled={pageIndex === 0}
125
- style={{
126
- fontSize: fontSize.sm,
127
- paddingBlock: spacing.sm,
128
- }}
129
- onClick={() => {
130
- setPageIndex((prev) => prev - 1);
131
- }}
132
- >
133
- <ArrowRightIcon
134
- width={iconSize.sm}
135
- height={iconSize.sm}
136
- style={{
137
- transform: "rotate(180deg)",
138
- }}
139
- />
140
- Prev
141
- </Button>
142
- <Button
143
- variant="outline"
144
- gap="xs"
145
- disabled={!pagination.hasNextPage}
146
- data-disabled={!pagination.hasNextPage}
147
- style={{
148
- fontSize: fontSize.sm,
149
- paddingBlock: spacing.sm,
150
- }}
151
- onClick={() => {
152
- setPageIndex((prev) => prev + 1);
153
- }}
154
- >
155
- Next
156
- <ArrowRightIcon width={iconSize.sm} height={iconSize.sm} />
157
- </Button>
158
- </div>
159
- </Container>
160
- )}
161
- </Container>
162
- );
163
- }
@@ -1,127 +0,0 @@
1
- import styled from "@emotion/styled";
2
- import { getCachedChain } from "../../../../../../../chains/utils.js";
3
- import type { ThirdwebClient } from "../../../../../../../client/client.js";
4
- import { formatNumber } from "../../../../../../../utils/formatNumber.js";
5
- import { useCustomTheme } from "../../../../../../core/design-system/CustomThemeProvider.js";
6
- import { spacing } from "../../../../../../core/design-system/index.js";
7
- import { ChainName } from "../../../../components/ChainName.js";
8
- import { Spacer } from "../../../../components/Spacer.js";
9
- import { Container } from "../../../../components/basic.js";
10
- import { Button } from "../../../../components/buttons.js";
11
- import { Text } from "../../../../components/text.js";
12
- import { PayTokenIcon } from "../PayTokenIcon.js";
13
- import {
14
- getBuyWithCryptoStatusMeta,
15
- getBuyWithFiatStatusMeta,
16
- } from "./statusMeta.js";
17
- import type { TxStatusInfo } from "./useBuyTransactionsToShow.js";
18
-
19
- export const BuyTxHistoryButtonHeight = "62px";
20
-
21
- export function BuyTxHistoryButton(props: {
22
- txInfo: TxStatusInfo;
23
- client: ThirdwebClient;
24
- onClick?: () => void;
25
- }) {
26
- const statusMeta =
27
- props.txInfo.type === "swap"
28
- ? getBuyWithCryptoStatusMeta(props.txInfo.status)
29
- : getBuyWithFiatStatusMeta(props.txInfo.status);
30
-
31
- return (
32
- <TxButton
33
- onClick={props.onClick}
34
- variant="secondary"
35
- fullWidth
36
- style={{
37
- paddingBlock: spacing.sm,
38
- }}
39
- >
40
- <Container
41
- flex="row"
42
- center="y"
43
- gap="sm"
44
- style={{
45
- flex: 1,
46
- }}
47
- >
48
- <PayTokenIcon
49
- client={props.client}
50
- chain={getCachedChain(props.txInfo.status.quote.toToken.chainId)}
51
- size="md"
52
- token={{
53
- address: props.txInfo.status.quote.toToken.tokenAddress,
54
- }}
55
- />
56
-
57
- <div
58
- style={{
59
- flex: 1,
60
- display: "flex",
61
- flexDirection: "column",
62
- justifyContent: "center",
63
- }}
64
- >
65
- {/* Row 1 */}
66
- <Container
67
- flex="row"
68
- gap="xs"
69
- center="y"
70
- style={{
71
- justifyContent: "space-between",
72
- }}
73
- >
74
- <Text size="sm" color="primaryText">
75
- Buy{" "}
76
- {formatNumber(
77
- Number(
78
- props.txInfo.type === "swap"
79
- ? props.txInfo.status.quote.toAmount
80
- : props.txInfo.status.quote.estimatedToTokenAmount,
81
- ),
82
- 6,
83
- )}{" "}
84
- {props.txInfo.status.quote.toToken.symbol}
85
- </Text>
86
- </Container>
87
-
88
- <Spacer y="xxs" />
89
-
90
- {/* Row 2 */}
91
- <Container
92
- flex="row"
93
- center="y"
94
- gap="xxs"
95
- style={{
96
- justifyContent: "space-between",
97
- }}
98
- >
99
- <ChainName
100
- chain={getCachedChain(props.txInfo.status.quote.toToken.chainId)}
101
- size="xs"
102
- client={props.client}
103
- />
104
- </Container>
105
- </div>
106
- </Container>
107
-
108
- {/* Status */}
109
- <Container flex="row" gap="xxs" center="y">
110
- <Text size="xs" color={statusMeta.color}>
111
- {statusMeta.status}
112
- </Text>
113
- </Container>
114
- </TxButton>
115
- );
116
- }
117
-
118
- const TxButton = /* @__PURE__ */ styled(Button)(() => {
119
- const theme = useCustomTheme();
120
- return {
121
- background: theme.colors.tertiaryBg,
122
- "&:hover": {
123
- background: theme.colors.secondaryButtonBg,
124
- },
125
- height: BuyTxHistoryButtonHeight,
126
- };
127
- });