Skip to content

Commit 23ae595

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into feat/integration-boba-network
2 parents fd74d7a + 751540f commit 23ae595

File tree

23 files changed

+199
-22
lines changed

23 files changed

+199
-22
lines changed

cspell.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"pnpm-lock.yaml"
1414
],
1515
"words": [
16+
"jugglerred",
1617
"aave",
1718
"adai",
1819
"addrs",
@@ -116,6 +117,7 @@
116117
"jailbroken",
117118
"jsbi",
118119
"jsonml",
120+
"jugglered",
119121
"juicebox",
120122
"kdfparams",
121123
"keccak",
@@ -142,6 +144,7 @@
142144
"masktext",
143145
"mastdon",
144146
"mayen",
147+
"mdex",
145148
"merkel",
146149
"merkle",
147150
"metas",
@@ -167,6 +170,7 @@
167170
"ongswap",
168171
"oolongswap",
169172
"opensea",
173+
"optmistic",
170174
"overridable",
171175
"overscan",
172176
"pageable",

packages/mask/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
ChainId,
66
ERC721ContractDetailed,
77
ERC721TokenDetailed,
8-
formatEthereumAddress,
98
isSameAddress,
109
NonFungibleAssetProvider,
1110
SocketState,
@@ -22,6 +21,7 @@ import { WalletMessages } from '@masknet/plugin-wallet'
2221
import { CollectionIcon } from './CollectionIcon'
2322
import { uniqBy } from 'lodash-unified'
2423
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'
24+
import { ReverseAddress } from '@masknet/shared'
2525

2626
export const CollectibleContext = createContext<{
2727
collectiblesRetry: () => void
@@ -301,7 +301,7 @@ export function CollectionList({
301301
className={classes.button}
302302
variant="outlined"
303303
size="small">
304-
{formatEthereumAddress(addressName.label, 5)}
304+
<ReverseAddress address={addressName.resolvedAddress} addressSize={5} />
305305
<KeyboardArrowDownIcon />
306306
</Button>
307307
</Box>
@@ -330,7 +330,7 @@ export function CollectionList({
330330
</Stack>
331331
<Box display="flex" alignItems="center" justifyContent="flex-end" flexWrap="wrap">
332332
<Button onClick={onSelectAddress} className={classes.button} variant="outlined" size="small">
333-
{formatEthereumAddress(addressName.label, 5)}
333+
<ReverseAddress address={addressName.resolvedAddress} addressSize={5} />
334334
<KeyboardArrowDownIcon />
335335
</Button>
336336
</Box>

packages/mask/src/plugins/Avatar/SNSAdaptor/NFTAvatar.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary'
1717
import { AddNFT } from './AddNFT'
1818
import { NFTImage } from './NFTImage'
1919
import { useAccount, useWeb3State } from '@masknet/plugin-infra'
20+
import { ReverseAddress } from '@masknet/shared'
2021

2122
const useStyles = makeStyles()((theme) => ({
2223
root: {},
@@ -142,7 +143,7 @@ export function NFTAvatar(props: NFTAvatarProps) {
142143
</Typography>
143144
{account ? (
144145
<Typography variant="body1" color="textPrimary" className={classes.account}>
145-
{t('nft_wallet_label')}: {Utils?.formatAddress?.(account, 4) || account}
146+
{t('nft_wallet_label')}: <ReverseAddress address={account} addressSize={4} />
146147
{!hideWallet ? (
147148
<Button
148149
variant="text"

packages/mask/src/plugins/Collectible/SNSAdaptor/NFTPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { MenuItem } from '@mui/material'
44
import type { AddressName } from '@masknet/web3-shared-evm'
55
import { CollectionList } from '../../../extension/options-page/DashboardComponents/CollectibleList'
66
import { first, uniqBy } from 'lodash-unified'
7-
import { formatEthereumAddress } from '@masknet/web3-shared-evm'
7+
import { ReverseAddress } from '@masknet/shared'
88

99
const useStyles = makeStyles()((theme) => ({
1010
root: {
@@ -71,7 +71,7 @@ export function NFTPage(props: NFTPageProps) {
7171
{uniqBy(addressNames ?? [], (x) => x.resolvedAddress.toLowerCase()).map((x) => {
7272
return (
7373
<MenuItem key={x.resolvedAddress} value={x.resolvedAddress} onClick={() => onSelect(x)}>
74-
{formatEthereumAddress(x.label, 5)}
74+
<ReverseAddress address={x.resolvedAddress} addressSize={5} />
7575
</MenuItem>
7676
)
7777
})}

packages/mask/src/plugins/Trader/apis/trader/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export async function getAvailableTraderProviders(chainId: ChainId) {
1717
TradeProvider.DODO,
1818
TradeProvider.BANCOR,
1919
TradeProvider.OPENOCEAN,
20+
TradeProvider.MDEX,
2021
]
2122
case NetworkType.Polygon:
2223
return [
@@ -35,6 +36,7 @@ export async function getAvailableTraderProviders(chainId: ChainId) {
3536
TradeProvider.DODO,
3637
TradeProvider.ZRX,
3738
TradeProvider.OPENOCEAN,
39+
TradeProvider.MDEX,
3840
]
3941
case NetworkType.Arbitrum:
4042
return [TradeProvider.UNISWAP_V3, TradeProvider.OPENOCEAN, TradeProvider.DODO]

packages/mask/src/plugins/Trader/constants/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ export * from './traderjoe'
1616
export * from './pangolindex'
1717
export * from './wannaswap'
1818
export * from './trisolaris'
19+
export * from './mdex'
1920
export type { ERC20TokenCustomizedBase, ERC20AgainstToken } from './types'
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { ChainId, DAI, USDC, USDT, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm'
2+
import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types'
3+
4+
/**
5+
* Some tokens can only be swapped via certain pairs,
6+
* so we override the list of bases that are considered for these tokens.
7+
*/
8+
export const MDEX_CUSTOM_BASES: ERC20TokenCustomizedBase = {}
9+
10+
export const MDEX_BASE_AGAINST_TOKENS: ERC20AgainstToken = {
11+
...WNATIVE_ONLY,
12+
[ChainId.Mainnet]: [WNATIVE, DAI, USDC, USDT].map((x) => x[ChainId.Mainnet]),
13+
[ChainId.BSC]: [WNATIVE, DAI, USDC, USDT].map((x) => x[ChainId.BSC]),
14+
}

packages/mask/src/plugins/Trader/pipes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export const resolveTradeProviderName = createLookupTableResolver<TradeProvider,
4343
[TradeProvider.PANGOLIN]: 'PangolinDex',
4444
[TradeProvider.TRISOLARIS]: 'Trisolaris',
4545
[TradeProvider.WANNASWAP]: 'WannaSwap',
46+
[TradeProvider.MDEX]: 'Mdex',
4647
},
4748
(tradeProvider) => {
4849
throw new Error(`Unknown provider type: ${tradeProvider}`)

packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,12 @@ export function useAllTradeComputed(
218218
trader: senpaiswap,
219219
traderEstimateGas: senpaiswapEstimateGas,
220220
} = useUniswapV2Like(tradeProviders, TradeProvider.SENPAISWAP, inputAmount_, inputToken, outputToken)
221+
// Mdex
222+
const {
223+
trader_: mdex_,
224+
trader: mdex,
225+
traderEstimateGas: mdexEstimateGas,
226+
} = useUniswapV2Like(tradeProviders, TradeProvider.MDEX, inputAmount_, inputToken, outputToken)
221227

222228
const allTradeResult = [
223229
{ provider: TradeProvider.UNISWAP_V2, ...uniswapV2_, value: uniswapV2, gas: uniswapV2EstimateGas },
@@ -238,6 +244,7 @@ export function useAllTradeComputed(
238244
{ provider: TradeProvider.OOLONGSWAP, ...oolongswap_, value: oolongswap, gas: oolongswapEstimateGas },
239245
{ provider: TradeProvider.SWAPPERCHAN, ...swapperchan_, value: swapperchan, gas: swapperchanEstimateGas },
240246
{ provider: TradeProvider.SENPAISWAP, ...senpaiswap_, value: senpaiswap, gas: senpaiswapEstimateGas },
247+
{ provider: TradeProvider.MDEX, ...mdex_, value: mdex, gas: mdexEstimateGas },
241248
]
242249

243250
return nativeToken_.value

packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ import {
2727
WANNASWAP_CUSTOM_BASES,
2828
TRISOLARIS_BASE_AGAINST_TOKENS,
2929
TRISOLARIS_CUSTOM_BASES,
30+
MDEX_BASE_AGAINST_TOKENS,
31+
MDEX_CUSTOM_BASES,
3032
} from '../constants'
3133
import { unreachable } from '@dimensiondev/kit'
3234
import { TargetChainIdContext } from './useTargetChainIdContext'
@@ -192,6 +194,18 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) {
192194
ADDITIONAL_TOKENS: {},
193195
CUSTOM_TOKENS: TRISOLARIS_CUSTOM_BASES,
194196
}
197+
case TradeProvider.MDEX:
198+
return {
199+
TYPE: tradeProvider,
200+
IS_UNISWAP_V2_LIKE: true,
201+
GRAPH_API: DEX_TRADE.MDEX_THEGRAPH,
202+
INIT_CODE_HASH: DEX_TRADE.MDEX_INIT_CODE_HASH,
203+
ROUTER_CONTRACT_ADDRESS: DEX_TRADE.MDEX_ROUTER_ADDRESS,
204+
FACTORY_CONTRACT_ADDRESS: DEX_TRADE.MDEX_FACTORY_ADDRESS,
205+
AGAINST_TOKENS: MDEX_BASE_AGAINST_TOKENS,
206+
ADDITIONAL_TOKENS: {},
207+
CUSTOM_TOKENS: MDEX_CUSTOM_BASES,
208+
}
195209
case TradeProvider.ZRX:
196210
return {
197211
TYPE: tradeProvider,

0 commit comments

Comments
 (0)