@lifi/widget 3.13.1 → 3.14.0-beta.0

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 (200) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +10 -5
  3. package/dist/esm/AppDrawer.style.d.ts +1 -3
  4. package/dist/esm/AppRoutes.d.ts +1 -1
  5. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +1 -0
  6. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
  7. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +3 -9
  8. package/dist/esm/components/AlertMessage/AlertMessage.style.d.ts +2 -6
  9. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +2 -6
  10. package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +2 -6
  11. package/dist/esm/components/AppContainer.d.ts +3 -9
  12. package/dist/esm/components/Avatar/Avatar.style.d.ts +6 -18
  13. package/dist/esm/components/Avatar/SmallAvatar.d.ts +1 -3
  14. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +2 -2
  15. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  16. package/dist/esm/components/ButtonTertiary.d.ts +1 -3
  17. package/dist/esm/components/ButtonTertiary.js +4 -5
  18. package/dist/esm/components/ButtonTertiary.js.map +1 -1
  19. package/dist/esm/components/Card/Card.d.ts +1 -3
  20. package/dist/esm/components/Card/CardButton.style.d.ts +4 -12
  21. package/dist/esm/components/Card/CardHeader.d.ts +1 -3
  22. package/dist/esm/components/Card/CardIconButton.d.ts +1 -3
  23. package/dist/esm/components/Card/CardLabel.d.ts +2 -6
  24. package/dist/esm/components/Card/CardLabel.js +0 -1
  25. package/dist/esm/components/Card/CardLabel.js.map +1 -1
  26. package/dist/esm/components/Card/CardTitle.d.ts +1 -3
  27. package/dist/esm/components/Card/InputCard.d.ts +1 -3
  28. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +2 -6
  29. package/dist/esm/components/ContractComponent/NFT/NFT.style.d.ts +1 -3
  30. package/dist/esm/components/Header/Header.style.d.ts +6 -18
  31. package/dist/esm/components/Header/SettingsButton.style.d.ts +2 -6
  32. package/dist/esm/components/IconTypography.d.ts +1 -3
  33. package/dist/esm/components/ListItem/ListItem.d.ts +1 -3
  34. package/dist/esm/components/ListItem/ListItemButton.d.ts +1 -3
  35. package/dist/esm/components/ListItemButton.d.ts +1 -3
  36. package/dist/esm/components/PageContainer.d.ts +1 -3
  37. package/dist/esm/components/PoweredBy/PoweredBy.style.d.ts +1 -3
  38. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +3 -9
  39. package/dist/esm/components/RouteCard/RouteCard.js +13 -4
  40. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  41. package/dist/esm/components/RouteCard/RouteCard.style.d.ts +1 -3
  42. package/dist/esm/components/RouteCard/getMatchingLabels.d.ts +3 -0
  43. package/dist/esm/components/RouteCard/getMatchingLabels.js +34 -0
  44. package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -0
  45. package/dist/esm/components/Routes/RoutesExpanded.js +1 -1
  46. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
  47. package/dist/esm/components/Routes/RoutesExpanded.style.d.ts +4 -12
  48. package/dist/esm/components/Search/SearchInput.style.d.ts +2 -6
  49. package/dist/esm/components/Search/SearchNotFound.style.d.ts +3 -9
  50. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +3 -9
  51. package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -3
  52. package/dist/esm/components/SettingsListItemButton.d.ts +1 -3
  53. package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +11 -33
  54. package/dist/esm/components/Step/CircularProgress.js +2 -1
  55. package/dist/esm/components/Step/CircularProgress.js.map +1 -1
  56. package/dist/esm/components/Step/CircularProgress.style.d.ts +1 -3
  57. package/dist/esm/components/Step/CircularProgress.style.js +13 -2
  58. package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
  59. package/dist/esm/components/Step/Step.js +17 -8
  60. package/dist/esm/components/Step/Step.js.map +1 -1
  61. package/dist/esm/components/Step/StepProcess.js +2 -1
  62. package/dist/esm/components/Step/StepProcess.js.map +1 -1
  63. package/dist/esm/components/Step/StepTimer.js +2 -1
  64. package/dist/esm/components/Step/StepTimer.js.map +1 -1
  65. package/dist/esm/components/StepActions/StepActions.style.d.ts +3 -9
  66. package/dist/esm/components/StepDivider/StepDivider.style.d.ts +1 -3
  67. package/dist/esm/components/Tabs/Tabs.style.d.ts +3 -9
  68. package/dist/esm/components/Token/Token.style.d.ts +3 -9
  69. package/dist/esm/components/TokenList/TokenList.style.d.ts +3 -9
  70. package/dist/esm/components/TokenList/TokenListItem.js +1 -1
  71. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  72. package/dist/esm/components/TokenRate/TokenRate.style.d.ts +1 -3
  73. package/dist/esm/config/version.d.ts +1 -1
  74. package/dist/esm/config/version.js +1 -1
  75. package/dist/esm/config/version.js.map +1 -1
  76. package/dist/esm/hooks/timer/useInterval.js +1 -1
  77. package/dist/esm/hooks/timer/useInterval.js.map +1 -1
  78. package/dist/esm/hooks/useDebouncedWatch.js +1 -1
  79. package/dist/esm/hooks/useDebouncedWatch.js.map +1 -1
  80. package/dist/esm/hooks/useProcessMessage.js +18 -6
  81. package/dist/esm/hooks/useProcessMessage.js.map +1 -1
  82. package/dist/esm/hooks/useRoutes.d.ts +2 -2
  83. package/dist/esm/hooks/useRoutes.js +99 -58
  84. package/dist/esm/hooks/useRoutes.js.map +1 -1
  85. package/dist/esm/hooks/useSetContentHeight.d.ts +1 -1
  86. package/dist/esm/hooks/useSetContentHeight.js.map +1 -1
  87. package/dist/esm/i18n/bn.json +5 -1
  88. package/dist/esm/i18n/de.json +5 -1
  89. package/dist/esm/i18n/en.json +14 -10
  90. package/dist/esm/i18n/es.json +5 -1
  91. package/dist/esm/i18n/fr.json +5 -1
  92. package/dist/esm/i18n/hi.json +5 -1
  93. package/dist/esm/i18n/id.json +5 -1
  94. package/dist/esm/i18n/it.json +5 -1
  95. package/dist/esm/i18n/ja.json +5 -1
  96. package/dist/esm/i18n/ko.json +5 -1
  97. package/dist/esm/i18n/pt.json +5 -1
  98. package/dist/esm/i18n/th.json +5 -1
  99. package/dist/esm/i18n/tr.json +5 -1
  100. package/dist/esm/i18n/uk.json +5 -1
  101. package/dist/esm/i18n/vi.json +5 -1
  102. package/dist/esm/i18n/zh.json +5 -1
  103. package/dist/esm/pages/MainPage/MainPage.style.d.ts +1 -3
  104. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +1 -3
  105. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +1 -2
  106. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
  107. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  108. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +15 -45
  109. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.d.ts +1 -3
  110. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +2 -6
  111. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +3 -9
  112. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +2 -2
  113. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
  114. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +1 -1
  115. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  116. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.d.ts +3 -9
  117. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +1 -1
  118. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  119. package/dist/esm/providers/WalletProvider/EVMBaseProvider.js +1 -1
  120. package/dist/esm/providers/WalletProvider/EVMBaseProvider.js.map +1 -1
  121. package/dist/esm/providers/WalletProvider/SDKProviders.js +2 -15
  122. package/dist/esm/providers/WalletProvider/SDKProviders.js.map +1 -1
  123. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js +1 -1
  124. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js.map +1 -1
  125. package/dist/esm/stores/bookmarks/BookmarkStore.js +1 -1
  126. package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -1
  127. package/dist/esm/stores/chains/ChainOrderStore.js +1 -1
  128. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  129. package/dist/esm/stores/form/FormStore.js +1 -1
  130. package/dist/esm/stores/form/FormStore.js.map +1 -1
  131. package/dist/esm/stores/header/useHeaderStore.js +1 -1
  132. package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
  133. package/dist/esm/stores/routes/RouteExecutionStore.js +1 -1
  134. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
  135. package/dist/esm/stores/routes/useExecutingRoutesIds.js +2 -2
  136. package/dist/esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
  137. package/dist/esm/stores/settings/useSplitSubvariantStore.js +1 -1
  138. package/dist/esm/stores/settings/useSplitSubvariantStore.js.map +1 -1
  139. package/dist/esm/themes/createTheme.js +4 -5
  140. package/dist/esm/themes/createTheme.js.map +1 -1
  141. package/dist/esm/types/widget.d.ts +19 -1
  142. package/dist/esm/types/widget.js.map +1 -1
  143. package/package.json +13 -16
  144. package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +1 -0
  145. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +3 -3
  146. package/src/components/ButtonTertiary.tsx +4 -5
  147. package/src/components/Card/CardLabel.tsx +0 -1
  148. package/src/components/RouteCard/RouteCard.tsx +19 -6
  149. package/src/components/RouteCard/getMatchingLabels.ts +53 -0
  150. package/src/components/Routes/RoutesExpanded.tsx +3 -3
  151. package/src/components/Step/CircularProgress.style.tsx +13 -2
  152. package/src/components/Step/CircularProgress.tsx +2 -1
  153. package/src/components/Step/Step.tsx +23 -12
  154. package/src/components/Step/StepProcess.tsx +2 -1
  155. package/src/components/Step/StepTimer.tsx +3 -1
  156. package/src/components/TokenList/TokenListItem.tsx +1 -1
  157. package/src/config/version.ts +1 -1
  158. package/src/hooks/timer/useInterval.ts +1 -1
  159. package/src/hooks/useDebouncedWatch.ts +1 -1
  160. package/src/hooks/useProcessMessage.ts +24 -5
  161. package/src/hooks/useRoutes.ts +127 -66
  162. package/src/hooks/useSetContentHeight.ts +1 -1
  163. package/src/i18n/bn.json +5 -1
  164. package/src/i18n/de.json +5 -1
  165. package/src/i18n/en.json +14 -10
  166. package/src/i18n/es.json +5 -1
  167. package/src/i18n/fr.json +5 -1
  168. package/src/i18n/hi.json +5 -1
  169. package/src/i18n/id.json +5 -1
  170. package/src/i18n/it.json +5 -1
  171. package/src/i18n/ja.json +5 -1
  172. package/src/i18n/ko.json +5 -1
  173. package/src/i18n/pt.json +5 -1
  174. package/src/i18n/th.json +5 -1
  175. package/src/i18n/tr.json +5 -1
  176. package/src/i18n/uk.json +5 -1
  177. package/src/i18n/vi.json +5 -1
  178. package/src/i18n/zh.json +5 -1
  179. package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +2 -3
  180. package/src/pages/SendToWallet/BookmarksPage.tsx +0 -1
  181. package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +2 -2
  182. package/src/pages/TransactionPage/StatusBottomSheet.tsx +1 -1
  183. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +1 -1
  184. package/src/providers/WalletProvider/EVMBaseProvider.tsx +1 -1
  185. package/src/providers/WalletProvider/SDKProviders.tsx +2 -16
  186. package/src/providers/WalletProvider/UTXOBaseProvider.tsx +1 -1
  187. package/src/stores/bookmarks/BookmarkStore.tsx +1 -1
  188. package/src/stores/chains/ChainOrderStore.tsx +1 -1
  189. package/src/stores/form/FormStore.tsx +1 -1
  190. package/src/stores/header/useHeaderStore.tsx +1 -1
  191. package/src/stores/routes/RouteExecutionStore.tsx +1 -1
  192. package/src/stores/routes/useExecutingRoutesIds.ts +2 -2
  193. package/src/stores/settings/useSplitSubvariantStore.tsx +1 -1
  194. package/src/themes/createTheme.ts +6 -8
  195. package/src/themes/types.ts +0 -1
  196. package/src/types/widget.ts +23 -0
  197. package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.d.ts +0 -8
  198. package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.js +0 -95
  199. package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.js.map +0 -1
  200. package/src/providers/WalletProvider/getSafeMultisigConfig.ts +0 -144
@@ -1,144 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import type { MultisigTransaction, MultisigTxDetails } from '@lifi/sdk'
3
- import type { Connector } from 'wagmi'
4
-
5
- enum TransactionStatus {
6
- AWAITING_CONFIRMATIONS = 'AWAITING_CONFIRMATIONS',
7
- AWAITING_EXECUTION = 'AWAITING_EXECUTION',
8
- CANCELLED = 'CANCELLED',
9
- FAILED = 'FAILED',
10
- SUCCESS = 'SUCCESS',
11
- }
12
-
13
- type GatewayTransactionDetails = {
14
- safeAddress: string
15
- txId: string
16
- executedAt?: number
17
- txStatus: TransactionStatus
18
- txHash?: string
19
- }
20
-
21
- export const getSafeMultisigConfig = (connector: Connector) => {
22
- const getMultisigTransactionDetails = async (
23
- txHash: string,
24
- chainId: number,
25
- updateIntermediateStatus?: () => void
26
- ): Promise<MultisigTxDetails> => {
27
- const safeAppProvider = (await connector.getProvider()) as any
28
- const safeProviderSDK = safeAppProvider.sdk
29
-
30
- const safeTransactionDetails: GatewayTransactionDetails =
31
- await safeProviderSDK.txs.getBySafeTxHash(txHash)
32
-
33
- const safeTxHash = safeTransactionDetails.txId
34
-
35
- const safeApiTransactionResponse = await fetch(
36
- `https://safe-client.safe.global/v1/chains/${chainId}/transactions/${safeTxHash}`
37
- )
38
-
39
- const safeApiTransactionDetails = await safeApiTransactionResponse.json()
40
-
41
- const nonTerminalStatus = [
42
- TransactionStatus.SUCCESS,
43
- TransactionStatus.CANCELLED,
44
- TransactionStatus.FAILED,
45
- ]
46
-
47
- const isSafeStatusPending =
48
- !nonTerminalStatus.includes(safeTransactionDetails.txStatus) &&
49
- !nonTerminalStatus.includes(safeApiTransactionDetails.txStatus)
50
-
51
- const isAwaitingExecution = [
52
- safeTransactionDetails.txStatus,
53
- safeApiTransactionDetails.txStatus,
54
- ].includes(TransactionStatus.AWAITING_EXECUTION)
55
-
56
- if (isAwaitingExecution) {
57
- updateIntermediateStatus?.()
58
- }
59
-
60
- if (isSafeStatusPending) {
61
- await new Promise((resolve) => {
62
- setTimeout(resolve, 5000)
63
- })
64
-
65
- return await getMultisigTransactionDetails(
66
- txHash,
67
- chainId,
68
- updateIntermediateStatus
69
- )
70
- }
71
-
72
- if (
73
- [
74
- safeTransactionDetails.txStatus,
75
- safeApiTransactionDetails.txStatus,
76
- ].includes(TransactionStatus.SUCCESS)
77
- ) {
78
- return {
79
- status: 'DONE',
80
- txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
81
- }
82
- }
83
-
84
- if (
85
- [
86
- safeTransactionDetails.txStatus,
87
- safeApiTransactionDetails.txStatus,
88
- ].includes(TransactionStatus.FAILED)
89
- ) {
90
- return {
91
- status: 'FAILED',
92
- txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
93
- }
94
- }
95
-
96
- if (
97
- [
98
- safeTransactionDetails.txStatus,
99
- safeApiTransactionDetails.txStatus,
100
- ].includes(TransactionStatus.CANCELLED)
101
- ) {
102
- return {
103
- status: 'CANCELLED',
104
- txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
105
- }
106
- }
107
-
108
- if (isSafeStatusPending) {
109
- return {
110
- status: 'PENDING',
111
- txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
112
- }
113
- }
114
-
115
- return {
116
- status: 'PENDING',
117
- txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
118
- }
119
- }
120
-
121
- const sendBatchTransaction = async (
122
- batchTransactions: MultisigTransaction[]
123
- ): Promise<`0x${string}`> => {
124
- const safeAppProvider = (await connector.getProvider()) as any
125
- const safeProviderSDK = safeAppProvider.sdk
126
-
127
- try {
128
- const { safeTxHash } = await safeProviderSDK.txs.send({
129
- txs: batchTransactions,
130
- })
131
-
132
- return `0x${safeTxHash.slice(2)}`
133
- } catch (error) {
134
- throw new Error(error as string)
135
- }
136
- }
137
-
138
- return {
139
- isMultisigWalletClient: connector?.id === 'safe',
140
- shouldBatchTransactions: connector?.id === 'safe',
141
- sendBatchTransaction,
142
- getMultisigTransactionDetails,
143
- }
144
- }