Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
731bb1e
feat: prototype for modular architecture, sui example
effie-ms Aug 25, 2025
e9c87d5
Merge branch 'main' into feat-modular-widget
effie-ms Aug 29, 2025
44401aa
feat: replace stores with context
effie-ms Aug 29, 2025
e609cfb
feat: solana wallet store and provider
effie-ms Sep 1, 2025
638c39c
feat: utxo provider
effie-ms Sep 5, 2025
d95b091
refactor: rename wallet-store to wallet-provider
effie-ms Sep 5, 2025
bd21ee0
refactor: sui to mvm
effie-ms Sep 5, 2025
0c2883e
Merge branch 'main' into feat-modular-widget
effie-ms Sep 26, 2025
b746299
fix: utxo connection
effie-ms Sep 26, 2025
327a43a
feat: evm wallet provider
effie-ms Sep 26, 2025
7d4b4d9
Merge branch 'main' into feat-modular-widget
effie-ms Sep 26, 2025
9f1684d
refactor: cleanup deps from widget pt1
effie-ms Sep 29, 2025
7799485
refactor: remove evm duplicates
effie-ms Sep 29, 2025
48ae246
refactor: remove useAccount deps
effie-ms Sep 29, 2025
a2130aa
Merge branch 'main' into feat-modular-widget
effie-ms Oct 3, 2025
0300472
refactor: remove deps from wallet management
effie-ms Oct 3, 2025
1fcaa8d
refactor: more updates for wallet management
effie-ms Oct 3, 2025
eade8ac
refactor: types
effie-ms Oct 5, 2025
56a8203
fix: pass wallet providers not via config
effie-ms Oct 6, 2025
b81e110
refactor: reduce deps on WalletConnector
effie-ms Oct 6, 2025
14fb00e
Merge branch 'main' into feat-modular-widget
effie-ms Oct 6, 2025
39e28d5
feat: update examples
effie-ms Oct 7, 2025
2247a62
refactor: review fixes
effie-ms Oct 8, 2025
cde549a
refactor: renaming pt1
effie-ms Oct 8, 2025
59fc71d
refactor: renaming pt2
effie-ms Oct 8, 2025
a641937
refactor: renaming pt3
effie-ms Oct 8, 2025
417bb76
refactor: renaming pt4
effie-ms Oct 8, 2025
e20767a
fix: update missed widget-provider dep
effie-ms Oct 14, 2025
6a7d4f2
Merge branch 'main' into feat-modular-widget
effie-ms Oct 14, 2025
072f7ca
refactor: revert versions
effie-ms Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions examples/connectkit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,9 @@
"preview": "vite preview"
},
"dependencies": {
"@lifi/wallet-management": "^3.17.3",
"@lifi/widget": "^3.32.2",
"@mui/icons-material": "7.3.2",
"@lifi/widget-provider-ethereum": "workspace:^",
"@lifi/widget": "workspace:^",
"@mui/material": "7.3.2",
"@solana/wallet-adapter-base": "^0.9.27",
"@solana/wallet-adapter-react": "^0.15.39",
"@solana/web3.js": "^1.98.4",
"@tanstack/react-query": "^5.90.1",
"connectkit": "^1.9.1",
"mitt": "^3.0.1",
Expand Down
2 changes: 2 additions & 0 deletions examples/connectkit/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { QueryClientProvider } from '@tanstack/react-query'
import { WalletHeader } from './components/WalletHeader'
import { queryClient } from './config/queryClient'
Expand All @@ -20,6 +21,7 @@ function App() {
},
},
}}
providers={[EthereumProvider()]}
/>
</WalletProvider>
</QueryClientProvider>
Expand Down
2 changes: 1 addition & 1 deletion examples/connectkit/src/providers/WalletProvider.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useSyncWagmiConfig } from '@lifi/wallet-management'
import { ChainType, useAvailableChains } from '@lifi/widget'
import { useSyncWagmiConfig } from '@lifi/widget-provider-ethereum'
import { ConnectKitProvider, getDefaultConfig } from 'connectkit'
import type { FC, PropsWithChildren } from 'react'
import { createConfig, WagmiProvider } from 'wagmi'
Expand Down
1 change: 1 addition & 0 deletions examples/deposit-flow/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"dependencies": {
"@lifi/sdk": "^3.12.14",
"@lifi/widget": "workspace:^",
"@lifi/widget-provider-ethereum": "workspace:^",
"@mui/material": "7.3.2",
"@tanstack/react-query": "^5.90.1",
"events": "^3.3.0",
Expand Down
2 changes: 2 additions & 0 deletions examples/deposit-flow/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
HiddenUI,
LiFiWidget,
} from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { useMemo } from 'react'
import { DepositCard } from './components/DepositCard'
import { contractTool } from './config'
Expand Down Expand Up @@ -60,6 +61,7 @@ export function App() {
contractTool={contractTool}
config={widgetConfig}
integrator={widgetConfig.integrator}
providers={[EthereumProvider()]}
/>
)
}
3 changes: 3 additions & 0 deletions examples/dynamic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"@dynamic-labs/wagmi-connector": "^4.37.0",
"@lifi/sdk": "^3.12.14",
"@lifi/wallet-management": "workspace:^",
"@lifi/widget-provider-ethereum": "workspace:^",
"@lifi/widget-provider-solana": "workspace:^",
"@lifi/widget-provider-bitcoin": "workspace:^",
"@lifi/widget": "workspace:^",
"@mui/material": "7.3.2",
"@solana/wallet-adapter-base": "^0.9.27",
Expand Down
4 changes: 4 additions & 0 deletions examples/dynamic/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ import {
useReinitialize,
} from '@dynamic-labs/sdk-react-core'
import { ChainId, LiFiWidget } from '@lifi/widget'
import { BitcoinProvider } from '@lifi/widget-provider-bitcoin'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { SolanaProvider } from '@lifi/widget-provider-solana'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { WalletHeader } from './components/WalletHeader'
import { WalletProvider } from './providers/WalletProvider'
Expand Down Expand Up @@ -53,6 +56,7 @@ export function Main() {
},
},
}}
providers={[EthereumProvider(), SolanaProvider(), BitcoinProvider()]}
/>
</>
)
Expand Down
4 changes: 2 additions & 2 deletions examples/dynamic/src/providers/WalletProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import { ZeroDevSmartWalletConnectors } from '@dynamic-labs/ethereum-aa'
import { DynamicContextProvider } from '@dynamic-labs/sdk-react-core'
import { SolanaWalletConnectors } from '@dynamic-labs/solana'
import { DynamicWagmiConnector } from '@dynamic-labs/wagmi-connector'
import { ChainType, type ExtendedChain, useAvailableChains } from '@lifi/widget'
import {
convertExtendedChain,
isExtendedChain,
useSyncWagmiConfig,
} from '@lifi/wallet-management'
import { ChainType, type ExtendedChain, useAvailableChains } from '@lifi/widget'
} from '@lifi/widget-provider-ethereum'
import { type FC, type PropsWithChildren, useRef } from 'react'
import { type Chain, mainnet } from 'viem/chains'
import type { Config, CreateConnectorFn } from 'wagmi'
Expand Down
9 changes: 8 additions & 1 deletion examples/nextjs-page-router/components/DynamicWidget.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'

export default function DynamicWidget() {
const config = {
Expand All @@ -12,5 +13,11 @@ export default function DynamicWidget() {
},
} as Partial<WidgetConfig>

return <LiFiWidget config={config} integrator="nextjs-example" />
return (
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
)
}
7 changes: 6 additions & 1 deletion examples/nextjs-page-router/components/Widget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import type { ReactNode } from 'react'
import { ClientOnly } from './ClientOnly'

Expand All @@ -13,7 +14,11 @@ interface WidgetProps {
export function Widget({ config, fallback }: WidgetProps) {
return (
<ClientOnly fallback={fallback}>
<LiFiWidget config={config} integrator="nextjs-example" />
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
</ClientOnly>
)
}
3 changes: 2 additions & 1 deletion examples/nextjs-page-router/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"start": "next start"
},
"dependencies": {
"@lifi/widget": "^3.32.2",
"@lifi/widget": "workspace:^",
"@lifi/widget-provider-ethereum": "workspace:^",
"next": "^15.5.4",
"react": "^19.2.0",
"react-dom": "^19.2.0"
Expand Down
9 changes: 8 additions & 1 deletion examples/nextjs/components/DynamicWidget.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'

export default function DynamicWidget() {
const config = {
Expand All @@ -12,5 +13,11 @@ export default function DynamicWidget() {
},
} as Partial<WidgetConfig>

return <LiFiWidget config={config} integrator="nextjs-example" />
return (
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
)
}
7 changes: 6 additions & 1 deletion examples/nextjs/components/Widget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget, WidgetSkeleton } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { ClientOnly } from './ClientOnly'

export function Widget() {
Expand All @@ -17,7 +18,11 @@ export function Widget() {

return (
<ClientOnly fallback={<WidgetSkeleton config={config} />}>
<LiFiWidget config={config} integrator="nextjs-example" />
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
</ClientOnly>
)
}
3 changes: 2 additions & 1 deletion examples/nextjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
},
"dependencies": {
"@lifi/sdk": "^3.12.14",
"@lifi/widget": "^3.32.2",
"@lifi/widget": "workspace:^",
"@lifi/widget-provider-ethereum": "workspace:^",
"@mui/material-nextjs": "7.3.2",
"next": "^15.5.4",
"react": "^19.2.0",
Expand Down
9 changes: 8 additions & 1 deletion examples/nextjs14-page-router/components/DynamicWidget.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'

export default function DynamicWidget() {
const config = {
Expand All @@ -12,5 +13,11 @@ export default function DynamicWidget() {
},
} as Partial<WidgetConfig>

return <LiFiWidget config={config} integrator="nextjs-example" />
return (
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
)
}
7 changes: 6 additions & 1 deletion examples/nextjs14-page-router/components/Widget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import type { ReactNode } from 'react'
import { ClientOnly } from './ClientOnly'

Expand All @@ -13,7 +14,11 @@ interface WidgetProps {
export function Widget({ config, fallback }: WidgetProps) {
return (
<ClientOnly fallback={fallback}>
<LiFiWidget config={config} integrator="nextjs-example" />
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
</ClientOnly>
)
}
3 changes: 2 additions & 1 deletion examples/nextjs14-page-router/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"lint": "next lint"
},
"dependencies": {
"@lifi/widget": "^3.32.2",
"@lifi/widget": "workspace:^",
"@lifi/widget-provider-ethereum": "workspace:^",
"next": "15.5.4",
"react": "^19.2.0",
"react-dom": "^19.2.0"
Expand Down
9 changes: 8 additions & 1 deletion examples/nextjs14/components/DynamicWidget.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'

export default function DynamicWidget() {
const config = {
Expand All @@ -12,5 +13,11 @@ export default function DynamicWidget() {
},
} as Partial<WidgetConfig>

return <LiFiWidget config={config} integrator="nextjs-example" />
return (
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
)
}
7 changes: 6 additions & 1 deletion examples/nextjs14/components/Widget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import type { WidgetConfig } from '@lifi/widget'
import { LiFiWidget, WidgetSkeleton } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { ClientOnly } from './ClientOnly'

export function Widget() {
Expand All @@ -17,7 +18,11 @@ export function Widget() {

return (
<ClientOnly fallback={<WidgetSkeleton config={config} />}>
<LiFiWidget config={config} integrator="nextjs-example" />
<LiFiWidget
config={config}
integrator="nextjs-example"
providers={[EthereumProvider()]}
/>
</ClientOnly>
)
}
3 changes: 2 additions & 1 deletion examples/nextjs14/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
},
"dependencies": {
"@lifi/sdk": "^3.12.14",
"@lifi/widget": "^3.32.2",
"@lifi/widget": "workspace:^",
"@lifi/widget-provider-ethereum": "workspace:^",
"@mui/material-nextjs": "7.3.2",
"next": "15.5.4",
"react": "^19.2.0",
Expand Down
2 changes: 2 additions & 0 deletions examples/nuxt/components/WidgetContainer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<script lang="ts">
// This is a React component
import { LiFiWidget } from '@lifi/widget'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { applyPureReactInVue } from 'veaury'

export default {
Expand All @@ -23,6 +24,7 @@ export default {
},
},
integrator: 'vue-example',
providers: [EthereumProvider()],
},
}
},
Expand Down
3 changes: 2 additions & 1 deletion examples/nuxt/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"@lifi/widget": "^3.32.2",
"@lifi/widget-provider-ethereum": "workspace:^",
"@lifi/widget": "workspace:^",
"nuxt": "3.17.7",
"veaury": "^2.6.3",
"vite-plugin-node-polyfills": "^0.24.0",
Expand Down
5 changes: 3 additions & 2 deletions examples/privy-ethers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
"preview": "vite preview"
},
"dependencies": {
"@lifi/wallet-management": "^3.17.3",
"@lifi/widget": "^3.32.2",
"@lifi/widget-provider-ethereum": "workspace:^",
"@lifi/widget-provider-solana": "workspace:^",
"@lifi/widget": "workspace:^",
"@mui/icons-material": "7.3.2",
"@mui/material": "7.3.2",
"@privy-io/react-auth": "^2.25.0",
Expand Down
17 changes: 10 additions & 7 deletions examples/privy-ethers/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { ChainId, LiFiWidget } from '@lifi/widget'
import { Grid2 } from '@mui/material'
import { EthereumProvider } from '@lifi/widget-provider-ethereum'
import { SolanaProvider } from '@lifi/widget-provider-solana'
import { Grid } from '@mui/material'
import { QueryClientProvider } from '@tanstack/react-query'
import { EthersPlayground } from './components/EthersPlayground'
import { WalletHeader } from './components/WalletHeader'
Expand All @@ -11,8 +13,8 @@ function App() {
<QueryClientProvider client={queryClient}>
<WalletProvider>
<WalletHeader />
<Grid2 container spacing={2}>
<Grid2 size={{ sm: 12, md: 7 }}>
<Grid container spacing={2}>
<Grid size={{ sm: 12, md: 7 }}>
<LiFiWidget
integrator="vite-example"
config={{
Expand All @@ -32,12 +34,13 @@ function App() {
},
},
}}
providers={[EthereumProvider(), SolanaProvider()]}
/>
</Grid2>
<Grid2 size={{ sm: 12, md: 5 }}>
</Grid>
<Grid size={{ sm: 12, md: 5 }}>
<EthersPlayground />
</Grid2>
</Grid2>
</Grid>
</Grid>
</WalletProvider>
</QueryClientProvider>
)
Expand Down
4 changes: 2 additions & 2 deletions examples/privy-ethers/src/providers/SyncedWalletProvider.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { useAvailableChains } from '@lifi/widget'
import {
convertExtendedChain,
isExtendedChain,
useSyncWagmiConfig,
} from '@lifi/wallet-management'
import { useAvailableChains } from '@lifi/widget'
} from '@lifi/widget-provider-ethereum'
import { PrivyProvider } from '@privy-io/react-auth'
import { WagmiProvider } from '@privy-io/wagmi'
import { QueryClientProvider } from '@tanstack/react-query'
Expand Down
Loading