Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking β€œSign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(tangle-dapp): Integrate bridge ERC-20 tokens into restaking #2783

Merged
merged 37 commits into from
Feb 3, 2025
Merged
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
c895520
refactor(tangle-dapp): Remove outdated parachain LS logic
yurixander Jan 26, 2025
83b39d7
Merge branch 'develop' into yuri/relayer-subsidized-txs
yurixander Jan 26, 2025
053ba15
feat(tangle-dapp): Implement `useProvider`
yurixander Jan 27, 2025
4e9bcb2
feat(tangle-dapp): Implement `useEvmTxRelayer`
yurixander Jan 27, 2025
a582e0a
refactor(tangle-dapp): Move things around a bit
yurixander Jan 27, 2025
b5da859
refactor(tangle-dapp): Remove logs
yurixander Jan 27, 2025
e7089c0
fix(tangle-dapp): Fix errors left over from LS
yurixander Jan 27, 2025
ffe40d0
feat(tangle-dapp): Integrate into `useEvmPrecompileCall`
yurixander Jan 28, 2025
3c9971d
feat(tangle-dapp): Add `isEvmTxRelayerEligible`
yurixander Jan 28, 2025
f8e5150
feat(tangle-dapp): Estimate gas with `useEvmGasEstimate`
yurixander Jan 28, 2025
eff2e61
feat(tangle-dapp): Use TX relayer in `useRestakeApi`
yurixander Jan 28, 2025
5e9b62e
fix(tangle-dapp): Fix verifying contract address
yurixander Jan 28, 2025
a999bcc
Merge branch 'develop' into yuri/relayer-subsidized-txs
yurixander Jan 28, 2025
b6c3c0b
fix(tangle-dapp): Fix revert error
yurixander Jan 29, 2025
4553ffa
Merge branch 'develop' into yuri/relayer-subsidized-txs
yurixander Jan 29, 2025
16a581b
style(tangle-dapp): Disable `Execute All` button sometimes
yurixander Jan 29, 2025
1659d2e
refactor(tangle-dapp): Use bridge ERC-20 assets
yurixander Jan 30, 2025
ddf7161
ci(tangle-dapp): Fix imports
yurixander Jan 30, 2025
4a82de1
Merge branch 'develop' into yuri/integrate-bridge-assets-into-restaking
yurixander Jan 30, 2025
817ef74
refactor(tangle-dapp): Prefer `useQuery`
yurixander Jan 31, 2025
967901f
feat(tangle-dapp): More efficient balance fetching
yurixander Jan 31, 2025
1c9a4dc
Merge branch 'develop' into yuri/integrate-bridge-assets-into-restaking
yurixander Jan 31, 2025
91a65fe
fix(tangle-dapp): Identify ghost network issue
yurixander Jan 31, 2025
6de8873
refactor(tangle-dapp): Get rid of `rpcEndpoint` property
yurixander Jan 31, 2025
9b18e53
refactor(tangle-dapp): Update balances table
yurixander Jan 31, 2025
19c9d35
Merge branch 'develop' into yuri/integrate-bridge-assets-into-restaking
yurixander Jan 31, 2025
e1d5b1e
ci(tangle-dapp): Fix CI
yurixander Jan 31, 2025
93aa39c
style(tangle-dapp): Minor styling fixes
yurixander Jan 31, 2025
487cde7
fix(tangle-dapp): Fix integration with bridge assets
yurixander Feb 1, 2025
92aeb5e
Merge branch 'develop' into yuri/integrate-bridge-assets-into-restaking
yurixander Feb 1, 2025
2ab751a
fix(tangle-dapp): Fix restaking balance calculations
yurixander Feb 1, 2025
e698237
Merge branch 'develop' into yuri/integrate-bridge-assets-into-restaking
yurixander Feb 3, 2025
b1569c0
refactor(tangle-dapp): Disable source chain switch
yurixander Feb 3, 2025
95f56d8
Merge branch 'develop' into yuri/integrate-bridge-assets-into-restaking
yurixander Feb 3, 2025
687ad82
fix(tangle-dapp): Fix requested changes
yurixander Feb 3, 2025
8c81615
style(tangle-dapp): Fix font weight
yurixander Feb 3, 2025
c39a585
fix(tangle-dapp): Fix asset balance in delegate tab
yurixander Feb 3, 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
Prev Previous commit
Next Next commit
feat(tangle-dapp): Implement useProvider
yurixander committed Jan 27, 2025
commit 053ba15eb72d0bdf6995c765c7c4b320b8150b03
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import useNetworkSwitcher from '@webb-tools/tangle-shared-ui/hooks/useNetworkSwitcher';
import useSwitchNetwork from '@webb-tools/tangle-shared-ui/hooks/useSwitchNetwork';
import { useWebbUI } from '@webb-tools/webb-ui-components';
import { useCallback } from 'react';

@@ -10,7 +10,7 @@ import getLsTangleNetwork from '../../../utils/liquidStaking/getLsTangleNetwork'

const useLsChangeNetwork = () => {
const { lsNetworkId, setSelectedNetworkId } = useLsStore();
const { switchNetwork } = useNetworkSwitcher();
const { switchNetwork } = useSwitchNetwork();
const { notificationApi } = useWebbUI();

const tryChangeNetwork = useCallback(

This file was deleted.

This file was deleted.

7 changes: 7 additions & 0 deletions apps/tangle-dapp/src/containers/DebugMetrics.tsx
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ import {
} from '@webb-tools/tangle-shared-ui/utils/polkadot/api';
import { SkeletonLoader, Typography } from '@webb-tools/webb-ui-components';
import { FC, useCallback, useEffect, useState } from 'react';
import useProvider from '@webb-tools/tangle-shared-ui/hooks/useProvider';

import useDebugMetricsStore from '../context/useDebugMetricsStore';

@@ -58,6 +59,8 @@ const DebugMetrics: FC = () => {
(apiRx?.stats?.active.subscriptions ?? 0) +
subscriptionCount;

const session = useProvider();

// Manually trigger a re-render every second, since the stats
// are not automatically updated.
useEffect(() => {
@@ -95,6 +98,10 @@ const DebugMetrics: FC = () => {
warnAt={1}
isApiLoading={isApiLoading}
/>

<button onClick={() => session.connectSubstrateProvider('test')}>
connect
</button>
</>
);

Original file line number Diff line number Diff line change
@@ -390,7 +390,7 @@ const VaultsAndBalancesTable: FC = () => {
return (
<TableStatus
title="No Assets Available Yet"
description="There are no restaking vaults or liquid staking pools available on this network yet. Please check back later."
description="There are no restaking vaults available on this network yet. Please check back later."
/>
);
}
13 changes: 0 additions & 13 deletions apps/tangle-dapp/src/types/liquidStaking.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
import {
Collator,
Dapp,
PhalaVaultOrStakePool,
Validator,
} from '@webb-tools/tangle-shared-ui/types/liquidStaking';

export type LiquidStakingItemType =
| Validator
| PhalaVaultOrStakePool
| Dapp
| Collator;

export enum LiquidStakingToken {
DOT = 'DOT',
GLMR = 'GLMR',
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ import {
import { type FC, useCallback, useMemo } from 'react';
import { twMerge } from 'tailwind-merge';
import useNetworkStore from '../../context/useNetworkStore';
import useNetworkSwitcher from '../../hooks/useNetworkSwitcher';
import useSwitchNetwork from '../../hooks/useSwitchNetwork';
import createCustomNetwork from '../../utils/createCustomNetwork';
import { NetworkSelectorDropdown } from './NetworkSelectorDropdown';

@@ -28,7 +28,7 @@ const NetworkSelectionButton: FC = () => {
useWebContext();

const { network } = useNetworkStore();
const { switchNetwork, isCustom } = useNetworkSwitcher();
const { switchNetwork, isCustom } = useSwitchNetwork();

// TODO: Handle switching network on EVM wallet here.
const switchToCustomNetwork = useCallback(
28 changes: 28 additions & 0 deletions libs/tangle-shared-ui/src/context/useProviderStore.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
'use client';

import { create } from 'zustand';

import {
InjectedAccountWithMeta,
InjectedExtension,
} from '@polkadot/extension-inject/types';
import {
EvmAddress,
SubstrateAddress,
} from '@webb-tools/webb-ui-components/types/address';
import { EIP1193Provider } from 'viem';

const useProviderStore = create<{
accounts?: InjectedAccountWithMeta[];
activeAccountAddress?: SubstrateAddress | EvmAddress;
provider?: InjectedExtension | EIP1193Provider;
setActiveAccountAddress: (address?: SubstrateAddress | EvmAddress) => void;
setAccounts: (accounts?: InjectedAccountWithMeta[]) => void;
setProvider: (provider?: InjectedExtension | EIP1193Provider) => void;
}>((set) => ({
setActiveAccountAddress: (account) => set({ activeAccountAddress: account }),
setAccounts: (accounts) => set({ accounts }),
setProvider: (provider) => set({ provider }),
}));

export default useProviderStore;
Loading