@openocean.finance/widget 1.0.43 → 1.0.45

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 (158) hide show
  1. package/dist/esm/App.js.map +1 -1
  2. package/dist/esm/AppDrawer.style.d.ts +1 -1
  3. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
  4. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +1 -1
  5. package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +1 -1
  6. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +37 -33
  7. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  8. package/dist/esm/components/Avatar/Avatar.style.d.ts +1 -1
  9. package/dist/esm/components/Avatar/SmallAvatar.d.ts +1 -1
  10. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +1 -1
  11. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  12. package/dist/esm/components/ButtonTertiary.d.ts +1 -1
  13. package/dist/esm/components/Card/CardHeader.d.ts +1 -1
  14. package/dist/esm/components/Card/CardIconButton.d.ts +1 -1
  15. package/dist/esm/components/Card/InputCard.d.ts +1 -1
  16. package/dist/esm/components/ContractComponent/NFT/NFT.style.d.ts +1 -1
  17. package/dist/esm/components/Header/Header.style.d.ts +2 -2
  18. package/dist/esm/components/Header/SettingsButton.style.d.ts +2 -2
  19. package/dist/esm/components/Header/WalletHeader.js +4 -4
  20. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  21. package/dist/esm/components/ListItem/ListItem.d.ts +1 -1
  22. package/dist/esm/components/Messages/WarningMessages.js +1 -0
  23. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  24. package/dist/esm/components/Messages/useMessageQueue.js +1 -1
  25. package/dist/esm/components/Messages/useMessageQueue.js.map +1 -1
  26. package/dist/esm/components/Search/SearchInput.style.d.ts +1 -1
  27. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
  28. package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  29. package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +3 -3
  30. package/dist/esm/components/StepActions/StepActions.style.d.ts +1 -1
  31. package/dist/esm/components/Tabs/Tabs.style.d.ts +2 -2
  32. package/dist/esm/components/TokenList/TokenList.style.d.ts +2 -2
  33. package/dist/esm/components/TransactionDetails.js +4 -1
  34. package/dist/esm/components/TransactionDetails.js.map +1 -1
  35. package/dist/esm/config/defaultChainIds.js +3 -0
  36. package/dist/esm/config/defaultChainIds.js.map +1 -1
  37. package/dist/esm/config/version.d.ts +1 -1
  38. package/dist/esm/config/version.js +1 -1
  39. package/dist/esm/cross/adapters/AcrossAdapter.js +21 -22
  40. package/dist/esm/cross/adapters/AcrossAdapter.js.map +1 -1
  41. package/dist/esm/cross/adapters/BaseSwapAdapter.d.ts +17 -9
  42. package/dist/esm/cross/adapters/BaseSwapAdapter.js +15 -4
  43. package/dist/esm/cross/adapters/BaseSwapAdapter.js.map +1 -1
  44. package/dist/esm/cross/adapters/DebridgeAdapter.js +8 -7
  45. package/dist/esm/cross/adapters/DebridgeAdapter.js.map +1 -1
  46. package/dist/esm/cross/adapters/LifiAdapter.js +7 -6
  47. package/dist/esm/cross/adapters/LifiAdapter.js.map +1 -1
  48. package/dist/esm/cross/adapters/MayanAdapter.js +1 -2
  49. package/dist/esm/cross/adapters/MayanAdapter.js.map +1 -1
  50. package/dist/esm/cross/adapters/NearIntentsAdapter.d.ts +13 -6
  51. package/dist/esm/cross/adapters/NearIntentsAdapter.js +252 -75
  52. package/dist/esm/cross/adapters/NearIntentsAdapter.js.map +1 -1
  53. package/dist/esm/cross/adapters/OptimexAdapter.js +2 -1
  54. package/dist/esm/cross/adapters/OptimexAdapter.js.map +1 -1
  55. package/dist/esm/cross/adapters/OrbiterAdapter.js +9 -8
  56. package/dist/esm/cross/adapters/OrbiterAdapter.js.map +1 -1
  57. package/dist/esm/cross/adapters/RelayAdapter.js +40 -15
  58. package/dist/esm/cross/adapters/RelayAdapter.js.map +1 -1
  59. package/dist/esm/cross/adapters/SymbiosisAdapter.js +13 -14
  60. package/dist/esm/cross/adapters/SymbiosisAdapter.js.map +1 -1
  61. package/dist/esm/cross/adapters/XYFinanceAdapter.js +13 -17
  62. package/dist/esm/cross/adapters/XYFinanceAdapter.js.map +1 -1
  63. package/dist/esm/cross/adapters/index.d.ts +2 -0
  64. package/dist/esm/cross/adapters/index.js +2 -1
  65. package/dist/esm/cross/adapters/index.js.map +1 -1
  66. package/dist/esm/cross/constants/index.d.ts +3 -1
  67. package/dist/esm/cross/constants/index.js +2 -0
  68. package/dist/esm/cross/constants/index.js.map +1 -1
  69. package/dist/esm/cross/crossChainQuote.d.ts +1 -1
  70. package/dist/esm/cross/crossChainQuote.js +75 -12
  71. package/dist/esm/cross/crossChainQuote.js.map +1 -1
  72. package/dist/esm/cross/factory.d.ts +3 -1
  73. package/dist/esm/cross/factory.js +10 -12
  74. package/dist/esm/cross/factory.js.map +1 -1
  75. package/dist/esm/cross/registry.d.ts +1 -1
  76. package/dist/esm/hooks/useAvailableChains.js +47 -40
  77. package/dist/esm/hooks/useAvailableChains.js.map +1 -1
  78. package/dist/esm/hooks/useChains.js.map +1 -1
  79. package/dist/esm/hooks/useRoutes.js +11 -3
  80. package/dist/esm/hooks/useRoutes.js.map +1 -1
  81. package/dist/esm/hooks/useSwapOnly.js +8 -2
  82. package/dist/esm/hooks/useSwapOnly.js.map +1 -1
  83. package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -1
  84. package/dist/esm/hooks/useTokens.d.ts +1 -0
  85. package/dist/esm/hooks/useTokens.js +14 -0
  86. package/dist/esm/hooks/useTokens.js.map +1 -1
  87. package/dist/esm/i18n/en.json +2 -2
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/pages/MainPage/MainWarningMessages.js.map +1 -1
  90. package/dist/esm/pages/SendToWallet/BookmarksPage.js +1 -1
  91. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  92. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +2 -2
  93. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  94. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +2 -2
  95. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  96. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +5 -5
  97. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +1 -1
  98. package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
  99. package/dist/esm/services/ExecuteRoute.d.ts +1 -0
  100. package/dist/esm/services/ExecuteRoute.js +292 -9
  101. package/dist/esm/services/ExecuteRoute.js.map +1 -1
  102. package/dist/esm/services/OpenOceanService.js +30 -4
  103. package/dist/esm/services/OpenOceanService.js.map +1 -1
  104. package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -1
  105. package/dist/esm/types/widget.d.ts +1 -1
  106. package/dist/esm/types/widget.js.map +1 -1
  107. package/dist/esm/utils/chainType.d.ts +1 -0
  108. package/dist/esm/utils/chainType.js +15 -0
  109. package/dist/esm/utils/chainType.js.map +1 -1
  110. package/dist/esm/utils/getPriceImpact.js +3 -3
  111. package/dist/esm/utils/getPriceImpact.js.map +1 -1
  112. package/package.json +19 -7
  113. package/src/App.tsx +0 -1
  114. package/src/components/AmountInput/AmountInputEndAdornment.tsx +39 -34
  115. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +3 -2
  116. package/src/components/Header/WalletHeader.tsx +4 -4
  117. package/src/components/Messages/WarningMessages.tsx +1 -0
  118. package/src/components/Messages/useMessageQueue.ts +1 -1
  119. package/src/components/TransactionDetails.tsx +8 -4
  120. package/src/config/defaultChainIds.ts +3 -0
  121. package/src/config/version.ts +1 -1
  122. package/src/cross/adapters/AcrossAdapter.ts +21 -22
  123. package/src/cross/adapters/BaseSwapAdapter.ts +24 -8
  124. package/src/cross/adapters/DebridgeAdapter.ts +11 -11
  125. package/src/cross/adapters/LifiAdapter.ts +11 -10
  126. package/src/cross/adapters/MayanAdapter.ts +1 -2
  127. package/src/cross/adapters/NearIntentsAdapter.ts +303 -129
  128. package/src/cross/adapters/OptimexAdapter.ts +12 -11
  129. package/src/cross/adapters/OrbiterAdapter.ts +17 -16
  130. package/src/cross/adapters/RelayAdapter.ts +42 -17
  131. package/src/cross/adapters/SymbiosisAdapter.ts +13 -14
  132. package/src/cross/adapters/XYFinanceAdapter.ts +15 -19
  133. package/src/cross/adapters/index.ts +2 -1
  134. package/src/cross/constants/index.ts +4 -0
  135. package/src/cross/crossChainQuote.ts +79 -21
  136. package/src/cross/factory.ts +12 -12
  137. package/src/cross/registry.ts +1 -1
  138. package/src/hooks/useAvailableChains.ts +50 -43
  139. package/src/hooks/useChains.ts +0 -1
  140. package/src/hooks/useExplorer.ts +6 -6
  141. package/src/hooks/useRoutes.ts +12 -4
  142. package/src/hooks/useSwapOnly.ts +9 -2
  143. package/src/hooks/useTokenAddressBalance.ts +1 -1
  144. package/src/hooks/useTokens.ts +20 -5
  145. package/src/i18n/en.json +2 -2
  146. package/src/index.ts +0 -1
  147. package/src/pages/MainPage/MainWarningMessages.tsx +0 -1
  148. package/src/pages/SendToWallet/BookmarksPage.tsx +1 -1
  149. package/src/pages/SendToWallet/RecentWalletsPage.tsx +2 -2
  150. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +2 -2
  151. package/src/providers/WidgetProvider/WidgetProvider.tsx +0 -1
  152. package/src/services/ExecuteRoute.ts +426 -64
  153. package/src/services/OpenOceanService.ts +31 -7
  154. package/src/stores/bookmarks/createBookmarkStore.ts +15 -15
  155. package/src/types/widget.ts +2 -1
  156. package/src/utils/chainType.ts +25 -1
  157. package/src/utils/getPriceImpact.ts +3 -3
  158. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -20,40 +20,40 @@ export const createBookmarksStore = ({
20
20
  selectedBookmark: toAddress,
21
21
  bookmarks: [],
22
22
  recentWallets: [],
23
- getBookmark: (address) =>
24
- (get() as any).bookmarks.find((bookmark) => bookmark.address === address),
25
- addBookmark: (bookmark) => {
26
- set((state) => ({
23
+ getBookmark: (address: string) =>
24
+ (get() as any).bookmarks.find((bookmark: any) => bookmark.address === address),
25
+ addBookmark: (bookmark: any) => {
26
+ set((state: any) => ({
27
27
  bookmarks: [bookmark, ...state.bookmarks],
28
28
  }))
29
29
  },
30
- removeBookmark: (address) => {
31
- set((state) => ({
30
+ removeBookmark: (address: string) => {
31
+ set((state: any) => ({
32
32
  bookmarks: state.bookmarks.filter(
33
- (storedBookmark) => storedBookmark.address !== address
33
+ (storedBookmark: any) => storedBookmark.address !== address
34
34
  ),
35
35
  }))
36
36
  },
37
37
  getSelectedBookmark: () => (get() as any).selectedBookmark,
38
- setSelectedBookmark: (bookmark) => {
39
- set((_state) => ({
38
+ setSelectedBookmark: (bookmark: any) => {
39
+ set((_state: any) => ({
40
40
  selectedBookmark: bookmark,
41
41
  }))
42
42
  },
43
- addRecentWallet: (bookmark) => {
44
- set((state) => ({
43
+ addRecentWallet: (bookmark: any) => {
44
+ set((state: any) => ({
45
45
  recentWallets: [
46
46
  bookmark,
47
47
  ...state.recentWallets.filter(
48
- (recentWallet) => recentWallet.address !== bookmark.address
48
+ (recentWallet: any) => recentWallet.address !== bookmark.address
49
49
  ),
50
50
  ].slice(0, recentWalletsLimit),
51
51
  }))
52
52
  },
53
- removeRecentWallet: (address) => {
54
- set((state) => ({
53
+ removeRecentWallet: (address: string) => {
54
+ set((state: any) => ({
55
55
  recentWallets: state.recentWallets.filter(
56
- (storedRecent) => storedRecent.address !== address
56
+ (storedRecent: any) => storedRecent.address !== address
57
57
  ),
58
58
  }))
59
59
  },
@@ -37,6 +37,7 @@ import type { DefaultFieldValues } from '../stores/form/types.js'
37
37
  export type WidgetVariant = 'compact' | 'wide' | 'drawer'
38
38
  export type WidgetSubvariant =
39
39
  | 'default'
40
+ | 'swap'
40
41
  | 'bridge'
41
42
  | 'split'
42
43
  | 'custom'
@@ -276,7 +277,7 @@ export interface WidgetConfig {
276
277
  languages?: WidgetLanguages
277
278
  languageResources?: LanguageResources
278
279
  explorerUrls?: Record<number, string[]> &
279
- Partial<Record<'internal', string[]>>
280
+ Partial<Record<'internal', string[]>>
280
281
  poweredBy?: PoweredByType
281
282
  isDefaultValueEnabled?: boolean
282
283
  /**
@@ -2,11 +2,34 @@ import { isUTXOAddress } from '@bigmi/core'
2
2
  import { ChainId, ChainType, isSVMAddress } from '@openocean.finance/widget-sdk'
3
3
  import { isAddress as isEVMAddress } from 'viem'
4
4
 
5
- const chainTypeAddressValidation = {
5
+ const isNearAddress = (address: string) => {
6
+ if (!address) {
7
+ return false
8
+ }
9
+
10
+ // Implicit accounts are 64-char hex strings
11
+ const isImplicitAccount = /^[0-9a-f]{64}$/i.test(address)
12
+ if (isImplicitAccount) {
13
+ return true
14
+ }
15
+
16
+ // Named accounts must be lowercase and end with a TLD (e.g. .near, .testnet, custom subdomain)
17
+ const isNamedAccount =
18
+ /^[a-z0-9_-]+(\.[a-z0-9_-]+)*(\.near|\.testnet|\.chain|\.btc)?$/.test(
19
+ address
20
+ )
21
+ return isNamedAccount
22
+ }
23
+
24
+ const chainTypeAddressValidation: Record<
25
+ ChainType,
26
+ (address: string) => boolean
27
+ > = {
6
28
  [ChainType.EVM]: isEVMAddress,
7
29
  [ChainType.SVM]: isSVMAddress,
8
30
  [ChainType.UTXO]: isUTXOAddress,
9
31
  [ChainType.MVM]: () => false,
32
+ [ChainType.NVM]: isNearAddress,
10
33
  }
11
34
 
12
35
  export const getChainTypeFromAddress = (
@@ -26,4 +49,5 @@ export const defaultChainIdsByType = {
26
49
  [ChainType.SVM]: ChainId.SOL,
27
50
  [ChainType.UTXO]: ChainId.BTC,
28
51
  [ChainType.MVM]: ChainId.SUI,
52
+ [ChainType.NVM]: ChainId.NEAR,
29
53
  }
@@ -28,9 +28,9 @@ export const getPriceImpact = ({
28
28
  if (!fromTokenPrice || !toTokenPrice) {
29
29
  return 0
30
30
  }
31
- console.log('fromTokenPrice', fromTokenPrice)
32
- console.log('toTokenPrice', toTokenPrice)
33
- console.log('fromTokenPrice / toTokenPrice', fromTokenPrice / toTokenPrice)
31
+ // console.log('fromTokenPrice', fromTokenPrice)
32
+ // console.log('toTokenPrice', toTokenPrice)
33
+ // console.log('fromTokenPrice / toTokenPrice', fromTokenPrice / toTokenPrice)
34
34
  const priceImpact = toTokenPrice / fromTokenPrice - 1
35
35
 
36
36
  return priceImpact