Skip to content

Commit

Permalink
Feat/deployment sep umbrella (#2337)
Browse files Browse the repository at this point in the history
Co-authored-by: Mark Grothe <[email protected]>
  • Loading branch information
foodaka and grothem authored Feb 5, 2025
1 parent e8e04fa commit 8c8efb5
Show file tree
Hide file tree
Showing 16 changed files with 83 additions and 50 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/build-test-deploy-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
(github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name &&
!contains(github.head_ref, 'dependabot'))
strategy:
matrix:
build:
- name: 'out'
cypress_enabled: 'false'
- name: 'out_cypress'
cypress_enabled: 'true'
matrix:
build:
- name: 'out'
cypress_enabled: 'false'
- name: 'out_cypress'
cypress_enabled: 'true'
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ jobs:
- name: 'Dependency Review'
uses: actions/dependency-review-action@v2
with:
fail-on-severity: critical
fail-on-severity: critical
2 changes: 1 addition & 1 deletion src/hooks/stake/useUmbrellaSummary.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ import {
ExtendedFormattedUser,
useExtendedUserSummaryAndIncentives,
} from '../pool/useExtendedUserSummaryAndIncentives';
import { combineQueries } from '../pool/utils';
import {
FormattedReservesAndIncentives,
usePoolFormattedReserves,
} from '../pool/usePoolFormattedReserves';
import { combineQueries } from '../pool/utils';

interface FormattedBalance {
stakeTokenBalance: string;
Expand Down
2 changes: 1 addition & 1 deletion src/locales/el/messages.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/locales/en/messages.js

Large diffs are not rendered by default.

37 changes: 25 additions & 12 deletions src/locales/en/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,10 @@ msgstr "Minimum GHO borrow amount"
msgid "Sign to continue"
msgstr "Sign to continue"

#: src/modules/umbrella/UmbrellaHeader.tsx
msgid "Total amount staked"
msgstr "Total amount staked"

#: src/components/transactions/Bridge/BridgeModalContent.tsx
#: src/modules/history/HistoryWrapper.tsx
#: src/modules/history/HistoryWrapperMobile.tsx
Expand Down Expand Up @@ -403,6 +407,10 @@ msgstr "Repay {symbol}"
msgid "Discountable amount"
msgstr "Discountable amount"

#: src/modules/umbrella/StakeAssets/UmbrellaAssetsListMobileItem.tsx
msgid "Your staked amount"
msgstr "Your staked amount"

#: src/modules/staking/StakingPanel.tsx
msgid "Cooling down..."
msgstr "Cooling down..."
Expand Down Expand Up @@ -838,10 +846,6 @@ msgstr "Asset cannot be migrated to {marketName} V3 Market due to E-mode restric
msgid "Aave per month"
msgstr "Aave per month"

#: src/modules/umbrella/StakeAssets/UmbrellaAssetsList.tsx
msgid "Amount Staked"
msgstr "Amount Staked"

#: src/components/transactions/FlowCommons/TxModalDetails.tsx
#: src/components/transactions/Swap/SwapModalDetails.tsx
#: src/modules/history/actions/ActionDetails.tsx
Expand Down Expand Up @@ -1407,6 +1411,7 @@ msgstr "Website"
#: src/modules/dashboard/lists/SuppliedPositionsList/SuppliedPositionsListMobileItem.tsx
#: src/modules/history/actions/ActionDetails.tsx
#: src/modules/history/HistoryFilterMenu.tsx
#: src/modules/umbrella/helpers/StakingDropdown.tsx
msgid "Withdraw"
msgstr "Withdraw"

Expand Down Expand Up @@ -1524,6 +1529,10 @@ msgstr "Invalid signature"
msgid "State"
msgstr "State"

#: src/modules/umbrella/NoStakeAssets.tsx
msgid "There are no stake assets configured for this market"
msgstr "There are no stake assets configured for this market"

#: src/modules/governance/proposal/ProposalLifecycle.tsx
msgid "Proposal details"
msgstr "Proposal details"
Expand Down Expand Up @@ -1930,6 +1939,7 @@ msgid "Before supplying"
msgstr "Before supplying"

#: src/modules/umbrella/StakeAssets/UmbrellaAssetsListContainer.tsx
#: src/modules/umbrella/UmbrellaAssetsDefault.tsx
msgid "Assets to stake"
msgstr "Assets to stake"

Expand Down Expand Up @@ -2028,6 +2038,7 @@ msgstr "ZKSync Ignite Program rewards are claimed through the"
#: src/modules/faucet/FaucetAssetsList.tsx
#: src/modules/markets/MarketAssetsList.tsx
#: src/modules/umbrella/StakeAssets/UmbrellaAssetsList.tsx
#: src/modules/umbrella/UmbrellaAssetsDefault.tsx
msgid "Asset"
msgstr "Asset"

Expand Down Expand Up @@ -2106,6 +2117,7 @@ msgid "To submit a proposal for minor changes to the protocol, you'll need at le
msgstr "To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.</0>"

#: src/modules/umbrella/StakeAssets/UmbrellaAssetsListMobileItem.tsx
#: src/modules/umbrella/UmbrellaAssetsDefault.tsx
msgid "Staking APY"
msgstr "Staking APY"

Expand Down Expand Up @@ -2291,6 +2303,10 @@ msgstr "Borrowed"
msgid "Received"
msgstr "Received"

#: src/modules/umbrella/StakeAssets/UmbrellaAssetsList.tsx
msgid "Your Staked Amount"
msgstr "Your Staked Amount"

#: src/modules/dashboard/LiquidationRiskParametresModal/LiquidationRiskParametresModal.tsx
msgid "Your current loan to value based on your collateral supplied."
msgstr "Your current loan to value based on your collateral supplied."
Expand Down Expand Up @@ -2549,6 +2565,10 @@ msgstr "Collateral usage is limited because of Isolation mode."
msgid "Amount After Fee"
msgstr "Amount After Fee"

#: src/modules/umbrella/helpers/StakingDropdown.tsx
msgid "Cooling down"
msgstr "Cooling down"

#: src/components/transactions/Warnings/AAVEWarning.tsx
msgid "Supplying your"
msgstr "Supplying your"
Expand Down Expand Up @@ -2804,10 +2824,6 @@ msgstr "Please switch to {networkName}."
msgid "Both"
msgstr "Both"

#: pages/umbrella.page.tsx
msgid "We couldn’t detect a wallet. Connect a wallet to view your staking positions and rewards."
msgstr "We couldn’t detect a wallet. Connect a wallet to view your staking positions and rewards."

#: src/components/transactions/Borrow/GhoBorrowModalContent.tsx
msgid "Discount applied for <0/> staking AAVE"
msgstr "Discount applied for <0/> staking AAVE"
Expand Down Expand Up @@ -3010,10 +3026,6 @@ msgstr "Global settings"
msgid "Collateral balance after repay"
msgstr "Collateral balance after repay"

#: src/modules/umbrella/StakeAssets/UmbrellaAssetsListMobileItem.tsx
msgid "Amount staked"
msgstr "Amount staked"

#: src/components/transactions/FlowCommons/GasEstimationError.tsx
msgid "copy the error"
msgstr "copy the error"
Expand Down Expand Up @@ -3071,6 +3083,7 @@ msgstr "Selected supply assets"
#: src/modules/history/actions/BorrowRateModeBlock.tsx
#: src/modules/reserve-overview/SupplyInfo.tsx
#: src/modules/umbrella/StakeAssets/UmbrellaAssetsList.tsx
#: src/modules/umbrella/UmbrellaAssetsDefault.tsx
msgid "APY"
msgstr "APY"

Expand Down
2 changes: 1 addition & 1 deletion src/locales/es/messages.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/locales/fr/messages.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { useUmbrellaSummary } from 'src/hooks/stake/useUmbrellaSummary';
import { useRootStore } from 'src/store/root';
import { useShallow } from 'zustand/shallow';

import UmbrellaAssetsList from './UmbrellaAssetsList';
import { NoStakeAssets } from '../NoStakeAssets';
import UmbrellaAssetsList from './UmbrellaAssetsList';

export const UmbrellaAssetsListContainer = () => {
const { loading } = useAppDataContext();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Box, Divider, Skeleton, Stack } from '@mui/material';
import { Box, Skeleton, Stack } from '@mui/material';
import { ListColumn } from 'src/components/lists/ListColumn';

import { Row } from '../../../components/primitives/Row';
import { ListMobileItemWrapper } from '../../dashboard/lists/ListMobileItemWrapper';
import { ListColumn } from 'src/components/lists/ListColumn';

export const UmbrellaAssetsListMobileItemLoader = () => {
return (
Expand Down
13 changes: 9 additions & 4 deletions src/modules/umbrella/UmbrellaActions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { queryKeysFactory } from 'src/ui-config/queries';
import { roundToTokenDecimals } from 'src/utils/utils';
import { useShallow } from 'zustand/shallow';

import { stakeUmbrellaConfig } from './services/StakeDataProviderService';
import { StakeGatewayService } from './services/StakeGatewayService';
import { StakeTokenService } from './services/StakeTokenService';
import { StakeInputAsset } from './UmbrellaModalContent';
Expand All @@ -35,7 +36,7 @@ export interface StakeActionProps extends BoxProps {
isMaxSelected: boolean;
}

const STAKE_GATEWAY_CONTRACT = '0xd892E331573306F7D3e637FBC26D43c466444789';
// const STAKE_GATEWAY_CONTRACT = '0xd892E331573306F7D3e637FBC26D43c466444789';

export const UmbrellaActions = ({
amountToStake,
Expand Down Expand Up @@ -91,7 +92,9 @@ export const UmbrellaActions = ({
} = useApprovedAmount({
chainId: currentChainId,
token: selectedToken.address,
spender: useStakeGateway ? STAKE_GATEWAY_CONTRACT : stakeData.stakeToken,
spender: useStakeGateway
? stakeUmbrellaConfig[currentChainId].stakeGateway
: stakeData.stakeToken,
});

setLoadingTxns(fetchingApprovedAmount);
Expand All @@ -113,7 +116,9 @@ export const UmbrellaActions = ({
const tokenApproval = {
user,
token: selectedToken.address,
spender: useStakeGateway ? STAKE_GATEWAY_CONTRACT : stakeData.stakeToken,
spender: useStakeGateway
? stakeUmbrellaConfig[currentChainId].stakeGateway
: stakeData.stakeToken,
amount: approvedAmount?.toString() || '0',
};

Expand Down Expand Up @@ -181,7 +186,7 @@ export const UmbrellaActions = ({

const getStakeGatewayTxData = (amountToStake: string) => {
setMainTxState({ ...mainTxState, loading: true });
const stakeService = new StakeGatewayService(STAKE_GATEWAY_CONTRACT);
const stakeService = new StakeGatewayService(stakeUmbrellaConfig[currentChainId].stakeGateway);
let stakeTxData: PopulatedTransaction;

if (usePermit && signatureParams) {
Expand Down
12 changes: 6 additions & 6 deletions src/modules/umbrella/UmbrellaAssetsDefault.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ import { ListHeaderTitle } from 'src/components/lists/ListHeaderTitle';
import { ListHeaderWrapper } from 'src/components/lists/ListHeaderWrapper';
import { ListItem } from 'src/components/lists/ListItem';
import { ListWrapper } from 'src/components/lists/ListWrapper';
import { FormattedNumber } from 'src/components/primitives/FormattedNumber';
import { Row } from 'src/components/primitives/Row';
import { FormattedStakeData, useStakeDataSummary } from 'src/hooks/stake/useUmbrellaSummary';
import { useRootStore } from 'src/store/root';
import { useShallow } from 'zustand/shallow';

import { StakeAssetName } from './StakeAssets/StakeAssetName';
import { FormattedNumber } from 'src/components/primitives/FormattedNumber';
import { ListMobileItemWrapper } from '../dashboard/lists/ListMobileItemWrapper';
import { Row } from 'src/components/primitives/Row';
import { NoStakeAssets } from './NoStakeAssets';
import { StakeAssetName } from './StakeAssets/StakeAssetName';

export const UmrellaAssetsDefaultListContainer = () => {
return (
Expand Down Expand Up @@ -73,11 +73,11 @@ export const UmbrellaAssetsDefault = () => {
</ListHeaderWrapper>
)}
{stakeData &&
stakeData.stakeAssets.map((data) =>
stakeData.stakeAssets.map((data, index) =>
!isTableChangedToCards ? (
<AssetListItem stakeData={data} />
<AssetListItem key={index} stakeData={data} />
) : (
<AssetListItemMobile stakeData={data} />
<AssetListItemMobile key={index} stakeData={data} />
)
)}
</>
Expand Down
6 changes: 3 additions & 3 deletions src/modules/umbrella/UmbrellaHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ import { Box, Stack, Typography, useMediaQuery, useTheme } from '@mui/material';
import { FormattedNumber } from 'src/components/primitives/FormattedNumber';
import { TopInfoPanel } from 'src/components/TopInfoPanel/TopInfoPanel';
import { useStakeDataSummary, useUmbrellaSummary } from 'src/hooks/stake/useUmbrellaSummary';
import { useWeb3Context } from 'src/libs/hooks/useWeb3Context';
import { useRootStore } from 'src/store/root';
import { MarketDataType } from 'src/ui-config/marketsConfig';
import { GENERAL } from 'src/utils/mixPanelEvents';
import { useShallow } from 'zustand/shallow';

import { Link } from '../../components/primitives/Link';
import { TopInfoPanelItem } from '../../components/TopInfoPanel/TopInfoPanelItem';
import { MarketSwitcher } from './UmbrellaMarketSwitcher';
import { useWeb3Context } from 'src/libs/hooks/useWeb3Context';
import { MarketDataType } from 'src/ui-config/marketsConfig';

export const UmbrellaHeader: React.FC = () => {
const theme = useTheme();
Expand Down Expand Up @@ -41,7 +41,7 @@ export const UmbrellaHeader: React.FC = () => {
variant={downToXSM ? 'h2' : upToLG ? 'display1' : 'h1'}
sx={{ ml: 2, mr: 3 }}
>
<Trans>Staking 00</Trans>
<Trans>Staking</Trans>
</Typography>
<MarketSwitcher />
</Box>
Expand Down
11 changes: 6 additions & 5 deletions src/modules/umbrella/UnstakeModalActions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { useShallow } from 'zustand/shallow';

import { StakeGatewayService } from './services/StakeGatewayService';
import { StakeTokenService } from './services/StakeTokenService';
import { stakeUmbrellaConfig } from './services/StakeDataProviderService';

export interface UnStakeActionProps extends BoxProps {
amountToUnStake: string;
Expand All @@ -28,8 +29,6 @@ export interface UnStakeActionProps extends BoxProps {
redeemATokens: boolean;
}

const STAKE_GATEWAY_CONTRACT = '0xd892E331573306F7D3e637FBC26D43c466444789';

export const UnStakeActions = ({
amountToUnStake,
isWrongNetwork,
Expand Down Expand Up @@ -64,7 +63,7 @@ export const UnStakeActions = ({
} = useApprovedAmount({
chainId: currentChainId,
token: selectedToken,
spender: STAKE_GATEWAY_CONTRACT,
spender: stakeUmbrellaConfig[currentChainId].stakeGateway,
});

setLoadingTxns(fetchingApprovedAmount);
Expand All @@ -80,7 +79,7 @@ export const UnStakeActions = ({
const tokenApproval = {
user,
token: selectedToken,
spender: STAKE_GATEWAY_CONTRACT,
spender: stakeUmbrellaConfig[currentChainId].stakeGateway,
amount: amountToUnStake,
};

Expand All @@ -106,7 +105,9 @@ export const UnStakeActions = ({
let unstakeTxData: PopulatedTransaction;
if (stakeData.underlyingIsWaToken) {
// use the stake gateway
const stakeService = new StakeGatewayService(STAKE_GATEWAY_CONTRACT);
const stakeService = new StakeGatewayService(
stakeUmbrellaConfig[currentChainId].stakeGateway
);
if (redeemATokens) {
unstakeTxData = stakeService.redeemATokens(
user,
Expand Down
20 changes: 18 additions & 2 deletions src/modules/umbrella/services/StakeDataProviderService.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
import { ChainId } from '@aave/contract-helpers';
import { normalize } from '@aave/math-utils';
import { Provider } from '@ethersproject/providers';
import { MarketDataType } from 'src/ui-config/marketsConfig';

import { StakeDataStructOutput, StakeUserDataStructOutput } from './types/StakeDataProvider';
import { StakeDataProvider__factory } from './types/StakeDataProvider__factory';

const STAKE_DATA_PROVIDER = '0x512c8f87ac4af882ec1edaaf60177af5b8b3cfff';
interface StakeUmbrellaConfig {
[chain: number]: {
stakeDataProvider: string;
stakeGateway: string;
};
}
export const stakeUmbrellaConfig: StakeUmbrellaConfig = {
// [ChainId.mainnet]: {}, // TODO: Mainnet addresses
[ChainId.base_sepolia]: {
stakeDataProvider: '0x3246D6476dCc255b64342911D267F6CA3013068d',
stakeGateway: '0x50BAA7eEA31c82F829d5a41DC086391D827bd829',
},
};

export interface StakeData {
stakeToken: string;
Expand Down Expand Up @@ -77,7 +90,10 @@ export class StakeDataProviderService {

private getStakeDataProvider(marketData: MarketDataType) {
const provider = this.getProvider(marketData.chainId);
return StakeDataProvider__factory.connect(STAKE_DATA_PROVIDER, provider);
return StakeDataProvider__factory.connect(
stakeUmbrellaConfig[marketData.chainId].stakeDataProvider,
provider
);
}

async getStakeData(marketData: MarketDataType) {
Expand Down
4 changes: 1 addition & 3 deletions src/ui-config/networksConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -258,11 +258,9 @@ export const networkConfigs: Record<string, BaseNetworkConfig> = {
[ChainId.base_sepolia]: {
name: 'Base Sepolia',
publicJsonRPCUrl: [
'https://base-sepolia.blockpi.network/v1/rpc/public',
'https://sepolia.base.org',
'https://base-sepolia.gateway.tenderly.co',
'wss://base-sepolia-rpc.publicnode.com',
],
publicJsonRPCWSUrl: 'wss://base-sepolia-rpc.publicnode.com',
baseUniswapAdapter: '0x0',
baseAssetSymbol: 'ETH',
wrappedBaseAssetSymbol: 'WETH',
Expand Down

0 comments on commit 8c8efb5

Please sign in to comment.