From bcf8e47b73ce07ec92c1dd7a6ea9621fcc1eb888 Mon Sep 17 00:00:00 2001 From: codingsh Date: Wed, 5 Jan 2022 17:53:33 +0000 Subject: [PATCH 1/9] feat(layer2): integrate moonriver and sushiswap dex --- cspell.json | 132 +++++++++--------- packages/mask/shared/flags.ts | 1 + .../background-script/SettingsService.ts | 3 + .../mask/src/plugins/EVM/assets/moonriver.png | Bin 0 -> 22078 bytes packages/mask/src/plugins/EVM/constants.ts | 10 ++ .../src/plugins/Trader/apis/trader/index.ts | 2 + .../mask/src/plugins/Trader/constants/0x.ts | 1 + .../mask/src/plugins/Trader/constants/dodo.ts | 1 + .../src/plugins/Trader/constants/openocean.ts | 1 + .../src/plugins/Trader/constants/sushiswap.ts | 1 + .../src/plugins/Trader/constants/trader.ts | 1 + packages/mask/src/plugins/Trader/pipes.ts | 4 + packages/mask/src/plugins/Trader/services.ts | 9 ++ packages/mask/src/plugins/Trader/settings.ts | 5 + .../src/plugins/Trader/trader/0x/useTrade.ts | 10 +- .../Trader/trader/useGetTradeContext.ts | 57 ++++---- .../plugins/Trader/trader/useTradeContext.ts | 57 ++++---- .../trending/useCurrentTradeProvider.ts | 4 + .../src/plugins/Wallet/services/account.ts | 1 + packages/mask/src/resources/moonriver.png | Bin 0 -> 11049 bytes packages/mask/src/settings/listener.ts | 2 + packages/mask/src/utils/native-rpc/Web.ts | 4 + packages/public-api/src/web.ts | 1 + packages/shared-base/src/Messages/Mask.ts | 1 + packages/web3-constants/evm/airdrop.json | 3 +- packages/web3-constants/evm/coingecko.json | 6 +- .../web3-constants/evm/coinmarketcap.json | 3 +- packages/web3-constants/evm/cryptoartai.json | 9 +- packages/web3-constants/evm/debank.json | 3 +- packages/web3-constants/evm/dhedge.json | 6 +- packages/web3-constants/evm/ethereum.json | 12 +- packages/web3-constants/evm/explorer.json | 6 +- packages/web3-constants/evm/gitcoin.json | 12 +- packages/web3-constants/evm/ito.json | 23 +-- packages/web3-constants/evm/lbp.json | 3 +- packages/web3-constants/evm/mask-box.json | 15 +- .../web3-constants/evm/nft-red-packet.json | 6 +- packages/web3-constants/evm/opensea-api.json | 9 +- packages/web3-constants/evm/red-packet.json | 18 ++- packages/web3-constants/evm/rpc.json | 6 +- .../evm/space-station-galaxy.json | 6 +- .../evm/token-asset-base-url.json | 3 +- packages/web3-constants/evm/token-list.json | 3 +- packages/web3-constants/evm/token.json | 129 +++++++++++------ packages/web3-constants/evm/trader.json | 115 +++++++++------ packages/web3-constants/evm/trending.json | 9 +- packages/web3-constants/evm/zerion.json | 6 +- packages/web3-shared/evm/assets/chains.json | 4 +- packages/web3-shared/evm/pipes/index.ts | 3 + packages/web3-shared/evm/types/index.ts | 4 + .../web3-shared/evm/utils/chainDetailed.ts | 2 + pnpm-lock.yaml | 1 + 52 files changed, 465 insertions(+), 268 deletions(-) create mode 100644 packages/mask/src/plugins/EVM/assets/moonriver.png create mode 100644 packages/mask/src/resources/moonriver.png diff --git a/cspell.json b/cspell.json index 65135eac6d37..bb7fabfac584 100644 --- a/cspell.json +++ b/cspell.json @@ -12,53 +12,17 @@ "*.snap" ], "words": [ - "AMPL", - "Adai", - "Amountstate", - "Ampleforth", - "ARETH", - "Bolivarian", - "Bouvet", - "Burkina", - "CAIP", - "Caicos", - "Celo", - "Checksummed", - "Cunha", - "Cura", - "DHEDGE", - "Darussalam", - "ECID", - "Eustatius", - "Exchangetoken", - "Faso", - "Futuna", - "IDBP", - "IHDR", - "Kitts", - "Leste", - "Maarten", - "Marino", - "Maskbook", - "Mastdon", - "Mayen", - "Merkle", - "Mutex", - "Plurinational", - "Polkadot", - "Pooltogether", - "Rhonin", - "Rica", - "Sint", - "Tokelau", - "Transak", - "Vcent", - "Viet", "aave", + "Adai", "addrs", + "Amountstate", "ampl", + "AMPL", + "Ampleforth", "anchorme", + "apikey", "arbitrum", + "ARETH", "arweave", "bgcolor", "bignumber", @@ -67,9 +31,17 @@ "blockie", "blockies", "bluebar", + "Bolivarian", + "Bouvet", "builtins", + "Burkina", + "Caicos", + "CAIP", "canonify", "cashtag", + "Celo", + "Checksummed", + "Choudhary", "cipherparams", "ciphertext", "clearfix", @@ -78,9 +50,15 @@ "commentid", "consolas", "contenteditable", + "contrib", + "contribs", "cooldown", + "counterparty", "crwdne", + "Cunha", + "Cura", "d'Ivoire", + "Darussalam", "datas", "debank", "denorm", @@ -88,30 +66,40 @@ "deserialization", "destory", "dfyn", + "DHEDGE", "dimensiondev", "dklen", "dompurify", + "ECID", "ecsign", "elec", "encryptedmsg", "endregion", "ethersproject", + "Eustatius", "everytime", + "Exchangetoken", + "Faso", "fbid", "filelist", "fileservice", "formating", "fullfilled", "furucombo", + "Futuna", "gasnow", "geckoview", "gltf", "goodghosting", + "Görli", "gundb", "hashmasks", + "hexlify", "holoflows", "iconbar", + "IDBP", "ifclaimed", + "IHDR", "imagebitmap", "immer", "importmap", @@ -120,48 +108,70 @@ "ipfs", "ipfsurl", "ittr", + "jailbroken", "jsbi", "jsonml", + "juicebox", "kdfparams", "keccak", + "Kitts", "kred", "labelledby", "languagedetector", "lemy", + "Leste", "linkedin", "linkswap", "locationchange", "lowercased", + "Maarten", + "macbinary", + "majeure", + "Marino", + "Maskbook", "maskbookjsonrpc", "maskface", "masknet", "masknetwork", "masknightly", "masktext", + "Mastdon", + "Mayen", + "Merkle", "messagepack", "metas", + "metaverse", "millify", + "misoperation", "monofont", "monospace", "mooniswap", + "Moonriver", "msgpack", "mska", "mskb", "mskc", "multicall", "multihop", + "Mutex", "newsfeed", + "NFTRSS", + "nftscan", "nowallet", "nums", "opensea", "overridable", "overscan", + "Pageable", "pagelet", "pancakeswap", "pathnames", "perma", "pid", "pids", + "Plurinational", + "Polkadot", + "Pooltogether", "popper", "popperjs", "porportion", @@ -170,7 +180,6 @@ "promi", "proxied", "pushstate", - "unstyled", "pvtsutils", "qrcode", "quickswap", @@ -180,6 +189,9 @@ "redpacket", "replacestate", "repost", + "resizer", + "Rhonin", + "Rica", "rindexed", "rpid", "rpids", @@ -187,7 +199,10 @@ "sashimiswap", "scroller", "secp", + "Serializers", "shink", + "Sint", + "solana", "steelblue", "steganographic", "steganography", @@ -196,6 +211,7 @@ "superrare", "sushiswap", "swappable", + "Swither", "tabindex", "tablist", "testid", @@ -203,6 +219,9 @@ "thegraph", "timelock", "timelocked", + "Tokelau", + "tokenid", + "Transak", "twimg", "txid", "typechain", @@ -211,9 +230,12 @@ "unencrypted", "unreviewed", "unstake", + "unstyled", "untrusted", "urlcat", "usermenu", + "Vcent", + "Viet", "viewbox", "visualcompletion", "walletconnect", @@ -227,29 +249,7 @@ "xlarge", "xlink", "zerion", - "Zubin", - "Choudhary", - "macbinary", - "Choudhary", - "counterparty", - "jailbroken", - "misoperation", - "majeure", - "Serializers", - "Swither", - "nftscan", - "apikey", - "tokenid", - "NFTRSS", - "solana", - "Görli", - "resizer", - "Pageable", - "metaverse", - "hexlify", - "contribs", - "contrib", - "juicebox" + "Zubin" ], "ignoreWords": [ "cryptopunks", diff --git a/packages/mask/shared/flags.ts b/packages/mask/shared/flags.ts index cf4a91e4ffff..e77cf0a0d80b 100644 --- a/packages/mask/shared/flags.ts +++ b/packages/mask/shared/flags.ts @@ -52,6 +52,7 @@ export const Flags = { arbitrum_enabled: true, xdai_enabled: true, fantom_enabled: true, + moonriver_enabled: true, flow_enabled: true, celo_enabled: true, nft_airdrop_enabled: false, diff --git a/packages/mask/src/extension/background-script/SettingsService.ts b/packages/mask/src/extension/background-script/SettingsService.ts index b8790de613b1..933c410fb0ab 100644 --- a/packages/mask/src/extension/background-script/SettingsService.ts +++ b/packages/mask/src/extension/background-script/SettingsService.ts @@ -17,6 +17,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + moonriverNetworkTradeProviderSettings, } from '../../plugins/Trader/settings' import { queryMyPersonas } from './IdentityService' import { @@ -79,6 +80,8 @@ export const [getCeloNetworkTradeProvider, setCeloNetworkTradeProvider] = create export const [getFantomNetworkTradeProvider, setFantomNetworkTradeProvider] = create(fantomNetworkTradeProviderSettings) +export const [getMrvNetworkTradeProvider, setMrvNetworkTradeProvider] = create(moonriverNetworkTradeProviderSettings) + export const [getCurrentSelectedWalletProvider, setCurrentSelectedWalletProvider] = create(currentProviderSettings) export const [getCurrentSelectedWalletNetwork, setCurrentSelectedWalletNetwork] = create(currentNetworkSettings) diff --git a/packages/mask/src/plugins/EVM/assets/moonriver.png b/packages/mask/src/plugins/EVM/assets/moonriver.png new file mode 100644 index 0000000000000000000000000000000000000000..0feb07f4871287ba99efe552f30e58efd937e066 GIT binary patch literal 22078 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 literal 0 HcmV?d00001 diff --git a/packages/mask/src/plugins/EVM/constants.ts b/packages/mask/src/plugins/EVM/constants.ts index 960067629005..bf5c3d75e16c 100644 --- a/packages/mask/src/plugins/EVM/constants.ts +++ b/packages/mask/src/plugins/EVM/constants.ts @@ -147,6 +147,16 @@ export const PLUGIN_NETWORKS: Web3Plugin.NetworkDescriptor[] = [ iconColor: 'rgb(73, 169, 166)', isMainnet: true, }, + { + ID: `${PLUGIN_ID}_moonriver`, + networkSupporterPluginID: PLUGIN_ID, + chainId: ChainId.Moonriver, + type: NetworkType.Moonriver, + name: 'Moonriver', + icon: new URL('./assets/moonriver.png', import.meta.url), + iconColor: 'rgb(242, 183, 5)', + isMainnet: true, + }, ] export const PLUGIN_PROVIDERS: Web3Plugin.ProviderDescriptor[] = [ { diff --git a/packages/mask/src/plugins/Trader/apis/trader/index.ts b/packages/mask/src/plugins/Trader/apis/trader/index.ts index b6a67b76bb5e..a46619eaa9b0 100644 --- a/packages/mask/src/plugins/Trader/apis/trader/index.ts +++ b/packages/mask/src/plugins/Trader/apis/trader/index.ts @@ -43,6 +43,8 @@ export async function getAvailableTraderProviders(chainId: ChainId) { return [TradeProvider.SUSHISWAP] case NetworkType.Fantom: return [TradeProvider.SUSHISWAP] + case NetworkType.Moonriver: + return [TradeProvider.SUSHISWAP] default: safeUnreachable(networkType) return [] diff --git a/packages/mask/src/plugins/Trader/constants/0x.ts b/packages/mask/src/plugins/Trader/constants/0x.ts index ac1e73d8fcbd..23de5aa102cc 100644 --- a/packages/mask/src/plugins/Trader/constants/0x.ts +++ b/packages/mask/src/plugins/Trader/constants/0x.ts @@ -8,6 +8,7 @@ export const ZRX_BASE_URL: Record = { [NetworkType.xDai]: 'https://xdai.api.0x.org/', [NetworkType.Celo]: 'https://celo.api.0x.org/', [NetworkType.Fantom]: 'https://fantom.api.0x.org/', + [NetworkType.Moonriver]: 'https://moonriver.api.0x.org/', } export const ZRX_AFFILIATE_ADDRESS = '0x934B510D4C9103E6a87AEf13b816fb080286D649' diff --git a/packages/mask/src/plugins/Trader/constants/dodo.ts b/packages/mask/src/plugins/Trader/constants/dodo.ts index de1c1e6ca651..f7c3ad994fd3 100644 --- a/packages/mask/src/plugins/Trader/constants/dodo.ts +++ b/packages/mask/src/plugins/Trader/constants/dodo.ts @@ -10,4 +10,5 @@ export const networkNames: Record = { [NetworkType.xDai]: 'xdai', [NetworkType.Celo]: 'celo', [NetworkType.Fantom]: 'fantom', + [NetworkType.Moonriver]: 'moonriver', } diff --git a/packages/mask/src/plugins/Trader/constants/openocean.ts b/packages/mask/src/plugins/Trader/constants/openocean.ts index e3412435e2bc..d25819cdec09 100644 --- a/packages/mask/src/plugins/Trader/constants/openocean.ts +++ b/packages/mask/src/plugins/Trader/constants/openocean.ts @@ -10,4 +10,5 @@ export const networkNames: Record = { [NetworkType.xDai]: 'xdai', [NetworkType.Celo]: 'celo', [NetworkType.Fantom]: 'fantom', + [NetworkType.Moonriver]: 'moonriver', } diff --git a/packages/mask/src/plugins/Trader/constants/sushiswap.ts b/packages/mask/src/plugins/Trader/constants/sushiswap.ts index ae6db9169262..5efe30fff834 100644 --- a/packages/mask/src/plugins/Trader/constants/sushiswap.ts +++ b/packages/mask/src/plugins/Trader/constants/sushiswap.ts @@ -35,4 +35,5 @@ export const SUSHISWAP_BASE_AGAINST_TOKENS: ERC20AgainstToken = { [ChainId.xDai]: [WNATIVE, USDC, USDT, WBTC].map((x) => x[ChainId.xDai]), [ChainId.Celo]: [WNATIVE, CUSD, CEUR].map((x) => x[ChainId.Celo]), [ChainId.Fantom]: [WNATIVE, DAI, USDC, fUSDT, WBTC].map((x) => x[ChainId.Fantom]), + [ChainId.Moonriver]: [WNATIVE, DAI, USDC, fUSDT, WBTC].map((x) => x[ChainId.Moonriver]), } diff --git a/packages/mask/src/plugins/Trader/constants/trader.ts b/packages/mask/src/plugins/Trader/constants/trader.ts index 68e4c95072a1..c1f0aa3dc841 100644 --- a/packages/mask/src/plugins/Trader/constants/trader.ts +++ b/packages/mask/src/plugins/Trader/constants/trader.ts @@ -66,6 +66,7 @@ export const WNATIVE_ONLY: ERC20AgainstToken = { [ChainId.xDai]: [WNATIVE[ChainId.xDai]], [ChainId.Celo]: [WNATIVE[ChainId.Celo]], [ChainId.Fantom]: [WNATIVE[ChainId.Fantom]], + [ChainId.Moonriver]: [WNATIVE[ChainId.Moonriver]], } export const BIPS_BASE = new BigNumber(10000) diff --git a/packages/mask/src/plugins/Trader/pipes.ts b/packages/mask/src/plugins/Trader/pipes.ts index 55e621b72e9d..8dfb4f9e9339 100644 --- a/packages/mask/src/plugins/Trader/pipes.ts +++ b/packages/mask/src/plugins/Trader/pipes.ts @@ -85,6 +85,8 @@ export function resolveTradeProviderLink(tradeProvider: TradeProvider, networkTy return 'https://celo.api.0x.org/' case NetworkType.Fantom: return 'https://fantom.api.0x.org/' + case NetworkType.Moonriver: + return 'https://moonriver.api.0x.org/' default: safeUnreachable(networkType) return '' @@ -145,6 +147,8 @@ export function resolveTradePairLink(tradeProvider: TradeProvider, address: stri return `https://analytics-celo.sushi.com/pairs/${address}` case NetworkType.Fantom: return `https://analytics-ftm.sushi.com/pairs/${address}` + case NetworkType.Moonriver: + return `https://analytics-mrv.sushi.com/pairs/${address}` default: safeUnreachable(networkType) return '' diff --git a/packages/mask/src/plugins/Trader/services.ts b/packages/mask/src/plugins/Trader/services.ts index 34cab6cd276c..1d9e551c9241 100644 --- a/packages/mask/src/plugins/Trader/services.ts +++ b/packages/mask/src/plugins/Trader/services.ts @@ -13,6 +13,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + moonriverNetworkTradeProviderSettings, } from './settings' import { DataProvider, TradeProvider } from '@masknet/public-api' @@ -53,6 +54,11 @@ currentChainIdSettings.addListener((chainId: ChainId) => { if (currentDataProviderSettings.value === DataProvider.UNISWAP_INFO) currentDataProviderSettings.value = DataProvider.COIN_MARKET_CAP break + case NetworkType.Moonriver: + currentTradeProviderSettings.value = TradeProvider.SUSHISWAP + if (currentDataProviderSettings.value === DataProvider.UNISWAP_INFO) + currentDataProviderSettings.value = DataProvider.COIN_MARKET_CAP + break default: unreachable(networkType) } @@ -83,6 +89,9 @@ currentTradeProviderSettings.addListener((tradeProvider: TradeProvider) => { case NetworkType.Fantom: fantomNetworkTradeProviderSettings.value = tradeProvider break + case NetworkType.Moonriver: + moonriverNetworkTradeProviderSettings.value = tradeProvider + break default: unreachable(networkType) } diff --git a/packages/mask/src/plugins/Trader/settings.ts b/packages/mask/src/plugins/Trader/settings.ts index 13a929c1439d..97b5918889af 100644 --- a/packages/mask/src/plugins/Trader/settings.ts +++ b/packages/mask/src/plugins/Trader/settings.ts @@ -87,6 +87,11 @@ export const celoNetworkTradeProviderSettings = createGlobalSettings '' }, ) +export const moonriverNetworkTradeProviderSettings = createGlobalSettings( + `${PLUGIN_ID}+moonriver+tradeProvider`, + TradeProvider.SUSHISWAP, + { primary: () => '' }, +) //#region trade provider general settings export interface TradeProviderSettings { diff --git a/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts b/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts index 439254ad5f63..48b280f51f90 100644 --- a/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts +++ b/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts @@ -18,22 +18,20 @@ import { currentNetworkSettings } from '../../../Wallet/settings' import { TargetChainIdContext } from '../useTargetChainIdContext' import { TradeProvider } from '@masknet/public-api' +const NATIVE_TOKEN_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' + export function getNativeTokenLabel(networkType: NetworkType) { switch (networkType) { case NetworkType.Ethereum: return 'ETH' case NetworkType.Binance: - return '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' case NetworkType.Polygon: - return '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' case NetworkType.Arbitrum: - return '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' case NetworkType.xDai: - return '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' case NetworkType.Celo: - return '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' case NetworkType.Fantom: - return '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' + case NetworkType.Moonriver: + return NATIVE_TOKEN_ADDRESS default: safeUnreachable(networkType) return '' diff --git a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts index b9eea9226d02..6dc798993700 100644 --- a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts @@ -19,6 +19,7 @@ import { TargetChainIdContext } from './useTargetChainIdContext' export function useGetTradeContext(tradeProvider?: TradeProvider) { const { targetChainId: chainId } = TargetChainIdContext.useContainer() + const DEX_TRADE = getTraderConstants(chainId) return useMemo(() => { switch (tradeProvider) { @@ -26,10 +27,10 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).UNISWAP_V2_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).UNISWAP_V2_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_V2_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_V2_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.UNISWAP_V2_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.UNISWAP_V2_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_V2_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_V2_FACTORY_ADDRESS, AGAINST_TOKENS: UNISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: UNISWAP_CUSTOM_BASES, @@ -38,10 +39,10 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V3_LIKE: true, - GRAPH_API: getTraderConstants(chainId).UNISWAP_V3_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).UNISWAP_V3_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_SWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_V3_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.UNISWAP_V3_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.UNISWAP_V3_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_SWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_V3_FACTORY_ADDRESS, AGAINST_TOKENS: UNISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: UNISWAP_CUSTOM_BASES, @@ -50,10 +51,10 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).SUSHISWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).SUSHISWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).SUSHISWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).SUSHISWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.SUSHISWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.SUSHISWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.SUSHISWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.SUSHISWAP_FACTORY_ADDRESS, AGAINST_TOKENS: SUSHISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: SUSHISWAP_CUSTOM_BASES, @@ -62,10 +63,10 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).SASHIMISWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).SASHIMISWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).SASHIMISWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).SASHIMISWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.SASHIMISWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.SASHIMISWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.SASHIMISWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.SASHIMISWAP_FACTORY_ADDRESS, AGAINST_TOKENS: SASHIMISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: SASHIMISWAP_CUSTOM_BASES, @@ -74,10 +75,10 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).QUICKSWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).QUICKSWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).QUICKSWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).QUICKSWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.QUICKSWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.QUICKSWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.QUICKSWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.QUICKSWAP_FACTORY_ADDRESS, AGAINST_TOKENS: QUICKSWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: QUICKSWAP_CUSTOM_BASES, @@ -86,10 +87,10 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).PANCAKESWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).PANCAKESWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).PANCAKESWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).PANCAKESWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.PANCAKESWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.PANCAKESWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.PANCAKESWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.PANCAKESWAP_FACTORY_ADDRESS, AGAINST_TOKENS: PANCAKESWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: PANCAKESWAP_CUSTOM_BASES, @@ -101,22 +102,22 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { case TradeProvider.BALANCER: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).BALANCER_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.BALANCER_EXCHANGE_PROXY_ADDRESS, } case TradeProvider.DODO: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).DODO_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.DODO_EXCHANGE_PROXY_ADDRESS, } case TradeProvider.BANCOR: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).BANCOR_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.BANCOR_EXCHANGE_PROXY_ADDRESS, } case TradeProvider.OPENOCEAN: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).BANCOR_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.BANCOR_EXCHANGE_PROXY_ADDRESS, } default: if (tradeProvider) unreachable(tradeProvider) diff --git a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts index 6aa3cdfb1df1..343957c9cd88 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts @@ -21,16 +21,17 @@ export const TradeContext = createContext(null) export function useTradeContext(tradeProvider: TradeProvider) { const { targetChainId: chainId } = TargetChainIdContext.useContainer() + const DEX_TRADE = getTraderConstants(chainId) return useMemo(() => { switch (tradeProvider) { case TradeProvider.UNISWAP_V2: return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).UNISWAP_V2_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).UNISWAP_V2_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_V2_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_V2_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.UNISWAP_V2_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.UNISWAP_V2_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_V2_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_V2_FACTORY_ADDRESS, AGAINST_TOKENS: UNISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: UNISWAP_CUSTOM_BASES, @@ -39,10 +40,10 @@ export function useTradeContext(tradeProvider: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V3_LIKE: true, - GRAPH_API: getTraderConstants(chainId).UNISWAP_V3_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).UNISWAP_V3_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_SWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).UNISWAP_V3_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.UNISWAP_V3_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.UNISWAP_V3_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_SWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.UNISWAP_V3_FACTORY_ADDRESS, AGAINST_TOKENS: UNISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: UNISWAP_CUSTOM_BASES, @@ -51,10 +52,10 @@ export function useTradeContext(tradeProvider: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).SUSHISWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).SUSHISWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).SUSHISWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).SUSHISWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.SUSHISWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.SUSHISWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.SUSHISWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.SUSHISWAP_FACTORY_ADDRESS, AGAINST_TOKENS: SUSHISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: SUSHISWAP_CUSTOM_BASES, @@ -63,10 +64,10 @@ export function useTradeContext(tradeProvider: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).SASHIMISWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).SASHIMISWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).SASHIMISWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).SASHIMISWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.SASHIMISWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.SASHIMISWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.SASHIMISWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.SASHIMISWAP_FACTORY_ADDRESS, AGAINST_TOKENS: SASHIMISWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: SASHIMISWAP_CUSTOM_BASES, @@ -75,10 +76,10 @@ export function useTradeContext(tradeProvider: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).QUICKSWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).QUICKSWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).QUICKSWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).QUICKSWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.QUICKSWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.QUICKSWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.QUICKSWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.QUICKSWAP_FACTORY_ADDRESS, AGAINST_TOKENS: QUICKSWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: QUICKSWAP_CUSTOM_BASES, @@ -87,10 +88,10 @@ export function useTradeContext(tradeProvider: TradeProvider) { return { TYPE: tradeProvider, IS_UNISWAP_V2_LIKE: true, - GRAPH_API: getTraderConstants(chainId).PANCAKESWAP_THEGRAPH, - INIT_CODE_HASH: getTraderConstants(chainId).PANCAKESWAP_INIT_CODE_HASH, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).PANCAKESWAP_ROUTER_ADDRESS, - FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).PANCAKESWAP_FACTORY_ADDRESS, + GRAPH_API: DEX_TRADE.PANCAKESWAP_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.PANCAKESWAP_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.PANCAKESWAP_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.PANCAKESWAP_FACTORY_ADDRESS, AGAINST_TOKENS: PANCAKESWAP_BASE_AGAINST_TOKENS, ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: PANCAKESWAP_CUSTOM_BASES, @@ -102,22 +103,22 @@ export function useTradeContext(tradeProvider: TradeProvider) { case TradeProvider.BALANCER: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).BALANCER_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.BALANCER_EXCHANGE_PROXY_ADDRESS, } case TradeProvider.DODO: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).DODO_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.DODO_EXCHANGE_PROXY_ADDRESS, } case TradeProvider.BANCOR: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).BANCOR_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.BANCOR_EXCHANGE_PROXY_ADDRESS, } case TradeProvider.OPENOCEAN: return { TYPE: tradeProvider, - ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).OPENOCEAN_EXCHANGE_PROXY_ADDRESS, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.OPENOCEAN_EXCHANGE_PROXY_ADDRESS, } default: unreachable(tradeProvider) diff --git a/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts b/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts index 07817010d9b2..1fb96e6e9054 100644 --- a/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts +++ b/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts @@ -7,6 +7,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + moonriverNetworkTradeProviderSettings, } from '../settings' import { ChainId, getNetworkTypeFromChainId, NetworkType } from '@masknet/web3-shared-evm' import { unreachable } from '@dimensiondev/kit' @@ -22,6 +23,7 @@ export function useCurrentTradeProvider(chainId?: ChainId) { const xdaiNetworkTradeProvider = useValueRef(xdaiNetworkTradeProviderSettings) const celoNetworkTradeProvider = useValueRef(celoNetworkTradeProviderSettings) const fantomNetworkTradeProvider = useValueRef(fantomNetworkTradeProviderSettings) + const moonriverNetworkTradeProvider = useValueRef(moonriverNetworkTradeProviderSettings) if (!networkType) return TradeProvider.UNISWAP_V2 switch (networkType) { @@ -39,6 +41,8 @@ export function useCurrentTradeProvider(chainId?: ChainId) { return celoNetworkTradeProvider case NetworkType.Fantom: return fantomNetworkTradeProvider + case NetworkType.Moonriver: + return moonriverNetworkTradeProvider default: unreachable(networkType) } diff --git a/packages/mask/src/plugins/Wallet/services/account.ts b/packages/mask/src/plugins/Wallet/services/account.ts index 5d0e988a81fa..b96b64c54cec 100644 --- a/packages/mask/src/plugins/Wallet/services/account.ts +++ b/packages/mask/src/plugins/Wallet/services/account.ts @@ -126,5 +126,6 @@ export async function getSupportedNetworks() { Flags.xdai_enabled ? NetworkType.xDai : undefined, Flags.celo_enabled ? NetworkType.Celo : undefined, Flags.fantom_enabled ? NetworkType.Fantom : undefined, + Flags.moonriver_enabled ? NetworkType.Moonriver : undefined, ].filter(Boolean) as NetworkType[] } diff --git a/packages/mask/src/resources/moonriver.png b/packages/mask/src/resources/moonriver.png new file mode 100644 index 0000000000000000000000000000000000000000..6ddf4748c523351fdddf0a3db4e09a257291317a GIT binary patch literal 11049 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 C$TuGV literal 0 HcmV?d00001 diff --git a/packages/mask/src/settings/listener.ts b/packages/mask/src/settings/listener.ts index 95614ff11643..a98fa8fa3377 100644 --- a/packages/mask/src/settings/listener.ts +++ b/packages/mask/src/settings/listener.ts @@ -27,6 +27,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + moonriverNetworkTradeProviderSettings, } from '../plugins/Trader/settings' import type { InternalSettings } from './createSettings' @@ -56,5 +57,6 @@ export function ToBeListened(): ToBeListedSettings { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + moonriverNetworkTradeProviderSettings, } } diff --git a/packages/mask/src/utils/native-rpc/Web.ts b/packages/mask/src/utils/native-rpc/Web.ts index ba8533891f7a..a544a764678f 100644 --- a/packages/mask/src/utils/native-rpc/Web.ts +++ b/packages/mask/src/utils/native-rpc/Web.ts @@ -119,6 +119,8 @@ export const MaskNetworkAPI: MaskNetworkAPIs = { return Services.Settings.getCeloNetworkTradeProvider() case NetworkType.Fantom: return Services.Settings.getxDaiNetworkTradeProvider() + case NetworkType.Moonriver: + return Services.Settings.getMrvNetworkTradeProvider() default: unreachable(network) } @@ -139,6 +141,8 @@ export const MaskNetworkAPI: MaskNetworkAPIs = { return Services.Settings.setCeloNetworkTradeProvider(provider) case NetworkType.Fantom: return Services.Settings.setFantomNetworkTradeProvider(provider) + case NetworkType.Moonriver: + return Services.Settings.setMrvNetworkTradeProvider(provider) default: unreachable(network) } diff --git a/packages/public-api/src/web.ts b/packages/public-api/src/web.ts index 903942514359..a1ffb8baf2c7 100644 --- a/packages/public-api/src/web.ts +++ b/packages/public-api/src/web.ts @@ -193,6 +193,7 @@ export enum NetworkType { xDai = 'xDai', Celo = 'Celo', Fantom = 'Fantom', + Moonriver = 'Moonriver', } export enum DataProvider { diff --git a/packages/shared-base/src/Messages/Mask.ts b/packages/shared-base/src/Messages/Mask.ts index f3ad28372301..0be3fc32c457 100644 --- a/packages/shared-base/src/Messages/Mask.ts +++ b/packages/shared-base/src/Messages/Mask.ts @@ -35,6 +35,7 @@ export interface MaskSettingsEvents { xdaiNetworkTradeProviderSettings: TradeProvider fantomNetworkTradeProviderSettings: TradeProvider celoNetworkTradeProviderSettings: TradeProvider + moonriverNetworkTradeProviderSettings: TradeProvider } export interface MaskMobileOnlyEvents { diff --git a/packages/web3-constants/evm/airdrop.json b/packages/web3-constants/evm/airdrop.json index 080e691cfbb9..48e81f7f0f42 100644 --- a/packages/web3-constants/evm/airdrop.json +++ b/packages/web3-constants/evm/airdrop.json @@ -13,6 +13,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "1285" } } diff --git a/packages/web3-constants/evm/coingecko.json b/packages/web3-constants/evm/coingecko.json index f7077b1cdc09..fe7d07545ee5 100644 --- a/packages/web3-constants/evm/coingecko.json +++ b/packages/web3-constants/evm/coingecko.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "xdai", "Celo": "celo", - "Fantom": "fantom" + "Fantom": "fantom", + "Moonriver": "moonriver" }, "COIN_ID": { "Mainnet": "ethereum", @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": "", "xDai": "xdai", "Celo": "celo", - "Fantom": "fantom" + "Fantom": "fantom", + "Moonriver": "moonriver" } } diff --git a/packages/web3-constants/evm/coinmarketcap.json b/packages/web3-constants/evm/coinmarketcap.json index 79d9ae0c806c..997c25907bcd 100644 --- a/packages/web3-constants/evm/coinmarketcap.json +++ b/packages/web3-constants/evm/coinmarketcap.json @@ -13,6 +13,7 @@ "Arbitrum_Rinkeby": "", "xDai": "5601", "Celo": "5567", - "Fantom": "3513" + "Fantom": "3513", + "Moonriver": "1285" } } diff --git a/packages/web3-constants/evm/cryptoartai.json b/packages/web3-constants/evm/cryptoartai.json index d4e9200b7a36..b9623b0b6797 100644 --- a/packages/web3-constants/evm/cryptoartai.json +++ b/packages/web3-constants/evm/cryptoartai.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "ARTIST_ACCEPTING_BIDS_V2": { "Mainnet": "0x78C889749f29D2965a76Ede3BBb232A9729Ccf0b", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "CANFT_MARKET": { "Mainnet": "0x72d081953957723e540780a0C6bA31725469238E", @@ -45,6 +47,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/debank.json b/packages/web3-constants/evm/debank.json index 8a9740338d66..4c1e74f3ca73 100644 --- a/packages/web3-constants/evm/debank.json +++ b/packages/web3-constants/evm/debank.json @@ -13,6 +13,7 @@ "Arbitrum_Rinkeby": "", "xDai": "xdai", "Celo": "celo", - "Fantom": "ftm" + "Fantom": "ftm", + "Moonriver": "movr" } } diff --git a/packages/web3-constants/evm/dhedge.json b/packages/web3-constants/evm/dhedge.json index 43327d83e929..3439cec5aec1 100644 --- a/packages/web3-constants/evm/dhedge.json +++ b/packages/web3-constants/evm/dhedge.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "API_URL": { "Mainnet": "https://api-v2.dhedge.org/graphql", @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/ethereum.json b/packages/web3-constants/evm/ethereum.json index ace0fc9b4504..9cc2a6c408f8 100644 --- a/packages/web3-constants/evm/ethereum.json +++ b/packages/web3-constants/evm/ethereum.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "0xF98dC9391273c5ab9fa2c980A8d4F875ece802db", "xDai": "0x96c7D011cdFD467f551605f0f5Fce279F86F4186", "Celo": "0x8e28F1d64ceD52b9A09aB1AA3071Aa3c05802d1F", - "Fantom": "0xc119574d5fb333f5ac018658d4d8b5035e16bf39" + "Fantom": "0xc119574d5fb333f5ac018658d4d8b5035e16bf39", + "Moonriver": "" }, "MULTICALL_ADDRESS": { "Mainnet": "0x1F98415757620B543A52E61c46B32eB19261F984", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "0xa501c031958F579dB7676fF1CE78AD305794d579", "xDai": "0xAb7B1bE4233A04e5C43a810E75657ECED8E5463B", "Celo": "0x072453AdEC16cFC7FB6Af1517c3f25407180cccC", - "Fantom": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c" + "Fantom": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c", + "Moonriver": "0x43D002a2B468F048028Ea9C2D3eD4705a94e68Ae" }, "ENS_REGISTRAR_ADDRESS": { "Mainnet": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "ENS_REVERSE_RECORDS_ADDRESS": { "Mainnet": "0x3671aE578E63FdF66ad4F3E12CC0c0d71Ac7510C", @@ -61,6 +64,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/explorer.json b/packages/web3-constants/evm/explorer.json index 26b1e74b38e1..dd0b170fd963 100644 --- a/packages/web3-constants/evm/explorer.json +++ b/packages/web3-constants/evm/explorer.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "https://api.ftmscan.com/api" + "Fantom": "https://api.ftmscan.com/api", + "Moonriver": "" }, "EXPLORER_API_KEY": { "Mainnet": "99IX9MBZKG8FYQUECXDNDPATGVDDH6JCWW", @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/gitcoin.json b/packages/web3-constants/evm/gitcoin.json index 552209c04e2b..ae1d3571708c 100644 --- a/packages/web3-constants/evm/gitcoin.json +++ b/packages/web3-constants/evm/gitcoin.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BULK_CHECKOUT_ADDRESS": { "Mainnet": "0x7d655c57f71464B6f83811C55D84009Cd9f5221C", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "GITCOIN_ETH_ADDRESS": { "Mainnet": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "GITCOIN_TIP_PERCENTAGE": { "Mainnet": 5, @@ -61,6 +64,7 @@ "Arbitrum_Rinkeby": 5, "xDai": 5, "Celo": 0, - "Fantom": 0 + "Fantom": 0, + "Moonriver": 0 } } diff --git a/packages/web3-constants/evm/ito.json b/packages/web3-constants/evm/ito.json index 89599464f52e..4a8dc95794a9 100644 --- a/packages/web3-constants/evm/ito.json +++ b/packages/web3-constants/evm/ito.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MASK_ITO_CONTRACT_ADDRESS": { "Mainnet": "0x86812da3A623ab9606976078588b80C315E55FA3", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "ITO2_CONTRACT_ADDRESS": { "Mainnet": "0xc2CFbF22d6Dc87D0eE18d38d73733524c109Ff46", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "0x9b3649eC8C9f68484acC76D437B145a4e58Bf2A2", "xDai": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "ITO2_CONTRACT_CREATION_BLOCK_HEIGHT": { "Mainnet": 12766513, @@ -60,8 +63,9 @@ "Arbitrum": 102022, "Arbitrum_Rinkeby": 708696, "xDai": 17865755, - "Celo": "", - "Fantom": "" + "Celo": 0, + "Fantom": 0, + "Moonriver": 0 }, "DEFAULT_QUALIFICATION_ADDRESS": { "Mainnet": "0x81b6ae377e360dcad63611846a2516f4ba8c88ac", @@ -77,7 +81,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "DEFAULT_QUALIFICATION2_ADDRESS": { "Mainnet": "0x4dC5f343Fe57E4fbDA1B454d125D396A3181272c", @@ -93,7 +98,8 @@ "Arbitrum_Rinkeby": "0xEbd753E66649C824241E63894301BA8Db5DBF5Bb", "xDai": "0x71834a3FDeA3E70F14a93ED85c6be70925D0CAd9", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SUBGRAPH_URL": { "Mainnet": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-ito-mainnet", @@ -109,6 +115,7 @@ "Arbitrum_Rinkeby": "", "xDai": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-ito-xdai", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/lbp.json b/packages/web3-constants/evm/lbp.json index 250c7f2a749d..60311bc4fb76 100644 --- a/packages/web3-constants/evm/lbp.json +++ b/packages/web3-constants/evm/lbp.json @@ -13,6 +13,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/mask-box.json b/packages/web3-constants/evm/mask-box.json index 1384cbdf1247..80ccba3965fa 100644 --- a/packages/web3-constants/evm/mask-box.json +++ b/packages/web3-constants/evm/mask-box.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MASK_BOX_CONTRACT_FROM_BLOCK": { "Mainnet": 13687866, @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": 0, "xDai": 0, "Celo": 0, - "Fantom": 0 + "Fantom": 0, + "Moonriver": 0 }, "MASK_BOX_TEST_NFT": { "Mainnet": "0x56136E69A5771436a9598804c5eA792230c21181", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "WHITE_LIST_QUALIFICATION_CONTRACT_ADDRESS": { "Mainnet": "", @@ -61,7 +64,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SIG_VERIFY_QULIFICATION_CONTRACT_ADDRESS": { "Mainnet": "", @@ -77,6 +81,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/nft-red-packet.json b/packages/web3-constants/evm/nft-red-packet.json index 0e6ae6de8492..c2a22ba01a18 100644 --- a/packages/web3-constants/evm/nft-red-packet.json +++ b/packages/web3-constants/evm/nft-red-packet.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SUBGRAPH_URL": { "Mainnet": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-nft-red-packet-mainnet", @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/opensea-api.json b/packages/web3-constants/evm/opensea-api.json index 97494446399e..29ecde6a9de7 100644 --- a/packages/web3-constants/evm/opensea-api.json +++ b/packages/web3-constants/evm/opensea-api.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "GET_SINGLE_ASSET_URL": { "Mainnet": "https://api.opensea.io/api/v1/asset", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "GET_ASSETS_URL": { "Mainnet": "https://api.opensea.io/api/v1/assets", @@ -45,6 +47,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/red-packet.json b/packages/web3-constants/evm/red-packet.json index 2a18af84bf10..0019db3a30a7 100644 --- a/packages/web3-constants/evm/red-packet.json +++ b/packages/web3-constants/evm/red-packet.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "HAPPY_RED_PACKET_ADDRESS_V2": { "Mainnet": "0x8D8912E1237F9FF3EF661F32743CFB276E052F98", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "HAPPY_RED_PACKET_ADDRESS_V3": { "Mainnet": "", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "0x6B70EC653c4331bdD0D0DCC7C941eb594e69a91d", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "HAPPY_RED_PACKET_ADDRESS_V4": { "Mainnet": "0xaBBe1101FD8fa5847c452A6D70C8655532B03C33", @@ -61,7 +64,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0x54a0A221C25Fc0a347EC929cFC5db0be17fA2a2B", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "HAPPY_RED_PACKET_ADDRESS_V4_BLOCK_HEIGHT": { "Mainnet": 12939427, @@ -77,7 +81,8 @@ "Arbitrum_Rinkeby": 0, "xDai": 18101937, "Celo": 0, - "Fantom": 0 + "Fantom": 0, + "Moonriver": 0 }, "SUBGRAPH_URL": { "Mainnet": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-red-packet-mainnet", @@ -93,6 +98,7 @@ "Arbitrum_Rinkeby": "", "xDai": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-red-packet-xdai", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/rpc.json b/packages/web3-constants/evm/rpc.json index 281fba9a21cd..569e5a143668 100644 --- a/packages/web3-constants/evm/rpc.json +++ b/packages/web3-constants/evm/rpc.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": ["https://rinkeby.arbitrum.io/rpc"], "xDai": ["https://rpc.xdaichain.com/"], "Celo": ["https://forno.celo.org"], - "Fantom": ["https://rpcapi.fantom.network/"] + "Fantom": ["https://rpcapi.fantom.network/"], + "moonriver": ["https://rpc.moonriver.moonbeam.network"] }, "RPC_WEIGHTS": { "Mainnet": [0, 0, 0, 0], @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": [0, 0, 0, 0], "xDai": [0, 0, 0, 0], "Celo": [0, 0, 0, 0], - "Fantom": [0, 0, 0, 0] + "Fantom": [0, 0, 0, 0], + "Moonriver": [0, 0, 0, 0] } } diff --git a/packages/web3-constants/evm/space-station-galaxy.json b/packages/web3-constants/evm/space-station-galaxy.json index 1faa3f7d94e1..33cb4983ec74 100644 --- a/packages/web3-constants/evm/space-station-galaxy.json +++ b/packages/web3-constants/evm/space-station-galaxy.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SUBGRAPH_URL": { "Mainnet": "", @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/token-asset-base-url.json b/packages/web3-constants/evm/token-asset-base-url.json index ef42a8caea39..c6e167e19698 100644 --- a/packages/web3-constants/evm/token-asset-base-url.json +++ b/packages/web3-constants/evm/token-asset-base-url.json @@ -40,6 +40,7 @@ "Arbitrum_Rinkeby": [], "xDai": [], "Celo": [], - "Fantom": [] + "Fantom": [], + "Moonriver": [] } } diff --git a/packages/web3-constants/evm/token-list.json b/packages/web3-constants/evm/token-list.json index 6b18d73e9def..d72762b0af42 100644 --- a/packages/web3-constants/evm/token-list.json +++ b/packages/web3-constants/evm/token-list.json @@ -26,6 +26,7 @@ ], "xDai": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/100/tokens.json"], "Celo": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/42220/tokens.json"], - "Fantom": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/250/tokens.json"] + "Fantom": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/250/tokens.json"], + "Moonriver": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/1285/tokens.json"] } } diff --git a/packages/web3-constants/evm/token.json b/packages/web3-constants/evm/token.json index d0b23bbd8c53..87cfff3fe629 100644 --- a/packages/web3-constants/evm/token.json +++ b/packages/web3-constants/evm/token.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "0xB47e6A5f8b33b3F17603C83a0535A9dcD7E32681", "xDai": "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d", "Celo": "0x471EcE3750Da237f93B8E339c536989b8978a438", - "Fantom": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83" + "Fantom": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83", + "Moonriver": " " }, "USDC_ADDRESS": { "Mainnet": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", "Celo": "0x2A3684e9Dc20B857375EA04235F2F7edBe818FA7", - "Fantom": "0x04068da6c83afcfa0e13ba15a6696662335d5b75" + "Fantom": "0x04068da6c83afcfa0e13ba15a6696662335d5b75", + "Moonriver": " " }, "USDT_ADDRESS": { "Mainnet": "0xdAC17F958D2ee523a2206206994597C13D831ec7", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0x4ECaBa5870353805a9F068101A40E0f32ed605C6", "Celo": "0xb020d981420744f6b0fedd22bb67cd37ce18a1d5", - "Fantom": "" + "Fantom": "", + "Moonriver": " " }, "HUSD_ADDRESS": { "Mainnet": "0xdf574c24545e5ffecb9a659c229253d4111d87e1", @@ -61,7 +64,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0x1e37E5b504F7773460d6eB0e24D2e7C223B66EC7", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": " " }, "BUSD_ADDRESS": { "Mainnet": "0x4fabb145d64652a948d72533023f6e7a623c7c53", @@ -77,7 +81,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0xdd96B45877d0E8361a4DDb732da741e97f3191Ff", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "COMP_ADDRESS": { "Mainnet": "0xc00e94Cb662C3520282E6f5717214004A7f26888", @@ -93,7 +98,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "EASY_ADDRESS": { "Mainnet": "", @@ -109,7 +115,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MKR_ADDRESS": { "Mainnet": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", @@ -125,7 +132,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MASK_ADDRESS": { "Mainnet": "0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074", @@ -141,7 +149,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MSKA_ADDRESS": { "Mainnet": "", @@ -157,7 +166,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MSKB_ADDRESS": { "Mainnet": "", @@ -173,7 +183,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MSKC_ADDRESS": { "Mainnet": "", @@ -189,7 +200,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MSKD_ADDRESS": { "Mainnet": "", @@ -205,7 +217,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "MSKE_ADDRESS": { "Mainnet": "", @@ -221,7 +234,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "DAI_ADDRESS": { "Mainnet": "0x6B175474E89094C44Da98b954EedeAC495271d0F", @@ -237,7 +251,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E" + "Fantom": "0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E", + "Moonriver": "" }, "AMPL_ADDRESS": { "Mainnet": "0xD46bA6D942050d489DBd938a2C909A5d5039A161", @@ -253,7 +268,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "OKB_ADDRESS": { "Mainnet": "0x75231F58b43240C9718Dd58B4967c5114342a86c", @@ -269,7 +285,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UST_ADDRESS": { "Mainnet": "0xa47c8bf37f92aBed4A126BDA807A7b7498661acD", @@ -285,7 +302,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "eUSDC_ADDRESS": { "Mainnet": "", @@ -301,7 +319,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "eUSDT_ADDRESS": { "Mainnet": "", @@ -317,7 +336,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "fUSDT_ADDRESS": { "Mainnet": "", @@ -333,7 +353,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "0x049d68029688eAbF473097a2fC38ef61633A3C7A" + "Fantom": "0x049d68029688eAbF473097a2fC38ef61633A3C7A", + "Moonriver": "" }, "eDAI_ADDRESS": { "Mainnet": "", @@ -349,7 +370,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNITOKEN_ADDRESS": { "Mainnet": "", @@ -365,7 +387,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "TT01_ADDRESS": { "Mainnet": "", @@ -381,7 +404,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "TT02_ADDRESS": { "Mainnet": "", @@ -397,7 +421,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "QUICK_ADDRESS": { "Mainnet": "", @@ -413,7 +438,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "WBTC_ADDRESS": { "Mainnet": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", @@ -429,7 +455,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252", "Celo": "0xBe50a3013A1c94768A1ABb78c3cB79AB28fc1aCE", - "Fantom": "0x321162Cd933E2Be498Cd2267a90534A804051b11" + "Fantom": "0x321162Cd933E2Be498Cd2267a90534A804051b11", + "Moonriver": "" }, "IGG_ADDRESS": { "Mainnet": "", @@ -445,7 +472,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "OM_ADDRESS": { "Mainnet": "", @@ -461,7 +489,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SUSHI_ADDRESS": { "Mainnet": "0x6B3595068778DD592e39A122f4f5a5cF09C90fE2", @@ -477,7 +506,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "YAM_ADDRESS": { "Mainnet": "0x0e2298E3B3390e3b945a5456fBf59eCc3f55DA16", @@ -493,7 +523,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "RUNE_ADDRESS": { "Mainnet": "0x3155BA85D5F96b2d030a4966AF206230e46849cb", @@ -509,7 +540,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "YFI_ADDRESS": { "Mainnet": "0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e", @@ -525,7 +557,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "sUSD_ADDRESS": { "Mainnet": "0x57ab1ec28d129707052df4df418d58a2d46d5f51", @@ -541,7 +574,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BTCB_ADDRESS": { "Mainnet": "", @@ -557,7 +591,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "CAKE_ADDRESS": { "Mainnet": "", @@ -573,7 +608,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "maUSDC_ADDRESS": { "Mainnet": "", @@ -589,7 +625,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "stETH_ADDRESS": { "Mainnet": "0xDFe66B14D37C77F4E9b180cEb433d1b164f0281D", @@ -605,7 +642,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "NFTX_ADDRESS": { "Mainnet": "0x87d73E916D7057945c9BcD8cdd94e42A6F47f776", @@ -621,7 +659,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "cUSD_ADDRESS": { "Mainnet": "", @@ -637,7 +676,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "0x765de816845861e75a25fca122bb6898b8b1282a", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "cEUR_ADDRESS": { "Mainnet": "", @@ -653,7 +693,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "0x765de816845861e75a25fca122bb6898b8b1282a", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "ETHER_ADDRESS": { "Mainnet": "", @@ -669,7 +710,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "NATIVE_TOKEN_ADDRESS": { "Mainnet": "0x0000000000000000000000000000000000000000", @@ -685,6 +727,7 @@ "Arbitrum_Rinkeby": "0x0000000000000000000000000000000000000000", "xDai": "0x0000000000000000000000000000000000000000", "Celo": "0x471ece3750da237f93b8e339c536989b8978a438", - "Fantom": "0x0000000000000000000000000000000000000000" + "Fantom": "0x0000000000000000000000000000000000000000", + "Moonriver": "0x0000000000000000000000000000000000000000" } } diff --git a/packages/web3-constants/evm/trader.json b/packages/web3-constants/evm/trader.json index 6341747d9713..4ab72c27aa30 100644 --- a/packages/web3-constants/evm/trader.json +++ b/packages/web3-constants/evm/trader.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V2_FACTORY_ADDRESS": { "Mainnet": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V2_THEGRAPH": { "Mainnet": "https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2", @@ -45,7 +47,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V2_INIT_CODE_HASH": { "Mainnet": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", @@ -61,7 +64,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_SWAP_ROUTER_ADDRESS": { "Mainnet": "0xe592427a0aece92de3edee1f18e0157c05861564", @@ -77,7 +81,8 @@ "Arbitrum_Rinkeby": "0xE592427A0AEce92De3Edee1F18E0157C05861564", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V3_FACTORY_ADDRESS": { "Mainnet": "0x1F98431c8aD98523631AE4a59f267346ea31F984", @@ -93,7 +98,8 @@ "Arbitrum_Rinkeby": "0x1F98431c8aD98523631AE4a59f267346ea31F984", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V3_QUOTER_ADDRESS": { "Mainnet": "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6", @@ -109,7 +115,8 @@ "Arbitrum_Rinkeby": "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V3_THEGRAPH": { "Mainnet": "https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3", @@ -125,7 +132,8 @@ "Arbitrum_Rinkeby": "https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V3_INIT_CODE_HASH": { "Mainnet": "0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54", @@ -141,7 +149,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SUSHISWAP_ROUTER_ADDRESS": { "Mainnet": "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F", @@ -157,7 +166,8 @@ "Arbitrum_Rinkeby": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", "xDai": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", "Celo": "0x1421bDe4B10e8dd459b3BCb598810B1337D56842", - "Fantom": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" + "Fantom": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", + "Moonriver": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" }, "SUSHISWAP_FACTORY_ADDRESS": { "Mainnet": "0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac", @@ -173,7 +183,8 @@ "Arbitrum_Rinkeby": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", "xDai": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", "Celo": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", - "Fantom": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4" + "Fantom": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", + "Moonriver": "0xc35dadb65012ec5796536bd9864ed8773abc74c4" }, "SUSHISWAP_THEGRAPH": { "Mainnet": "https://api.thegraph.com/subgraphs/name/zippoxer/sushiswap-subgraph-fork", @@ -181,15 +192,16 @@ "Rinkeby": "", "Kovan": "", "Gorli": "", - "BSC": "", + "BSC": "https://api.thegraph.com/subgraphs/name//sushiswap/bsc-exchange", "BSCT": "", - "Matic": "", + "Matic": "https://api.thegraph.com/subgraphs/name//sushiswap/matic-exchange", "Mumbai": "", - "Arbitrum": "", + "Arbitrum": "https://api.thegraph.com/subgraphs/name//sushiswap/arbitrum-exchange", "Arbitrum_Rinkeby": "", - "xDai": "", - "Celo": "", - "Fantom": "" + "xDai": "https://api.thegraph.com/subgraphs/name//sushiswap/xdai-exchange", + "Celo": "https://api.thegraph.com/subgraphs/name//sushiswap/celo-exchange", + "Fantom": "https://api.thegraph.com/subgraphs/name//sushiswap/fantom-exchange", + "Moonriver": "https://api.thegraph.com/subgraphs/name//sushiswap/moonriver-exchange" }, "SUSHISWAP_INIT_CODE_HASH": { "Mainnet": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", @@ -205,7 +217,8 @@ "Arbitrum_Rinkeby": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", "xDai": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", "Celo": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", - "Fantom": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303" + "Fantom": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", + "Moonriver": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303" }, "SASHIMISWAP_ROUTER_ADDRESS": { "Mainnet": "0xe4fe6a45f354e845f954cddee6084603cedb9410", @@ -221,7 +234,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "SASHIMISWAP_FACTORY_ADDRESS": { "Mainnet": "0xF028F723ED1D0fE01cC59973C49298AA95c57472", @@ -237,7 +251,9 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "moonriver": "", + "Moonriver": "" }, "SASHIMISWAP_THEGRAPH": { "Mainnet": "https://api.thegraph.com/subgraphs/name/sashimiproject/sashimi", @@ -253,7 +269,9 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "moonriver": "", + "Moonriver": "" }, "SASHIMISWAP_INIT_CODE_HASH": { "Mainnet": "0xb465bbe4edb8c9b0da8ff0b2b36ce0065de9fcd5a33f32c6856ea821779c8b72", @@ -269,7 +287,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "QUICKSWAP_ROUTER_ADDRESS": { "Mainnet": "", @@ -285,7 +304,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "QUICKSWAP_FACTORY_ADDRESS": { "Mainnet": "", @@ -301,7 +321,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "QUICKSWAP_THEGRAPH": { "Mainnet": "", @@ -317,7 +338,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "QUICKSWAP_INIT_CODE_HASH": { "Mainnet": "", @@ -333,7 +355,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "PANCAKESWAP_ROUTER_ADDRESS": { "Mainnet": "", @@ -349,7 +372,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "PANCAKESWAP_FACTORY_ADDRESS": { "Mainnet": "", @@ -365,7 +389,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "PANCAKESWAP_THEGRAPH": { "Mainnet": "", @@ -381,7 +406,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "PANCAKESWAP_INIT_CODE_HASH": { "Mainnet": "", @@ -397,7 +423,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BALANCER_ETH_ADDRESS": { "Mainnet": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", @@ -413,7 +440,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BALANCER_EXCHANGE_PROXY_ADDRESS": { "Mainnet": "0x3E66B66Fd1d0b02fDa6C811Da9E0547970DB2f21", @@ -429,7 +457,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BALANCER_POOLS_URL": { "Mainnet": "https://ipfs.fleek.co/ipns/balancer-bucket.storage.fleek.co/balancer-exchange/pools", @@ -445,7 +474,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "DODO_ETH_ADDRESS": { "Mainnet": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", @@ -461,7 +491,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "DODO_EXCHANGE_PROXY_ADDRESS": { "Mainnet": "0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149", @@ -477,7 +508,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BANCOR_ETH_ADDRESS": { "Mainnet": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", @@ -493,7 +525,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "BANCOR_EXCHANGE_PROXY_ADDRESS": { "Mainnet": "0x2F9EC37d6CcFFf1caB21733BdaDEdE11c823cCB0", @@ -509,7 +542,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "OPENOCEAN_ETH_ADDRESS": { "Mainnet": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", @@ -525,7 +559,8 @@ "Arbitrum_Rinkeby": "", "xDai": "0x0000000000000000000000000000000000000000", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "OPENOCEAN_EXCHANGE_PROXY_ADDRESS": { "Mainnet": "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64", @@ -540,8 +575,8 @@ "Arbitrum": "0x6352a56caadc4f1e25cd6c75970fa768a3304e64", "Arbitrum_Rinkeby": "", "xDai": "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64", - "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/trending.json b/packages/web3-constants/evm/trending.json index 692af095d0cc..1169347625e5 100644 --- a/packages/web3-constants/evm/trending.json +++ b/packages/web3-constants/evm/trending.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "UNISWAP_V2_HEALTH_URL": { "Mainnet": "https://api.thegraph.com/index-node/graphql", @@ -29,7 +30,8 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" }, "ETHEREUM_BLOCKS_SUBGRAPH_URL": { "Mainnet": "https://api.thegraph.com/subgraphs/name/blocklytics/ethereum-blocks", @@ -45,6 +47,7 @@ "Arbitrum_Rinkeby": "", "xDai": "", "Celo": "", - "Fantom": "" + "Fantom": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/zerion.json b/packages/web3-constants/evm/zerion.json index 98708cd1b302..fb240dcac2b6 100644 --- a/packages/web3-constants/evm/zerion.json +++ b/packages/web3-constants/evm/zerion.json @@ -13,7 +13,8 @@ "Arbitrum_Rinkeby": "", "xDai": "xdai-assets", "Celo": "celo-assets", - "Fantom": "fantom-assets" + "Fantom": "fantom-assets", + "Moonriver": "moonriver-assets" }, "TRANSACTIONS_SCOPE_NAME": { "Mainnet": "transactions", @@ -29,6 +30,7 @@ "Arbitrum_Rinkeby": "", "xDai": "xdai-transactions", "Celo": "celo-transactions", - "Fantom": "fantom-transactions" + "Fantom": "fantom-transactions", + "Moonriver": "moonriver-transactions" } } diff --git a/packages/web3-shared/evm/assets/chains.json b/packages/web3-shared/evm/assets/chains.json index 02d2a9cb8cb1..95fb7c4c1b4c 100644 --- a/packages/web3-shared/evm/assets/chains.json +++ b/packages/web3-shared/evm/assets/chains.json @@ -1624,8 +1624,10 @@ "nativeCurrency": { "name": "River", "symbol": "RIVER", "decimals": 18 }, "infoURL": "https://moonbeam.network/networks/moonriver/", "shortName": "mriver", + "icon": "moonriver", "chainId": 1285, - "networkId": 1285 + "networkId": 1285, + "explorers": [{ "name": "explorer", "url": "https://moonriver.moonscan.io", "standard": "EIP3091" }] }, { "name": "Moonrock Rococo", diff --git a/packages/web3-shared/evm/pipes/index.ts b/packages/web3-shared/evm/pipes/index.ts index df0cf4bd4e6a..ad771b607548 100644 --- a/packages/web3-shared/evm/pipes/index.ts +++ b/packages/web3-shared/evm/pipes/index.ts @@ -66,6 +66,7 @@ export const resolveNetworkAddressPrefix = createLookupTableResolver [NetworkType.xDai]: 'xDai', [NetworkType.Celo]: 'Celo', [NetworkType.Fantom]: 'Fantom', + [NetworkType.Moonriver]: 'Moonriver', }, 'Unknown', ) @@ -109,6 +111,7 @@ export const resolveChainColor = createLookupTableResolver( [ChainId.xDai]: 'rgb(73, 169, 166)', [ChainId.Celo]: 'rgb(53, 208, 127)', [ChainId.Fantom]: 'rgb(19, 181, 236)', + [ChainId.Moonriver]: 'rgb(242 183 6)', }, 'rgb(214, 217, 220)', ) diff --git a/packages/web3-shared/evm/types/index.ts b/packages/web3-shared/evm/types/index.ts index 0116fd92c4b7..a3ebe4e9b2e5 100644 --- a/packages/web3-shared/evm/types/index.ts +++ b/packages/web3-shared/evm/types/index.ts @@ -67,6 +67,9 @@ export enum ChainId { // Fantom Fantom = 250, + + // Moonriver + Moonriver = 1285, } export enum ProviderType { @@ -96,6 +99,7 @@ export enum NetworkType { xDai = 'xDai', Celo = 'Celo', Fantom = 'Fantom', + Moonriver = 'Moonriver', } export interface Wallet { diff --git a/packages/web3-shared/evm/utils/chainDetailed.ts b/packages/web3-shared/evm/utils/chainDetailed.ts index 6da856707a42..bee377262801 100644 --- a/packages/web3-shared/evm/utils/chainDetailed.ts +++ b/packages/web3-shared/evm/utils/chainDetailed.ts @@ -93,6 +93,7 @@ export const getChainIdFromNetworkType = createLookupTableResolver { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4f5f044c7a32..3d9373b39530 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3479,6 +3479,7 @@ packages: /@dimensiondev/eslint-plugin/0.0.1-20220104011158-0905fa1_eslint@8.5.0: resolution: {integrity: sha512-DyAzOQp2Dp9Nzll6dTbujqyBAXOLhlWXvDdmnfX3+cHixhvaupbMeoh4MmujkOY681N5ohVm2eKWJd/ApC4lrQ==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220104011158-0905fa1/931c157d880a7f8a78e87326a2840ad7d4583b5c714f155e045f73a11969fc82} + engines: {node: '>= 14'} peerDependencies: eslint: '>= 8' dependencies: From a1cd5b3603da8cf96f5add3d55319ddd8e29f78c Mon Sep 17 00:00:00 2001 From: codingsh Date: Fri, 14 Jan 2022 08:34:58 +0000 Subject: [PATCH 2/9] chore(moonriver): fixed coding review --- cspell.json | 186 +++++++++++----------- packages/web3-constants/evm/explorer.json | 4 +- packages/web3-constants/evm/token.json | 2 +- packages/web3-shared/evm/pipes/index.ts | 2 +- 4 files changed, 97 insertions(+), 97 deletions(-) diff --git a/cspell.json b/cspell.json index bb7fabfac584..3aa9fa844a69 100644 --- a/cspell.json +++ b/cspell.json @@ -1,15 +1,15 @@ { "dictionaries": ["typescript", "node", "html", "css", "fonts"], "ignorePaths": [ - "patches/**", - "*generated*", - "**/dist/**", + ".github", + ".prettierignore", + "*.snap", "**/*.json", + "**/dist/**", "**/node_modules/**", - "pnpm-lock.yaml", - ".prettierignore", - ".github", - "*.snap" + "*generated*", + "patches/**", + "pnpm-lock.yaml" ], "words": [ "aave", @@ -117,6 +117,7 @@ "Kitts", "kred", "labelledby", + "lamports", "languagedetector", "lemy", "Leste", @@ -146,7 +147,7 @@ "monofont", "monospace", "mooniswap", - "Moonriver", + "moonriver", "msgpack", "mska", "mskb", @@ -201,8 +202,10 @@ "secp", "Serializers", "shink", + "signup", "Sint", "solana", + "sollet", "steelblue", "steganographic", "steganography", @@ -252,125 +255,122 @@ "Zubin" ], "ignoreWords": [ - "cryptopunks", - "nftred", + "AICANFT", + "algr", + "armv", + "avator", + "blocto", "BSCT", "BTCB", + "CANFT", + "CELO", + "CEUR", + "chainid", + "consts", "COTM", + "crwdnd", + "crwdns", + "cryptoart", + "cryptoartai", + "cryptopunks", "Csvg", + "CUSD", + "Defi", + "devnet", "Dnoxg", + "dodoapi", + "drawed", + "DRAWED", "Energi", + "Enjin", + "ethjs", + "fbclid", + "findtruman", + "flac", + "FUSD", + "gamification", + "getdodoroute", + "getx", "Gorli", "Gwapj", - "HUSD", - "CUSD", - "CEUR", + "hookform", "Horiz", "Huobi", - "MSKA", - "MSKB", - "MSKC", - "MSKD", - "MSKE", - "Misaka", - "NFTX", - "NRGT", - "NYFI", - "QLURL", - "STETH", - "Strategie", - "UNITOKEN", - "USEI", - "Vussxxjdr", - "WNATIVE", - "algr", - "armv", - "crwdnd", - "crwdns", - "dodoapi", - "getdodoroute", - "openocean", - "OPENOCEAN", - "getx", - "hookform", + "HUSD", "idiv", "ifadmin", "ifrandom", "iife", "immerable", "inpage", + "irss", + "isfacebook", "jsxs", + "koda", + "Kodav", "lngs", "maskface", + "maskwallet", + "mathwallet", + "metadate", + "metaplex", + "metaswap", + "METASWAP", + "Misaka", + "MSKA", + "MSKB", + "MSKC", + "MSKD", + "MSKE", + "NFT", + "nftred", + "NFTX", + "noamount", "northcutt", "notistack", "nrge", + "NRGT", + "NYFI", + "onflow", + "openocean", + "OPENOCEAN", + "pkts", "pnpm", + "poap", + "powah", + "powahs", + "QLURL", + "redpackets", + "rpcs", "setx", - "pkts", + "STETH", + "Strategie", "swaptoken", - "NYFI", - "Csvg", - "Horiz", - "hookform", - "METASWAP", - "metaswap", - "tinycolor", - "unstoppabledomains", - "vitalik", - "unlockprotocol", - "unlocklock", - "chainid", - "NFT", - "powahs", - "gamification", - "Defi", - "powah", "Switcher", - "maskwallet", - "drawed", - "DRAWED", - "devnet", - "fbclid", - "noamount", + "testweb", + "tinycolor", + "treeshake", "txts", - "redpackets", - "blocto", - "onflow", + "uaddr", "unauthenticate", - "mathwallet", + "UNITOKEN", + "unlocklock", + "unlockprotocol", + "unstoppabledomains", + "USEI", + "vitalik", + "Vussxxjdr", "walletlink", - "rpcs", - "FUSD", - "isfacebook", - "ethjs", - "isfacebook", - "findtruman", - "uaddr", - "consts", - "cryptoartai", - "cryptoart", - "avator", - "testweb", - "metadate", - "AICANFT", - "CANFT", - "Kodav", - "koda", - "Enjin", - "poap", - "CELO", - "flac", - "treeshake", - "xtest", + "WNATIVE", "xdescribe", - "irss" + "xtest", + "txreceipt" ], "ignoreRegExpList": ["/@servie/"], "overrides": [ { "filename": "web3-contracts/types/GoodGhostingIncentives.d.ts", - "ignoreWords": ["ditribution", "Adming"] + "ignoreWords": ["Adming", "ditribution"] } ] -} +} \ No newline at end of file diff --git a/packages/web3-constants/evm/explorer.json b/packages/web3-constants/evm/explorer.json index dd0b170fd963..2891c60e9e77 100644 --- a/packages/web3-constants/evm/explorer.json +++ b/packages/web3-constants/evm/explorer.json @@ -14,7 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "https://api.ftmscan.com/api", - "Moonriver": "" + "Moonriver": "https://api-moonriver.moonscan.io/api" }, "EXPLORER_API_KEY": { "Mainnet": "99IX9MBZKG8FYQUECXDNDPATGVDDH6JCWW", @@ -31,6 +31,6 @@ "xDai": "", "Celo": "", "Fantom": "", - "Moonriver": "" + "Moonriver": "BMUVSDQX72NTGRC1KDNGD889NJKG6H85F2" } } diff --git a/packages/web3-constants/evm/token.json b/packages/web3-constants/evm/token.json index 87cfff3fe629..a095d0d081f6 100644 --- a/packages/web3-constants/evm/token.json +++ b/packages/web3-constants/evm/token.json @@ -14,7 +14,7 @@ "xDai": "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d", "Celo": "0x471EcE3750Da237f93B8E339c536989b8978a438", "Fantom": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83", - "Moonriver": " " + "Moonriver": "" }, "USDC_ADDRESS": { "Mainnet": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", diff --git a/packages/web3-shared/evm/pipes/index.ts b/packages/web3-shared/evm/pipes/index.ts index ad771b607548..18508937178f 100644 --- a/packages/web3-shared/evm/pipes/index.ts +++ b/packages/web3-shared/evm/pipes/index.ts @@ -111,7 +111,7 @@ export const resolveChainColor = createLookupTableResolver( [ChainId.xDai]: 'rgb(73, 169, 166)', [ChainId.Celo]: 'rgb(53, 208, 127)', [ChainId.Fantom]: 'rgb(19, 181, 236)', - [ChainId.Moonriver]: 'rgb(242 183 6)', + [ChainId.Moonriver]: 'rgb(242, 183, 6)', }, 'rgb(214, 217, 220)', ) From e45fc1f7f91f674de99ae32610d9740db5753db0 Mon Sep 17 00:00:00 2001 From: codingsh Date: Tue, 18 Jan 2022 18:57:20 +0100 Subject: [PATCH 3/9] feat(Moonriver): add solarbeam dex --- cspell.json | 4 + .../Labs/components/SwapSettingDialog.tsx | 18 ++- packages/dashboard/src/pages/Settings/api.ts | 5 + .../background-script/SettingsService.ts | 5 +- .../Trader/SNSAdaptor/trending/TraderView.tsx | 2 +- .../src/plugins/Trader/apis/trader/index.ts | 11 +- .../src/plugins/Trader/constants/index.ts | 1 + .../src/plugins/Trader/constants/solarbeam.ts | 40 +++++++ .../src/plugins/Trader/constants/sushiswap.ts | 2 +- .../src/plugins/Trader/constants/trader.ts | 5 + .../src/plugins/Trader/helpers/uniswap.ts | 2 +- packages/mask/src/plugins/Trader/pipes.ts | 6 + packages/mask/src/plugins/Trader/settings.ts | 3 + .../Trader/trader/useAllTradeComputed.ts | 13 +++ .../Trader/trader/useGetTradeContext.ts | 14 +++ .../plugins/Trader/trader/useTradeCallback.ts | 2 + .../plugins/Trader/trader/useTradeContext.ts | 14 +++ .../mask/src/plugins/Trader/types/trader.ts | 1 + .../src/plugins/Wallet/services/assets.ts | 2 +- packages/mask/src/utils/native-rpc/Web.ts | 4 +- packages/public-api/src/web.ts | 1 + packages/web3-constants/evm/token.json | 108 ++++++++++++++++++ packages/web3-constants/evm/trader.json | 72 ++++++++++++ packages/web3-providers/src/zerion/format.ts | 2 +- packages/web3-shared/evm/assets/chains.json | 4 +- .../web3-shared/evm/utils/chainDetailed.ts | 3 +- 26 files changed, 328 insertions(+), 16 deletions(-) create mode 100644 packages/mask/src/plugins/Trader/constants/solarbeam.ts diff --git a/cspell.json b/cspell.json index 4e6127679c1e..7a89b22a9309 100644 --- a/cspell.json +++ b/cspell.json @@ -43,7 +43,9 @@ "CAIP", "canonify", "cashtag", + "CBTC", "Celo", + "CEURO", "Checksummed", "Choudhary", "cipherparams", @@ -152,6 +154,7 @@ "monospace", "mooniswap", "moonriver", + "MOVR", "msgpack", "mska", "mskb", @@ -209,6 +212,7 @@ "signup", "Sint", "solana", + "SOLARBEAM", "sollet", "steelblue", "steganographic", diff --git a/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx b/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx index bf52e726d24f..ca740edefd5a 100644 --- a/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx +++ b/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx @@ -12,6 +12,7 @@ import { useCeloNetworkTradeProvider, useFantomNetworkTradeProvider, useAuroraNetworkTradeProvider, + useMoonriverNetworkTradeProvider, } from '../../Settings/api' import SettingItem from './SettingItem' @@ -60,7 +61,10 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) ] const fantomOptions = xDaiOptions - const celoOptions = [{ label: 'SushiSwap', value: TradeProvider.SUSHISWAP }] + const celoOptions = [ + { label: 'SushiSwap', value: TradeProvider.SUSHISWAP }, + { label: 'Solarbeam', value: TradeProvider.SOLARBEAM }, + ] const auroraOptions = [ { label: 'DODO', value: TradeProvider.DODO }, @@ -68,6 +72,12 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) { label: 'Trisolaris', value: TradeProvider.TRISOLARIS }, ] + const moonriverOptions = [ + { label: 'SushiSwap', value: TradeProvider.SUSHISWAP }, + { label: 'Solarbeam', value: TradeProvider.SOLARBEAM }, + { label: 'DODO', value: TradeProvider.DODO }, + ] + const t = useDashboardI18N() const items = [ @@ -119,6 +129,12 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) options: auroraOptions, onChange: (value: string) => Services.Settings.setAuroraNetworkTradeProvider(Number.parseInt(value, 10)), }, + { + legend: t.labs_settings_swap_network({ network: 'Moonriver' }), + value: useMoonriverNetworkTradeProvider(), + options: moonriverOptions, + onChange: (value: string) => Services.Settings.setMoonriverNetworkTradeProvider(Number.parseInt(value, 10)), + }, ] return ( diff --git a/packages/dashboard/src/pages/Settings/api.ts b/packages/dashboard/src/pages/Settings/api.ts index 61f45b6c00ca..e06ad420682d 100644 --- a/packages/dashboard/src/pages/Settings/api.ts +++ b/packages/dashboard/src/pages/Settings/api.ts @@ -48,6 +48,11 @@ export const [useAuroraNetworkTradeProvider] = createGlobalState( Messages.events.auroraNetworkTradeProviderSettings.on, ) +export const [useMoonriverNetworkTradeProvider] = createGlobalState( + Services.Settings.getMoonriverNetworkTradeProvider, + Messages.events.moonriverNetworkTradeProviderSettings.on, +) + const BASE_RUL = 'https://vaalh28dbi.execute-api.ap-east-1.amazonaws.com/api' interface BackupBaseRequest { diff --git a/packages/mask/src/extension/background-script/SettingsService.ts b/packages/mask/src/extension/background-script/SettingsService.ts index 25ed2bd00c84..a03b2c03af35 100644 --- a/packages/mask/src/extension/background-script/SettingsService.ts +++ b/packages/mask/src/extension/background-script/SettingsService.ts @@ -81,7 +81,10 @@ export const [getCeloNetworkTradeProvider, setCeloNetworkTradeProvider] = create export const [getFantomNetworkTradeProvider, setFantomNetworkTradeProvider] = create(fantomNetworkTradeProviderSettings) -export const [getMrvNetworkTradeProvider, setMrvNetworkTradeProvider] = create(moonriverNetworkTradeProviderSettings) +export const [getMoonriverNetworkTradeProvider, setMoonriverNetworkTradeProvider] = create( + moonriverNetworkTradeProviderSettings, +) + export const [getAuroraNetworkTradeProvider, setAuroraNetworkTradeProvider] = create(auroraNetworkTradeProviderSettings) export const [getCurrentSelectedWalletProvider, setCurrentSelectedWalletProvider] = create(currentProviderSettings) diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trending/TraderView.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trending/TraderView.tsx index 9700c9e1de7b..99b9b15a23e8 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trending/TraderView.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trending/TraderView.tsx @@ -206,7 +206,7 @@ export function TraderView(props: TraderViewProps) { //#region if the coin is a native token or contract address exists const isSwappable = - (!!trending?.coin.contract_address || ['eth', 'matic', 'bnb'].includes(coinSymbol)) && + (!!trending?.coin.contract_address || ['eth', 'matic', 'bnb', 'movr'].includes(coinSymbol)) && chainIdValid && tradeProviders.length //#endregion diff --git a/packages/mask/src/plugins/Trader/apis/trader/index.ts b/packages/mask/src/plugins/Trader/apis/trader/index.ts index a9ccfed505c7..e16c36d9b1b3 100644 --- a/packages/mask/src/plugins/Trader/apis/trader/index.ts +++ b/packages/mask/src/plugins/Trader/apis/trader/index.ts @@ -17,6 +17,7 @@ export async function getAvailableTraderProviders(chainId: ChainId) { TradeProvider.DODO, TradeProvider.BANCOR, TradeProvider.OPENOCEAN, + TradeProvider.SOLARBEAM, ] case NetworkType.Polygon: return [ @@ -27,6 +28,7 @@ export async function getAvailableTraderProviders(chainId: ChainId) { TradeProvider.ZRX, TradeProvider.OPENOCEAN, TradeProvider.TRISOLARIS, + TradeProvider.SOLARBEAM, ] case NetworkType.Binance: return [ @@ -35,19 +37,20 @@ export async function getAvailableTraderProviders(chainId: ChainId) { TradeProvider.DODO, TradeProvider.ZRX, TradeProvider.OPENOCEAN, + TradeProvider.SOLARBEAM, ] case NetworkType.Arbitrum: return [TradeProvider.UNISWAP_V3, TradeProvider.OPENOCEAN, TradeProvider.DODO] case NetworkType.xDai: - return [TradeProvider.SUSHISWAP, TradeProvider.OPENOCEAN] + return [TradeProvider.SUSHISWAP, TradeProvider.OPENOCEAN, TradeProvider.SOLARBEAM] case NetworkType.Celo: - return [TradeProvider.SUSHISWAP] + return [TradeProvider.SUSHISWAP, TradeProvider.SOLARBEAM] case NetworkType.Fantom: return [TradeProvider.SUSHISWAP] - case NetworkType.Moonriver: - return [TradeProvider.SUSHISWAP] case NetworkType.Aurora: return [TradeProvider.DODO, TradeProvider.WANNASWAP, TradeProvider.TRISOLARIS] + case NetworkType.Moonriver: + return [TradeProvider.DODO, TradeProvider.SOLARBEAM, TradeProvider.SUSHISWAP] case NetworkType.Boba: case NetworkType.Fuse: case NetworkType.Metis: diff --git a/packages/mask/src/plugins/Trader/constants/index.ts b/packages/mask/src/plugins/Trader/constants/index.ts index 89995aab8751..6296eb782b60 100644 --- a/packages/mask/src/plugins/Trader/constants/index.ts +++ b/packages/mask/src/plugins/Trader/constants/index.ts @@ -11,4 +11,5 @@ export * from './dodo' export * from './bancor' export * from './wannaswap' export * from './trisolaris' +export * from './solarbeam' export type { ERC20TokenCustomizedBase, ERC20AgainstToken } from './types' diff --git a/packages/mask/src/plugins/Trader/constants/solarbeam.ts b/packages/mask/src/plugins/Trader/constants/solarbeam.ts new file mode 100644 index 000000000000..64e3c9f4dbba --- /dev/null +++ b/packages/mask/src/plugins/Trader/constants/solarbeam.ts @@ -0,0 +1,40 @@ +import { ChainId } from '@masknet/web3-shared-evm' +import { + DAI, + RUNE, + USDC, + USDT, + WBTC, + WNATIVE, + WNATIVE_ONLY, + NFTX, + STETH, + BUSD, + BTCB, + CUSD, + CEUR, + mcEUR, + mCELO, + mCUSD, + SOLAR, + CBTC, +} from './trader' +import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' + +/** + * Some tokens can only be swapped via certain pairs, + * so we override the list of bases that are considered for these tokens. + */ +export const SOLARBEAM_CUSTOM_BASES: ERC20TokenCustomizedBase = {} + +export const SOLARBEAM_BASE_AGAINST_TOKENS: ERC20AgainstToken = { + ...WNATIVE_ONLY, + [ChainId.Mainnet]: [WNATIVE, DAI, USDC, USDT, WBTC, RUNE, NFTX, STETH].map((x) => x[ChainId.Mainnet]), + [ChainId.Matic]: [WNATIVE, USDC, WBTC, DAI, USDT].map((x) => x[ChainId.Matic]), + [ChainId.BSC]: [WNATIVE, DAI, BUSD, USDC, USDT, BTCB].map((x) => x[ChainId.BSC]), + [ChainId.xDai]: [WNATIVE, USDC, USDT, WBTC].map((x) => x[ChainId.xDai]), + [ChainId.Celo]: [WNATIVE, CUSD, CEUR, CBTC, mcEUR, mCELO, mCUSD].map((x) => x[ChainId.Celo]), + [ChainId.Fantom]: [WNATIVE, DAI, USDC, WBTC].map((x) => x[ChainId.Fantom]), + [ChainId.Moonriver]: [WNATIVE, DAI, USDC, SOLAR, BUSD].map((x) => x[ChainId.Moonriver]), + // [ChainId.Avalanche]: [WNATIVE, DAI, USDT, WBTC].map((x) => x[ChainId.Avalanche]), +} diff --git a/packages/mask/src/plugins/Trader/constants/sushiswap.ts b/packages/mask/src/plugins/Trader/constants/sushiswap.ts index 5efe30fff834..ec1f325a752d 100644 --- a/packages/mask/src/plugins/Trader/constants/sushiswap.ts +++ b/packages/mask/src/plugins/Trader/constants/sushiswap.ts @@ -35,5 +35,5 @@ export const SUSHISWAP_BASE_AGAINST_TOKENS: ERC20AgainstToken = { [ChainId.xDai]: [WNATIVE, USDC, USDT, WBTC].map((x) => x[ChainId.xDai]), [ChainId.Celo]: [WNATIVE, CUSD, CEUR].map((x) => x[ChainId.Celo]), [ChainId.Fantom]: [WNATIVE, DAI, USDC, fUSDT, WBTC].map((x) => x[ChainId.Fantom]), - [ChainId.Moonriver]: [WNATIVE, DAI, USDC, fUSDT, WBTC].map((x) => x[ChainId.Moonriver]), + [ChainId.Moonriver]: [WNATIVE, DAI, USDC, WBTC].map((x) => x[ChainId.Moonriver]), } diff --git a/packages/mask/src/plugins/Trader/constants/trader.ts b/packages/mask/src/plugins/Trader/constants/trader.ts index 6db157570c21..c7a282f3a499 100644 --- a/packages/mask/src/plugins/Trader/constants/trader.ts +++ b/packages/mask/src/plugins/Trader/constants/trader.ts @@ -44,6 +44,11 @@ export const NFTX = createERC20Tokens('NFTX_ADDRESS', 'NFTX', 'NFTX', 18) export const STETH = createERC20Tokens('stETH_ADDRESS', 'stakedETH', 'stETH', 18) export const CUSD = createERC20Tokens('cUSD_ADDRESS', 'Celo Dollar', 'cUSD', 18) export const CEUR = createERC20Tokens('cEUR_ADDRESS', 'Celo Euro', 'cEUR', 18) +export const mcEUR = createERC20Tokens('mcEUR_ADDRESS', 'Moola Celo Euro', 'mCEUR', 18) +export const mCELO = createERC20Tokens('mcEUR_ADDRESS', 'Moola CELO', 'mCELO', 18) +export const mCUSD = createERC20Tokens('mCUSD_ADDRESS', 'Moola cUSD', 'mCUSD', 18) +export const SOLAR = createERC20Tokens('SOLAR_ADDRESS', 'Solarbeam Token', 'SOLAR', 18) +export const CBTC = createERC20Tokens('CBTC_ADDRESS', 'Wrapped Bitcoin', 'cBTC', 18) export const WNATIVE = createERC20Tokens( 'WNATIVE_ADDRESS', diff --git a/packages/mask/src/plugins/Trader/helpers/uniswap.ts b/packages/mask/src/plugins/Trader/helpers/uniswap.ts index f54a547482bd..47a8557aef06 100644 --- a/packages/mask/src/plugins/Trader/helpers/uniswap.ts +++ b/packages/mask/src/plugins/Trader/helpers/uniswap.ts @@ -101,7 +101,7 @@ export function uniswapPriceTo(price: Price) { export function uniswapTokenTo(token: Token) { return { - type: ['eth', 'matic', 'bnb'].includes(token.name?.toLowerCase() ?? '') + type: ['eth', 'matic', 'bnb', 'movr'].includes(token.name?.toLowerCase() ?? '') ? EthereumTokenType.Native : EthereumTokenType.ERC20, name: token.name, diff --git a/packages/mask/src/plugins/Trader/pipes.ts b/packages/mask/src/plugins/Trader/pipes.ts index 084fc82f8667..3dffc822d398 100644 --- a/packages/mask/src/plugins/Trader/pipes.ts +++ b/packages/mask/src/plugins/Trader/pipes.ts @@ -59,6 +59,7 @@ export const resolveTradeProviderName = createLookupTableResolver { throw new Error(`Unknown provider type: ${tradeProvider}`) @@ -122,6 +123,8 @@ export function resolveTradeProviderLink(tradeProvider: TradeProvider, networkTy return 'https://www.trisolaris.io/#/swap' case TradeProvider.WANNASWAP: return 'https://wannaswap.finance/exchange/swap' + case TradeProvider.SOLARBEAM: + return 'https://app.solarbeam.io/exchange/swap' default: unreachable(tradeProvider) } @@ -197,6 +200,8 @@ export function resolveTradePairLink(tradeProvider: TradeProvider, address: stri case TradeProvider.WANNASWAP: // TODO - add WannaSwap analytics return '' + case TradeProvider.SOLARBEAM: + return `https://analytics.solarbeam.io/pairs/${address}` default: unreachable(tradeProvider) } @@ -288,6 +293,7 @@ export const resolveZrxTradePoolName = createLookupTableResolver(`${PLUGIN_ID}+tradeProvide const openoceanSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+openocean`, '') const trisolarisSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+trisolaris`, '') const wannaswapSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+wannaswap`, '') +const solarbeamSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+solarbeam`, '') /** * The general settings of specific tarde provider @@ -149,6 +150,8 @@ export function getCurrentTradeProviderGeneralSettings(tradeProvider: TradeProvi return trisolarisSettings case TradeProvider.WANNASWAP: return wannaswapSettings + case TradeProvider.SOLARBEAM: + return solarbeamSettings default: unreachable(tradeProvider) } diff --git a/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts b/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts index 090d93875f26..96d92868bf75 100644 --- a/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts +++ b/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts @@ -212,6 +212,18 @@ export function useAllTradeComputed( const wannaswap = useUniswapTradeComputed(wannaswap_.value, inputToken, outputToken) const wannaSwapEstimateGas = useUniswapTradeGasLimit(wannaswap, TradeProvider.WANNASWAP) + // Solarbeam + const solarbeam_ = useUniswapV2Trade( + TradeProvider.SOLARBEAM, + TradeStrategy.ExactIn, + inputAmount_, + '0', + tradeProviders.some((x) => x === TradeProvider.SOLARBEAM) ? inputToken : undefined, + tradeProviders.some((x) => x === TradeProvider.SOLARBEAM) ? outputToken : undefined, + ) + const solarbeam = useUniswapTradeComputed(solarbeam_.value, inputToken, outputToken) + const solarbeamEstimateGas = useUniswapTradeGasLimit(solarbeam, TradeProvider.SOLARBEAM) + const allTradeResult = [ { provider: TradeProvider.UNISWAP_V2, ...uniswapV2_, value: uniswapV2, gas: uniswapV2EstimateGas }, { provider: TradeProvider.SUSHISWAP, ...sushiSwap_, value: sushiSwap, gas: sushiSwapEstimateGas }, @@ -226,6 +238,7 @@ export function useAllTradeComputed( { provider: TradeProvider.OPENOCEAN, ...openocean_, value: openocean, gas: openoceanSwapEstimateGas }, { provider: TradeProvider.WANNASWAP, ...wannaswap_, value: wannaswap, gas: wannaSwapEstimateGas }, { provider: TradeProvider.TRISOLARIS, ...trisolaris_, value: trisolaris, gas: trisolarisEstimateGas }, + { provider: TradeProvider.SOLARBEAM, ...solarbeam_, value: solarbeam, gas: solarbeamEstimateGas }, ] return nativeToken_.value diff --git a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts index 824ba21bc05d..b5439221ea3a 100644 --- a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts @@ -17,6 +17,8 @@ import { WANNASWAP_CUSTOM_BASES, TRISOLARIS_BASE_AGAINST_TOKENS, TRISOLARIS_CUSTOM_BASES, + SOLARBEAM_BASE_AGAINST_TOKENS, + SOLARBEAM_CUSTOM_BASES, } from '../constants' import { unreachable } from '@dimensiondev/kit' import { TargetChainIdContext } from './useTargetChainIdContext' @@ -122,6 +124,18 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: TRISOLARIS_CUSTOM_BASES, } + case TradeProvider.SOLARBEAM: + return { + TYPE: tradeProvider, + IS_UNISWAP_V2_LIKE: true, + GRAPH_API: DEX_TRADE.SOLARBEAM_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.SOLARBEAM_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.SOLARBEAM_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.SOLARBEAM_FACTORY_ADDRESS, + AGAINST_TOKENS: SOLARBEAM_BASE_AGAINST_TOKENS, + ADDITIONAL_TOKENS: {}, + CUSTOM_TOKENS: SOLARBEAM_CUSTOM_BASES, + } case TradeProvider.ZRX: return { TYPE: tradeProvider, diff --git a/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts b/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts index b492e343f7f5..f6f6f17d417b 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts @@ -100,6 +100,8 @@ export function useTradeCallback( return uniswapV2Like case TradeProvider.TRISOLARIS: return uniswapV2Like + case TradeProvider.SOLARBEAM: + return uniswapV2Like case TradeProvider.ZRX: return zrx case TradeProvider.BALANCER: diff --git a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts index 6cd1e0ebd61e..8c0fa76a87ae 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts @@ -17,6 +17,8 @@ import { WANNASWAP_CUSTOM_BASES, TRISOLARIS_CUSTOM_BASES, TRISOLARIS_BASE_AGAINST_TOKENS, + SOLARBEAM_CUSTOM_BASES, + SOLARBEAM_BASE_AGAINST_TOKENS, } from '../constants' import type { TradeContext as TradeContext_ } from '../types' import { TargetChainIdContext } from './useTargetChainIdContext' @@ -125,6 +127,18 @@ export function useTradeContext(tradeProvider: TradeProvider) { ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: TRISOLARIS_CUSTOM_BASES, } + case TradeProvider.SOLARBEAM: + return { + TYPE: tradeProvider, + IS_UNISWAP_V2_LIKE: true, + GRAPH_API: DEX_TRADE.SOLARBEAM_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.SOLARBEAM_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.SOLARBEAM_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.SOLARBEAM_FACTORY_ADDRESS, + AGAINST_TOKENS: SOLARBEAM_BASE_AGAINST_TOKENS, + ADDITIONAL_TOKENS: {}, + CUSTOM_TOKENS: SOLARBEAM_CUSTOM_BASES, + } case TradeProvider.ZRX: return { TYPE: tradeProvider, diff --git a/packages/mask/src/plugins/Trader/types/trader.ts b/packages/mask/src/plugins/Trader/types/trader.ts index 211c73a9818f..edde70ba4664 100644 --- a/packages/mask/src/plugins/Trader/types/trader.ts +++ b/packages/mask/src/plugins/Trader/types/trader.ts @@ -73,6 +73,7 @@ export enum ZrxTradePool { xSigma = 'xSigma', Trisolaris = 'Trisolaris', WannaSwap = 'WannaSwap', + Solarbeam = 'Solarbeam', } export interface TradeComputed { diff --git a/packages/mask/src/plugins/Wallet/services/assets.ts b/packages/mask/src/plugins/Wallet/services/assets.ts index 5df91424e8d0..001c1c1030dc 100644 --- a/packages/mask/src/plugins/Wallet/services/assets.ts +++ b/packages/mask/src/plugins/Wallet/services/assets.ts @@ -180,7 +180,7 @@ function formatAssetsFromZerion( return data.map(({ asset, quantity }) => { const balance = leftShift(quantity, asset.decimals).toNumber() const value = (asset as ZerionAsset).price?.value ?? (asset as ZerionCovalentAsset).value ?? 0 - const isNativeToken = (symbol: string) => ['ETH', 'BNB', 'MATIC', 'ARETH', 'AETH'].includes(symbol) + const isNativeToken = (symbol: string) => ['ETH', 'BNB', 'MATIC', 'ARETH', 'AETH', 'MOVR'].includes(symbol) return { token: { diff --git a/packages/mask/src/utils/native-rpc/Web.ts b/packages/mask/src/utils/native-rpc/Web.ts index 609f54a79d11..275b20c4747e 100644 --- a/packages/mask/src/utils/native-rpc/Web.ts +++ b/packages/mask/src/utils/native-rpc/Web.ts @@ -120,7 +120,7 @@ export const MaskNetworkAPI: MaskNetworkAPIs = { case NetworkType.Fantom: return Services.Settings.getxDaiNetworkTradeProvider() case NetworkType.Moonriver: - return Services.Settings.getMrvNetworkTradeProvider() + return Services.Settings.getMoonriverNetworkTradeProvider() case NetworkType.Aurora: return Services.Settings.getAuroraNetworkTradeProvider() @@ -151,7 +151,7 @@ export const MaskNetworkAPI: MaskNetworkAPIs = { case NetworkType.Fantom: return Services.Settings.setFantomNetworkTradeProvider(provider) case NetworkType.Moonriver: - return Services.Settings.setMrvNetworkTradeProvider(provider) + return Services.Settings.setMoonriverNetworkTradeProvider(provider) case NetworkType.Aurora: return Services.Settings.setAuroraNetworkTradeProvider(provider) case NetworkType.Boba: diff --git a/packages/public-api/src/web.ts b/packages/public-api/src/web.ts index bc375a74ce3c..65ac08493da8 100644 --- a/packages/public-api/src/web.ts +++ b/packages/public-api/src/web.ts @@ -222,6 +222,7 @@ export enum TradeProvider { OPENOCEAN = 10, WANNASWAP = 11, TRISOLARIS = 12, + SOLARBEAM = 13, } /** Supported language settings */ export enum LanguageOptions { diff --git a/packages/web3-constants/evm/token.json b/packages/web3-constants/evm/token.json index f177fa4da2d6..8b5cb649f41f 100644 --- a/packages/web3-constants/evm/token.json +++ b/packages/web3-constants/evm/token.json @@ -773,6 +773,114 @@ "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", "Aurora_Testnet": "" }, + "CBTC_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "0xD629eb00dEced2a080B7EC630eF6aC117e614f1b", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "" + }, + "SOLAR_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "" + }, + "mCUSD_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", + "Aurora_Testnet": "" + }, + "mCELO_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", + "Aurora_Testnet": "" + }, + "mcEUR_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", + "Aurora_Testnet": "" + }, + "CEURO_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", + "Aurora_Testnet": "" + }, "ETHER_ADDRESS": { "Mainnet": "", "Ropsten": "", diff --git a/packages/web3-constants/evm/trader.json b/packages/web3-constants/evm/trader.json index 2adaa206f08d..5a72d29cebd2 100644 --- a/packages/web3-constants/evm/trader.json +++ b/packages/web3-constants/evm/trader.json @@ -233,6 +233,78 @@ "Aurora": "", "Aurora_Testnet": "" }, + "SOLARBEAM_ROUTER_ADDRESS": { + "Mainnet": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Ropsten": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Rinkeby": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Kovan": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Gorli": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "BSC": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "BSCT": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Matic": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Mumbai": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Arbitrum": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Arbitrum_Rinkeby": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "xDai": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Celo": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Fantom": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Aurora": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Aurora_Testnet": "" + }, + "SOLARBEAM_FACTORY_ADDRESS": { + "Mainnet": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Ropsten": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Rinkeby": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Kovan": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Gorli": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "BSC": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "BSCT": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Matic": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Mumbai": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Arbitrum": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Arbitrum_Rinkeby": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "xDai": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Celo": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Fantom": "0x049581aEB6Fe262727f290165C29BDAB065a1B68", + "Aurora": "", + "Aurora_Testnet": "" + }, + "SOLARBEAM_THEGRAPH": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "" + }, + "SOLARBEAM_INIT_CODE_HASH": { + "Mainnet": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Ropsten": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Rinkeby": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Kovan": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Gorli": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "BSC": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "BSCT": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Matic": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Mumbai": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Arbitrum": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Arbitrum_Rinkeby": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "xDai": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Celo": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Fantom": "0x9a100ded5f254443fbd264cb7e87831e398a8b642e061670a9bc35ba27293dbf", + "Aurora": "", + "Aurora_Testnet": "" + }, "SASHIMISWAP_ROUTER_ADDRESS": { "Mainnet": "0xe4fe6a45f354e845f954cddee6084603cedb9410", "Ropsten": "0xe4fe6a45f354e845f954cddee6084603cedb9410", diff --git a/packages/web3-providers/src/zerion/format.ts b/packages/web3-providers/src/zerion/format.ts index 90fc1bfa51d9..09688589080c 100644 --- a/packages/web3-providers/src/zerion/format.ts +++ b/packages/web3-providers/src/zerion/format.ts @@ -57,7 +57,7 @@ export function formatAssets( return data.map(({ asset, quantity }) => { const balance = leftShift(quantity, asset.decimals).toNumber() const value = (asset as ZerionAsset).price?.value ?? (asset as ZerionCovalentAsset).value ?? 0 - const isNativeToken = (symbol: string) => ['ETH', 'BNB', 'MATIC', 'ARETH', 'AETH'].includes(symbol) + const isNativeToken = (symbol: string) => ['ETH', 'BNB', 'MATIC', 'ARETH', 'AETH', 'MOVR'].includes(symbol) const address = isNativeToken(asset.symbol) ? getTokenConstants().NATIVE_TOKEN_ADDRESS : asset.asset_code const chainId = resolveChainByScope(scope).chainId diff --git a/packages/web3-shared/evm/assets/chains.json b/packages/web3-shared/evm/assets/chains.json index 20c4377e62b6..82eea2f68e09 100644 --- a/packages/web3-shared/evm/assets/chains.json +++ b/packages/web3-shared/evm/assets/chains.json @@ -1621,12 +1621,12 @@ }, { "name": "Moonriver Kusama", - "chain": "MOON", + "chain": "movr", "network": "moonriver", "rpc": [], "faucets": [], "features": [], - "nativeCurrency": { "name": "River", "symbol": "RIVER", "decimals": 18 }, + "nativeCurrency": { "name": "River", "symbol": "MOVR", "decimals": 18 }, "infoURL": "https://moonbeam.network/networks/moonriver/", "shortName": "mriver", "icon": "moonriver", diff --git a/packages/web3-shared/evm/utils/chainDetailed.ts b/packages/web3-shared/evm/utils/chainDetailed.ts index 6c5efc13ae21..b40d616f16b5 100644 --- a/packages/web3-shared/evm/utils/chainDetailed.ts +++ b/packages/web3-shared/evm/utils/chainDetailed.ts @@ -112,7 +112,8 @@ const chainNameMap: Record = { [NetworkType.Boba]: 'Boba', [NetworkType.Fuse]: 'Fuse', [NetworkType.Metis]: 'Metis', - [NetworkType.Optimistic]: 'Optimistic', + [NetworkType.Optimistic]: 'OP', + [NetworkType.Moonriver]: 'MOVR', } export function getNetworkTypeFromChainId(chainId: ChainId, value?: boolean) { const chainDetailed = getChainDetailed(chainId) From de1aab061c2facaf1169ece8c382b9892e88cb47 Mon Sep 17 00:00:00 2001 From: codingsh Date: Tue, 18 Jan 2022 19:34:24 +0100 Subject: [PATCH 4/9] feat(moonriver): add Huckleberry dex --- .../Labs/components/SwapSettingDialog.tsx | 4 + .../SNSAdaptor/trader/TradeProviderIcon.tsx | 22 ++- .../src/plugins/Trader/apis/trader/index.ts | 2 +- .../plugins/Trader/constants/huckleberry.ts | 14 ++ .../src/plugins/Trader/constants/index.ts | 1 + packages/mask/src/plugins/Trader/pipes.ts | 6 + packages/mask/src/plugins/Trader/settings.ts | 3 + .../Trader/trader/useAllTradeComputed.ts | 13 ++ .../Trader/trader/useGetTradeContext.ts | 12 ++ .../plugins/Trader/trader/useTradeCallback.ts | 2 + .../plugins/Trader/trader/useTradeContext.ts | 14 ++ .../mask/src/plugins/Trader/types/trader.ts | 1 + packages/public-api/src/web.ts | 1 + packages/web3-constants/evm/token.json | 154 ++++++++++++------ packages/web3-constants/evm/trader.json | 74 ++++++++- 15 files changed, 268 insertions(+), 55 deletions(-) create mode 100644 packages/mask/src/plugins/Trader/constants/huckleberry.ts diff --git a/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx b/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx index ca740edefd5a..18898b36e889 100644 --- a/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx +++ b/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx @@ -40,6 +40,7 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) { label: '0x', value: TradeProvider.ZRX }, { label: 'DODO', value: TradeProvider.DODO }, { label: 'OpenOcean', value: TradeProvider.OPENOCEAN }, + { label: 'Solarbeam', value: TradeProvider.SOLARBEAM }, ] const bscOptions = [ @@ -48,6 +49,7 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) { label: '0x', value: TradeProvider.ZRX }, { label: 'DODO', value: TradeProvider.DODO }, { label: 'OpenOcean', value: TradeProvider.OPENOCEAN }, + { label: 'Solarbeam', value: TradeProvider.SOLARBEAM }, ] const arbitrumOptions = [ @@ -58,6 +60,7 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) const xDaiOptions = [ { label: 'SushiSwap', value: TradeProvider.SUSHISWAP }, { label: 'OpenOcean', value: TradeProvider.OPENOCEAN }, + { label: 'Solarbeam', value: TradeProvider.SOLARBEAM }, ] const fantomOptions = xDaiOptions @@ -76,6 +79,7 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) { label: 'SushiSwap', value: TradeProvider.SUSHISWAP }, { label: 'Solarbeam', value: TradeProvider.SOLARBEAM }, { label: 'DODO', value: TradeProvider.DODO }, + { label: 'Huckleberry', value: TradeProvider.HUCKLEBERRY }, ] const t = useDashboardI18N() diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx index 3d979f176744..90f73a60142c 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx @@ -15,6 +15,8 @@ import { resolveTradeProviderName } from '../../pipes' const quickswapIcon = new URL('../../../../resources/quickswap.png', import.meta.url).toString() const pancakeswapIcon = new URL('../../../../resources/pancakeswap.png', import.meta.url).toString() const wannaswapIcon = new URL('../../../../resources/wannaswap.png', import.meta.url).toString() +const solarbeamIcon = new URL('../../../../resources/solarbeam.png', import.meta.url).toString() +const huckleberryIcon = new URL('../../../../resources/huckleberry.png', import.meta.url).toString() const useStyles = makeStyles()((theme) => ({ icon: { @@ -61,8 +63,24 @@ export function TradeProviderIcon(props: TradeProviderIconProps) { case TradeProvider.WANNASWAP: return ( {resolveTradeProviderName(TradeProvider.PANCAKESWAP)} + ) + case TradeProvider.SOLARBEAM: + return ( + {resolveTradeProviderName(TradeProvider.SOLARBEAM)} + ) + case TradeProvider.HUCKLEBERRY: + return ( + {resolveTradeProviderName(TradeProvider.HUCKLEBERRY)} ) diff --git a/packages/mask/src/plugins/Trader/apis/trader/index.ts b/packages/mask/src/plugins/Trader/apis/trader/index.ts index e16c36d9b1b3..a874cafe8bd1 100644 --- a/packages/mask/src/plugins/Trader/apis/trader/index.ts +++ b/packages/mask/src/plugins/Trader/apis/trader/index.ts @@ -50,7 +50,7 @@ export async function getAvailableTraderProviders(chainId: ChainId) { case NetworkType.Aurora: return [TradeProvider.DODO, TradeProvider.WANNASWAP, TradeProvider.TRISOLARIS] case NetworkType.Moonriver: - return [TradeProvider.DODO, TradeProvider.SOLARBEAM, TradeProvider.SUSHISWAP] + return [TradeProvider.DODO, TradeProvider.SOLARBEAM, TradeProvider.SUSHISWAP, TradeProvider.HUCKLEBERRY] case NetworkType.Boba: case NetworkType.Fuse: case NetworkType.Metis: diff --git a/packages/mask/src/plugins/Trader/constants/huckleberry.ts b/packages/mask/src/plugins/Trader/constants/huckleberry.ts new file mode 100644 index 000000000000..815f6aacb010 --- /dev/null +++ b/packages/mask/src/plugins/Trader/constants/huckleberry.ts @@ -0,0 +1,14 @@ +import { ChainId } from '@masknet/web3-shared-evm' +import { DAI, USDC, WNATIVE, WNATIVE_ONLY } from './trader' +import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' + +/** + * Some tokens can only be swapped via certain pairs, + * so we override the list of bases that are considered for these tokens. + */ +export const HUCKLEBERRY_CUSTOM_BASES: ERC20TokenCustomizedBase = {} + +export const HUCKLEBERRY_BASE_AGAINST_TOKENS: ERC20AgainstToken = { + ...WNATIVE_ONLY, + [ChainId.Moonriver]: [WNATIVE, DAI, USDC].map((x) => x[ChainId.Moonriver]), +} diff --git a/packages/mask/src/plugins/Trader/constants/index.ts b/packages/mask/src/plugins/Trader/constants/index.ts index 6296eb782b60..43b4867e564c 100644 --- a/packages/mask/src/plugins/Trader/constants/index.ts +++ b/packages/mask/src/plugins/Trader/constants/index.ts @@ -12,4 +12,5 @@ export * from './bancor' export * from './wannaswap' export * from './trisolaris' export * from './solarbeam' +export * from './huckleberry' export type { ERC20TokenCustomizedBase, ERC20AgainstToken } from './types' diff --git a/packages/mask/src/plugins/Trader/pipes.ts b/packages/mask/src/plugins/Trader/pipes.ts index 3dffc822d398..db4c5624494f 100644 --- a/packages/mask/src/plugins/Trader/pipes.ts +++ b/packages/mask/src/plugins/Trader/pipes.ts @@ -60,6 +60,7 @@ export const resolveTradeProviderName = createLookupTableResolver { throw new Error(`Unknown provider type: ${tradeProvider}`) @@ -125,6 +126,8 @@ export function resolveTradeProviderLink(tradeProvider: TradeProvider, networkTy return 'https://wannaswap.finance/exchange/swap' case TradeProvider.SOLARBEAM: return 'https://app.solarbeam.io/exchange/swap' + case TradeProvider.HUCKLEBERRY: + return 'https://www.huckleberry.finance/#/swap' default: unreachable(tradeProvider) } @@ -202,6 +205,8 @@ export function resolveTradePairLink(tradeProvider: TradeProvider, address: stri return '' case TradeProvider.SOLARBEAM: return `https://analytics.solarbeam.io/pairs/${address}` + case TradeProvider.HUCKLEBERRY: + return `https://analytics.solarbeam.io/pairs/${address}` default: unreachable(tradeProvider) } @@ -294,6 +299,7 @@ export const resolveZrxTradePoolName = createLookupTableResolver(`${PLUGIN_ID}+tradeProv const trisolarisSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+trisolaris`, '') const wannaswapSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+wannaswap`, '') const solarbeamSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+solarbeam`, '') +const huckleberrySettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+huckleberry`, '') /** * The general settings of specific tarde provider @@ -152,6 +153,8 @@ export function getCurrentTradeProviderGeneralSettings(tradeProvider: TradeProvi return wannaswapSettings case TradeProvider.SOLARBEAM: return solarbeamSettings + case TradeProvider.HUCKLEBERRY: + return huckleberrySettings default: unreachable(tradeProvider) } diff --git a/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts b/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts index 96d92868bf75..f42d1604a757 100644 --- a/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts +++ b/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts @@ -224,6 +224,18 @@ export function useAllTradeComputed( const solarbeam = useUniswapTradeComputed(solarbeam_.value, inputToken, outputToken) const solarbeamEstimateGas = useUniswapTradeGasLimit(solarbeam, TradeProvider.SOLARBEAM) + // Huckleberry + const huckleberry_ = useUniswapV2Trade( + TradeProvider.HUCKLEBERRY, + TradeStrategy.ExactIn, + inputAmount_, + '0', + tradeProviders.some((x) => x === TradeProvider.HUCKLEBERRY) ? inputToken : undefined, + tradeProviders.some((x) => x === TradeProvider.HUCKLEBERRY) ? outputToken : undefined, + ) + const huckleberry = useUniswapTradeComputed(huckleberry_.value, inputToken, outputToken) + const huckleberryEstimateGas = useUniswapTradeGasLimit(huckleberry, TradeProvider.HUCKLEBERRY) + const allTradeResult = [ { provider: TradeProvider.UNISWAP_V2, ...uniswapV2_, value: uniswapV2, gas: uniswapV2EstimateGas }, { provider: TradeProvider.SUSHISWAP, ...sushiSwap_, value: sushiSwap, gas: sushiSwapEstimateGas }, @@ -239,6 +251,7 @@ export function useAllTradeComputed( { provider: TradeProvider.WANNASWAP, ...wannaswap_, value: wannaswap, gas: wannaSwapEstimateGas }, { provider: TradeProvider.TRISOLARIS, ...trisolaris_, value: trisolaris, gas: trisolarisEstimateGas }, { provider: TradeProvider.SOLARBEAM, ...solarbeam_, value: solarbeam, gas: solarbeamEstimateGas }, + { provider: TradeProvider.HUCKLEBERRY, ...huckleberry_, value: huckleberry, gas: huckleberryEstimateGas }, ] return nativeToken_.value diff --git a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts index b5439221ea3a..8f4282fe2c73 100644 --- a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts @@ -136,6 +136,18 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: SOLARBEAM_CUSTOM_BASES, } + case TradeProvider.HUCKLEBERRY: + return { + TYPE: tradeProvider, + IS_UNISWAP_V2_LIKE: true, + GRAPH_API: DEX_TRADE.HUCKLEBERRY_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.HUCKLEBERRY_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.HUCKLEBERRY_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.HUCKLEBERRY_FACTORY_ADDRESS, + AGAINST_TOKENS: HUCKLEBERRY_BASE_AGAINST_TOKENS, + ADDITIONAL_TOKENS: {}, + CUSTOM_TOKENS: HUCKLEBERRY_CUSTOM_BASES, + } case TradeProvider.ZRX: return { TYPE: tradeProvider, diff --git a/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts b/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts index f6f6f17d417b..da1eff030d9d 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts @@ -102,6 +102,8 @@ export function useTradeCallback( return uniswapV2Like case TradeProvider.SOLARBEAM: return uniswapV2Like + case TradeProvider.HUCKLEBERRY: + return uniswapV2Like case TradeProvider.ZRX: return zrx case TradeProvider.BALANCER: diff --git a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts index 8c0fa76a87ae..c22ef52991a5 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts @@ -19,6 +19,8 @@ import { TRISOLARIS_BASE_AGAINST_TOKENS, SOLARBEAM_CUSTOM_BASES, SOLARBEAM_BASE_AGAINST_TOKENS, + HUCKLEBERRY_CUSTOM_BASES, + HUCKLEBERRY_BASE_AGAINST_TOKENS, } from '../constants' import type { TradeContext as TradeContext_ } from '../types' import { TargetChainIdContext } from './useTargetChainIdContext' @@ -139,6 +141,18 @@ export function useTradeContext(tradeProvider: TradeProvider) { ADDITIONAL_TOKENS: {}, CUSTOM_TOKENS: SOLARBEAM_CUSTOM_BASES, } + case TradeProvider.HUCKLEBERRY: + return { + TYPE: tradeProvider, + IS_UNISWAP_V2_LIKE: true, + GRAPH_API: DEX_TRADE.HUCKLEBERRY_THEGRAPH, + INIT_CODE_HASH: DEX_TRADE.HUCKLEBERRY_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: DEX_TRADE.HUCKLEBERRY_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: DEX_TRADE.HUCKLEBERRY_FACTORY_ADDRESS, + AGAINST_TOKENS: HUCKLEBERRY_BASE_AGAINST_TOKENS, + ADDITIONAL_TOKENS: {}, + CUSTOM_TOKENS: HUCKLEBERRY_CUSTOM_BASES, + } case TradeProvider.ZRX: return { TYPE: tradeProvider, diff --git a/packages/mask/src/plugins/Trader/types/trader.ts b/packages/mask/src/plugins/Trader/types/trader.ts index edde70ba4664..c0bc99f2295d 100644 --- a/packages/mask/src/plugins/Trader/types/trader.ts +++ b/packages/mask/src/plugins/Trader/types/trader.ts @@ -74,6 +74,7 @@ export enum ZrxTradePool { Trisolaris = 'Trisolaris', WannaSwap = 'WannaSwap', Solarbeam = 'Solarbeam', + Huckleberry = 'Huckleberry', } export interface TradeComputed { diff --git a/packages/public-api/src/web.ts b/packages/public-api/src/web.ts index 65ac08493da8..8a3ad595f61f 100644 --- a/packages/public-api/src/web.ts +++ b/packages/public-api/src/web.ts @@ -223,6 +223,7 @@ export enum TradeProvider { WANNASWAP = 11, TRISOLARIS = 12, SOLARBEAM = 13, + HUCKLEBERRY = 14, } /** Supported language settings */ export enum LanguageOptions { diff --git a/packages/web3-constants/evm/token.json b/packages/web3-constants/evm/token.json index 8b5cb649f41f..4c851fcac4a3 100644 --- a/packages/web3-constants/evm/token.json +++ b/packages/web3-constants/evm/token.json @@ -15,7 +15,8 @@ "Celo": "0x471EcE3750Da237f93B8E339c536989b8978a438", "Fantom": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83", "Aurora": "0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "0x98878b06940ae243284ca214f92bb71a2b032b8a" }, "USDC_ADDRESS": { "Mainnet": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", @@ -33,7 +34,8 @@ "Celo": "0x2A3684e9Dc20B857375EA04235F2F7edBe818FA7", "Fantom": "0x04068da6c83afcfa0e13ba15a6696662335d5b75", "Aurora": "0xb12bfca5a55806aaf64e99521918a4bf0fc40802", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "0xe3f5a90f9cb311505cd691a46596599aa1a0ad7d" }, "USDT_ADDRESS": { "Mainnet": "0xdAC17F958D2ee523a2206206994597C13D831ec7", @@ -51,7 +53,8 @@ "Celo": "0xb020d981420744f6b0fedd22bb67cd37ce18a1d5", "Fantom": "", "Aurora": "0x4988a896b1227218e4a686fde5eabdcabd91571f", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "HUSD_ADDRESS": { "Mainnet": "0xdf574c24545e5ffecb9a659c229253d4111d87e1", @@ -69,7 +72,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "BUSD_ADDRESS": { "Mainnet": "0x4fabb145d64652a948d72533023f6e7a623c7c53", @@ -87,7 +91,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "COMP_ADDRESS": { "Mainnet": "0xc00e94Cb662C3520282E6f5717214004A7f26888", @@ -105,7 +110,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "EASY_ADDRESS": { "Mainnet": "", @@ -123,7 +129,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MKR_ADDRESS": { "Mainnet": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", @@ -141,7 +148,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MASK_ADDRESS": { "Mainnet": "0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074", @@ -159,7 +167,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MSKA_ADDRESS": { "Mainnet": "", @@ -177,7 +186,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MSKB_ADDRESS": { "Mainnet": "", @@ -195,7 +205,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MSKC_ADDRESS": { "Mainnet": "", @@ -213,7 +224,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MSKD_ADDRESS": { "Mainnet": "", @@ -231,7 +243,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "MSKE_ADDRESS": { "Mainnet": "", @@ -249,7 +262,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "DAI_ADDRESS": { "Mainnet": "0x6B175474E89094C44Da98b954EedeAC495271d0F", @@ -267,7 +281,8 @@ "Celo": "", "Fantom": "0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E", "Aurora": "0xe3520349f477a5f6eb06107066048508498a291b", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "0x80a16016cc4a2e6a2caca8a4a498b1699ff0f844" }, "AMPL_ADDRESS": { "Mainnet": "0xD46bA6D942050d489DBd938a2C909A5d5039A161", @@ -285,7 +300,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "OKB_ADDRESS": { "Mainnet": "0x75231F58b43240C9718Dd58B4967c5114342a86c", @@ -303,7 +319,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "UST_ADDRESS": { "Mainnet": "0xa47c8bf37f92aBed4A126BDA807A7b7498661acD", @@ -321,7 +338,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "eUSDC_ADDRESS": { "Mainnet": "", @@ -339,7 +357,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "eUSDT_ADDRESS": { "Mainnet": "", @@ -357,7 +376,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "fUSDT_ADDRESS": { "Mainnet": "", @@ -375,7 +395,8 @@ "Celo": "", "Fantom": "0x049d68029688eAbF473097a2fC38ef61633A3C7A", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "eDAI_ADDRESS": { "Mainnet": "", @@ -393,7 +414,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "UNITOKEN_ADDRESS": { "Mainnet": "", @@ -411,7 +433,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "TT01_ADDRESS": { "Mainnet": "", @@ -429,7 +452,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "TT02_ADDRESS": { "Mainnet": "", @@ -447,7 +471,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "QUICK_ADDRESS": { "Mainnet": "", @@ -465,7 +490,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "WANNA_ADDRESS": { "Mainnet": "", @@ -483,7 +509,8 @@ "Celo": "", "Fantom": "", "Aurora": "0x7faA64Faf54750a2E3eE621166635fEAF406Ab22", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "WBTC_ADDRESS": { "Mainnet": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", @@ -501,7 +528,8 @@ "Celo": "0xBe50a3013A1c94768A1ABb78c3cB79AB28fc1aCE", "Fantom": "0x321162Cd933E2Be498Cd2267a90534A804051b11", "Aurora": "0xf4eb217ba2454613b15dbdea6e5f22276410e89e", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "0xe6a991ffa8cfe62b0bf6bf72959a3d4f11b2e0f5" }, "IGG_ADDRESS": { "Mainnet": "", @@ -519,7 +547,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "OM_ADDRESS": { "Mainnet": "", @@ -537,7 +566,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "SUSHI_ADDRESS": { "Mainnet": "0x6B3595068778DD592e39A122f4f5a5cF09C90fE2", @@ -555,7 +585,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "YAM_ADDRESS": { "Mainnet": "0x0e2298E3B3390e3b945a5456fBf59eCc3f55DA16", @@ -573,7 +604,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "RUNE_ADDRESS": { "Mainnet": "0x3155BA85D5F96b2d030a4966AF206230e46849cb", @@ -591,7 +623,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "YFI_ADDRESS": { "Mainnet": "0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e", @@ -609,7 +642,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "sUSD_ADDRESS": { "Mainnet": "0x57ab1ec28d129707052df4df418d58a2d46d5f51", @@ -627,7 +661,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "BTCB_ADDRESS": { "Mainnet": "", @@ -645,7 +680,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "CAKE_ADDRESS": { "Mainnet": "", @@ -663,7 +699,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "maUSDC_ADDRESS": { "Mainnet": "", @@ -681,7 +718,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "stETH_ADDRESS": { "Mainnet": "0xDFe66B14D37C77F4E9b180cEb433d1b164f0281D", @@ -699,7 +737,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "NFTX_ADDRESS": { "Mainnet": "0x87d73E916D7057945c9BcD8cdd94e42A6F47f776", @@ -717,7 +756,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "cUSD_ADDRESS": { "Mainnet": "", @@ -735,7 +775,8 @@ "Celo": "0x765de816845861e75a25fca122bb6898b8b1282a", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "cEUR_ADDRESS": { "Mainnet": "", @@ -753,7 +794,8 @@ "Celo": "0x765de816845861e75a25fca122bb6898b8b1282a", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "xTRI_ADDRESS": { "Mainnet": "", @@ -771,7 +813,8 @@ "Celo": "", "Fantom": "", "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "CBTC_ADDRESS": { "Mainnet": "", @@ -789,7 +832,8 @@ "Celo": "0xD629eb00dEced2a080B7EC630eF6aC117e614f1b", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "SOLAR_ADDRESS": { "Mainnet": "", @@ -807,7 +851,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "0x6bd193ee6d2104f14f94e2ca6efefae561a4334b" }, "mCUSD_ADDRESS": { "Mainnet": "", @@ -825,7 +870,8 @@ "Celo": "", "Fantom": "", "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "mCELO_ADDRESS": { "Mainnet": "", @@ -843,7 +889,8 @@ "Celo": "", "Fantom": "", "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "mcEUR_ADDRESS": { "Mainnet": "", @@ -861,7 +908,9 @@ "Celo": "", "Fantom": "", "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "", + "Moonriver": "" }, "CEURO_ADDRESS": { "Mainnet": "", @@ -879,7 +928,8 @@ "Celo": "", "Fantom": "", "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "ETHER_ADDRESS": { "Mainnet": "", @@ -897,7 +947,8 @@ "Celo": "", "Fantom": "", "Aurora": "", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" }, "NATIVE_TOKEN_ADDRESS": { "Mainnet": "0x0000000000000000000000000000000000000000", @@ -915,6 +966,7 @@ "Celo": "0x471ece3750da237f93b8e339c536989b8978a438", "Fantom": "0x0000000000000000000000000000000000000000", "Aurora": "0x0000000000000000000000000000000000000000", - "Aurora_Testnet": "" + "Aurora_Testnet": "", + "Moonriver": "" } } diff --git a/packages/web3-constants/evm/trader.json b/packages/web3-constants/evm/trader.json index 5a72d29cebd2..1d556679eecc 100644 --- a/packages/web3-constants/evm/trader.json +++ b/packages/web3-constants/evm/trader.json @@ -248,7 +248,7 @@ "xDai": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", "Celo": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", "Fantom": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", - "Aurora": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Aurora": "", "Aurora_Testnet": "" }, "SOLARBEAM_FACTORY_ADDRESS": { @@ -305,6 +305,78 @@ "Aurora": "", "Aurora_Testnet": "" }, + "HUCKLEBERRY_ROUTER_ADDRESS": { + "Mainnet": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Ropsten": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Rinkeby": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Kovan": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Gorli": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "BSC": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "BSCT": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Matic": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Mumbai": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Arbitrum": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Arbitrum_Rinkeby": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "xDai": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Celo": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Fantom": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Aurora": "0xAA30eF758139ae4a7f798112902Bf6d65612045f", + "Aurora_Testnet": "" + }, + "HUCKLEBERRY_FACTORY_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "" + }, + "HUCKLEBERRY_THEGRAPH": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "" + }, + "HUCKLEBERRY_INIT_CODE_HASH": { + "Mainnet": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Ropsten": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Rinkeby": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Kovan": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Gorli": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "BSC": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "BSCT": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Matic": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Mumbai": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Arbitrum": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Arbitrum_Rinkeby": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "xDai": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Celo": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Fantom": "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", + "Aurora": "", + "Aurora_Testnet": "" + }, "SASHIMISWAP_ROUTER_ADDRESS": { "Mainnet": "0xe4fe6a45f354e845f954cddee6084603cedb9410", "Ropsten": "0xe4fe6a45f354e845f954cddee6084603cedb9410", From c29b2235d795332b41c28509aaa07d07a838b668 Mon Sep 17 00:00:00 2001 From: codingsh Date: Tue, 18 Jan 2022 20:17:05 +0100 Subject: [PATCH 5/9] feat(dex): add huckleberry contracts address --- .../Trader/trader/useGetTradeContext.ts | 2 + packages/mask/src/resources/huckleberry.png | Bin 0 -> 1852 bytes packages/mask/src/resources/solarbeam.png | Bin 0 -> 7112 bytes packages/mask/src/utils/native-rpc/Web.ts | 1 - packages/web3-constants/compile-constants.ts | 1 + packages/web3-constants/evm/airdrop.json | 3 +- packages/web3-constants/evm/coingecko.json | 6 +- .../web3-constants/evm/coinmarketcap.json | 3 +- packages/web3-constants/evm/cryptoartai.json | 9 +- packages/web3-constants/evm/debank.json | 3 +- packages/web3-constants/evm/dhedge.json | 6 +- packages/web3-constants/evm/ethereum.json | 12 +- packages/web3-constants/evm/explorer.json | 6 +- packages/web3-constants/evm/gitcoin.json | 12 +- .../web3-constants/evm/good-ghosting.json | 6 +- packages/web3-constants/evm/ito.json | 21 ++- packages/web3-constants/evm/lbp.json | 3 +- packages/web3-constants/evm/mask-box.json | 15 +- .../web3-constants/evm/nft-red-packet.json | 6 +- packages/web3-constants/evm/openocean.json | 3 +- packages/web3-constants/evm/opensea-api.json | 9 +- packages/web3-constants/evm/pooltogether.json | 6 +- packages/web3-constants/evm/red-packet.json | 18 ++- packages/web3-constants/evm/rpc.json | 6 +- .../evm/space-station-galaxy.json | 6 +- .../evm/token-asset-base-url.json | 3 +- packages/web3-constants/evm/token-list.json | 3 +- packages/web3-constants/evm/token.json | 1 - packages/web3-constants/evm/trader.json | 153 ++++++++++++------ packages/web3-constants/evm/trending.json | 9 +- packages/web3-constants/evm/zerion.json | 6 +- 31 files changed, 225 insertions(+), 113 deletions(-) create mode 100644 packages/mask/src/resources/huckleberry.png create mode 100644 packages/mask/src/resources/solarbeam.png diff --git a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts index 8f4282fe2c73..36f02c3a6e47 100644 --- a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts @@ -19,6 +19,8 @@ import { TRISOLARIS_CUSTOM_BASES, SOLARBEAM_BASE_AGAINST_TOKENS, SOLARBEAM_CUSTOM_BASES, + HUCKLEBERRY_BASE_AGAINST_TOKENS, + HUCKLEBERRY_CUSTOM_BASES, } from '../constants' import { unreachable } from '@dimensiondev/kit' import { TargetChainIdContext } from './useTargetChainIdContext' diff --git a/packages/mask/src/resources/huckleberry.png b/packages/mask/src/resources/huckleberry.png new file mode 100644 index 0000000000000000000000000000000000000000..eece6cedac4eae8d6b34492a36d21ef3cb2caa03 GIT binary patch literal 1852 zcmV-C2gCS@P)-YPz;qZIQ`b}a zK(yIkz~8;)^563LfzIae`TWJ`^G>?k;Pd&k;_yVa**>(`SH0b_;qXAT*j~Wj@A>?` z=JH9n+QH}Zr`_#n#NlSc;QRjm>i7GU)#^U8*vIMguHWxbyWEA(=IQtQcgo~hzTWox z{jA^a*YEdOzTUj$^4jqD%j@+=x7yV1_BXNDme%T3z1`{d``YpNMz-3@>h!VU?@+qj z`TYK$+Uz;9*Fm(|-0}GB`1`5e?z`mihtTJo*z4c(`K;gXrrhl|u-C}y^k2c>*6;Vp z>h!tf@rcpqq1x;F8qoY{ufawV1SdduXx-BZX<88*` zzUA^zyWE-A>iquxgU;sp{r-T><@NjhUBKV?{QgR~+i}R_e9YyD(C1CL+eo+CQ@q`T z&*oge-bA+AfX(LA?)RA2>d@@=?)m(G&E+|<*YWxMXT;%t%;iS?BdP!Z1YJo)K~#9! z?U?&pR7Duaw@o+7Gov9gJ9B2CjYGL;EV+rKas(qUC5o0-dnm)GG!!qOV4D||T{Tj( z6cDwn>|$10nHFJ2H@i@1_v`=C1G`IS&N;g~!`a{B`_n$}?tY%Ryz_nE8HZy;BO1~F zN>@3r9yMyT>zee?GOoRDj07MA(%5m=XO6dv%bJjl+yE0o2nI6sK+k|;ji9!;K zP843hVvvMKFq|fo%O$sarjVq9(`RtwW|n4Ch)D{mvp8|%%gU)jQVY%I#!HG%h4sW0lCc^=sFyH^l1X4O~RE!2;O0v0>dNL*2;AqqB~nt=Z_Y4Spg%vcJEpI zv?<(%QqTFB)t1$K*4`~>pK*P?`;%`Bq|eG^t;^a35A1Dv?s-G3T1vVt^1-UwmYoU9 zz@f5M)NV+5f70#f=uB?ZEr%zSA7D4%lVpUn>qrXcj~qP~d?CVam7LJHXzPn9YsvAK zUVeqOj~#^;nW(4`(ee|oa#W|x*8<>mwzt8ieTHwGoc?CnDZYBwa4TjWN-RPm45{XMFFz7usk%=o5+nMKYAB5+;NczAw}u zRd17|v!;=c{@~p1=8CF?=Mf>GGE0c~;YX-DQNqsa7??cVCw2`umIni^A2(WkwJR7s zB0XX^oMyi&hiZHmGL7FHu8bZWjE)KsKamHzmTbRgnV}_s@eTkK3-#9*2hJN-2ng$M zBi=S$X{BusvBSa)}U6bmhf}o=;<;$-Qhbpq~k?;^$w)Tn2=D zqN~-}#ag2p_)-LTcF3tUTKUy!-zCS=v206*l|v%Hxw`ezkk&hYQ`l%@v{dM{xY^MF z)#Tj%ufGuh9{DypK|i8yr~>X@GqIYGqF@5PJJZwG+`R``wY2Dap>6IXKS&t141PYo zwSVx|f|;R$%R)Ei87nfbpkN@@k~z=yQ-qWsH!!83K=A75`l-8q$fwrV_Wj)c3sY6; zucDXH-!2&+Gm7<#iP{`?^?SJ<2rt?OdOP$rRq4&JO{`!V3D{s8SQ=ssqTM#|LO(OY zsrKK%W?s=v8vT)mS2ev4{n;I{4=jNHdC>j^X&9k1ZoOLnG;cZ{692j!a|m4MOv}q; qxt00009a7bBm000XU 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 Date: Tue, 18 Jan 2022 22:27:48 +0100 Subject: [PATCH 6/9] feat(moonriver): add tokenlist --- packages/web3-constants/evm/ethereum.json | 2 +- packages/web3-constants/evm/token-list.json | 2 +- packages/web3-constants/evm/token.json | 61 ++++++++++++++++++++- 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/packages/web3-constants/evm/ethereum.json b/packages/web3-constants/evm/ethereum.json index c8547e71f29f..7e7a565b9bd6 100644 --- a/packages/web3-constants/evm/ethereum.json +++ b/packages/web3-constants/evm/ethereum.json @@ -35,7 +35,7 @@ "Fantom": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c", "Aurora": "0x6cc1b1058F9153358278C35E0b2D382f1585854B", "Aurora_Testnet": "", - "Moonriver": "" + "Moonriver": "0x43D002a2B468F048028Ea9C2D3eD4705a94e68Ae" }, "ENS_REGISTRAR_ADDRESS": { "Mainnet": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", diff --git a/packages/web3-constants/evm/token-list.json b/packages/web3-constants/evm/token-list.json index 9dff10e4c2c7..e95d0fad263e 100644 --- a/packages/web3-constants/evm/token-list.json +++ b/packages/web3-constants/evm/token-list.json @@ -31,6 +31,6 @@ "https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/1313161554/tokens.json" ], "Aurora_Testnet": "", - "Moonriver": "" + "Moonriver": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/1285/tokens.json"] } } diff --git a/packages/web3-constants/evm/token.json b/packages/web3-constants/evm/token.json index 21b88b887b34..239647e831cf 100644 --- a/packages/web3-constants/evm/token.json +++ b/packages/web3-constants/evm/token.json @@ -54,7 +54,7 @@ "Fantom": "", "Aurora": "0x4988a896b1227218e4a686fde5eabdcabd91571f", "Aurora_Testnet": "", - "Moonriver": "" + "Moonriver": "0xB44a9B6905aF7c801311e8F4E76932ee959c663C" }, "HUSD_ADDRESS": { "Mainnet": "0xdf574c24545e5ffecb9a659c229253d4111d87e1", @@ -531,6 +531,25 @@ "Aurora_Testnet": "", "Moonriver": "0xe6a991ffa8cfe62b0bf6bf72959a3d4f11b2e0f5" }, + "BNB_ADDRESS": { + "Mainnet": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "", + "Moonriver": "0x2bF9b864cdc97b08B6D79ad4663e71B8aB65c45c" + }, "IGG_ADDRESS": { "Mainnet": "", "Ropsten": "", @@ -911,6 +930,44 @@ "Aurora_Testnet": "", "Moonriver": "" }, + "FTM_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "", + "Moonriver": "0xaD12daB5959f30b9fF3c2d6709f53C335dC39908" + }, + "FRAX_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Aurora": "", + "Aurora_Testnet": "", + "Moonriver": "0x1A93B23281CC1CDE4C4741353F3064709A16197" + }, "CEURO_ADDRESS": { "Mainnet": "", "Ropsten": "", @@ -947,7 +1004,7 @@ "Fantom": "", "Aurora": "", "Aurora_Testnet": "", - "Moonriver": "" + "Moonriver": "0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C" }, "NATIVE_TOKEN_ADDRESS": { "Mainnet": "0x0000000000000000000000000000000000000000", From c105acaebe0473e6ac1e9a9f681f75080068fcfe Mon Sep 17 00:00:00 2001 From: codingsh Date: Tue, 8 Feb 2022 09:37:17 +0100 Subject: [PATCH 7/9] feat(moonriver): enable moonriver support --- packages/mask/src/components/shared/ApplicationBoard.tsx | 1 + packages/mask/src/plugins/ITO/base.ts | 1 + packages/mask/src/plugins/RedPacket/base.ts | 1 + packages/mask/src/plugins/Trader/base.ts | 1 + 4 files changed, 4 insertions(+) diff --git a/packages/mask/src/components/shared/ApplicationBoard.tsx b/packages/mask/src/components/shared/ApplicationBoard.tsx index b82ac8f50076..be7c1996b7cc 100644 --- a/packages/mask/src/components/shared/ApplicationBoard.tsx +++ b/packages/mask/src/components/shared/ApplicationBoard.tsx @@ -96,6 +96,7 @@ const SUPPORTED_CHAIN_ID_LIST = [ ChainId.Fantom, ChainId.Aurora, ChainId.Avalanche, + ChainId.Moonriver, ] export interface MaskAppEntry { diff --git a/packages/mask/src/plugins/ITO/base.ts b/packages/mask/src/plugins/ITO/base.ts index eceee4b13b46..1c1d6d658f9e 100644 --- a/packages/mask/src/plugins/ITO/base.ts +++ b/packages/mask/src/plugins/ITO/base.ts @@ -25,6 +25,7 @@ export const base: Plugin.Shared.Definition = { ChainId.Aurora, ChainId.Avalanche, ChainId.Fantom, + ChainId.Moonriver, ], }, }, diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index 5be12ed3fc1b..ea8f142d7175 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -26,6 +26,7 @@ export const base: Plugin.Shared.Definition = { ChainId.Fantom, ChainId.Avalanche, ChainId.Aurora, + ChainId.Moonriver, ], }, }, diff --git a/packages/mask/src/plugins/Trader/base.ts b/packages/mask/src/plugins/Trader/base.ts index 2c575a7ae707..504778eca119 100644 --- a/packages/mask/src/plugins/Trader/base.ts +++ b/packages/mask/src/plugins/Trader/base.ts @@ -23,6 +23,7 @@ export const base: Plugin.Shared.Definition = { ChainId.Aurora, ChainId.Avalanche, ChainId.Fantom, + ChainId.Moonriver, ], }, }, From 16d7b447050e7224ceb226e388aa1a9acb6afe43 Mon Sep 17 00:00:00 2001 From: codingsh Date: Tue, 8 Feb 2022 13:35:13 +0100 Subject: [PATCH 8/9] feat(moonriver): enable moonriver support --- cspell.json | 4 ++ packages/mask/src/plugins/ITO/base.ts | 1 - packages/mask/src/plugins/RedPacket/base.ts | 1 - .../SNSAdaptor/trader/SelectProviderPanel.tsx | 52 ------------------- pnpm-lock.yaml | 25 +++++++-- 5 files changed, 24 insertions(+), 59 deletions(-) delete mode 100644 packages/mask/src/plugins/Trader/SNSAdaptor/trader/SelectProviderPanel.tsx diff --git a/cspell.json b/cspell.json index 263e8abac64c..9b2bfe1dc8fe 100644 --- a/cspell.json +++ b/cspell.json @@ -44,6 +44,7 @@ "caip", "canonify", "cashtag", + "CBTC", "celo", "checksummed", "choudhary", @@ -142,6 +143,8 @@ "monofont", "monospace", "mooniswap", + "Moonriver", + "MOVR", "msgpack", "mska", "mskb", @@ -202,6 +205,7 @@ "signup", "sint", "solana", + "solarbeam", "sollet", "steelblue", "steganographic", diff --git a/packages/mask/src/plugins/ITO/base.ts b/packages/mask/src/plugins/ITO/base.ts index 1c1d6d658f9e..eceee4b13b46 100644 --- a/packages/mask/src/plugins/ITO/base.ts +++ b/packages/mask/src/plugins/ITO/base.ts @@ -25,7 +25,6 @@ export const base: Plugin.Shared.Definition = { ChainId.Aurora, ChainId.Avalanche, ChainId.Fantom, - ChainId.Moonriver, ], }, }, diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index ea8f142d7175..5be12ed3fc1b 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -26,7 +26,6 @@ export const base: Plugin.Shared.Definition = { ChainId.Fantom, ChainId.Avalanche, ChainId.Aurora, - ChainId.Moonriver, ], }, }, diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/SelectProviderPanel.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/SelectProviderPanel.tsx deleted file mode 100644 index e0096d703b44..000000000000 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/SelectProviderPanel.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { Chip } from '@mui/material' -import { makeStyles } from '@masknet/theme' -import { getEnumAsArray } from '@dimensiondev/kit' -import { TradeProvider } from '@masknet/public-api' -import { resolveTradeProviderName } from '../../pipes' -import { TradeProviderIcon } from './TradeProviderIcon' -import { Flags } from '../../../../../shared' - -const useStyles = makeStyles()((theme) => { - return { - root: {}, - chip: { - marginRight: theme.spacing(1), - }, - chipRoot: { - paddingLeft: theme.spacing(1), - }, - chipLabel: { - paddingLeft: theme.spacing(0.5), - }, - } -}) - -export interface SelectProviderPanelProps { - value: TradeProvider - onChange(value: TradeProvider): void -} - -export function SelectProviderPanel(props: SelectProviderPanelProps) { - const { value, onChange } = props - - const { classes } = useStyles() - return ( -
- {getEnumAsArray(TradeProvider).map((x) => { - if (x.value === TradeProvider.ZRX && !Flags.trader_zrx_enabled) return null - return ( - } - clickable - key={x.value} - label={resolveTradeProviderName(x.value)} - onClick={() => onChange(x.value)} - /> - ) - })} -
- ) -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88642a03e5b4..1745565cbcb5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1197,6 +1197,21 @@ packages: web3: 0.20.7 dev: false + /@0xproject/abi-gen/0.1.2: + resolution: {integrity: sha512-vwArB0lTTuInOWTh5KeeNeJTswrGJrHebau8sdrG8TBNiVwAAehthfWflieMRKK54D11Z+7TO8fupCMa7BaoxA==} + hasBin: true + dependencies: + '@0xproject/utils': 0.2.4 + chalk: 2.4.2 + glob: 7.2.0 + handlebars: 4.7.7 + lodash: 4.17.21 + mkdirp: 0.5.5 + to-snake-case: 1.0.0 + web3: 0.20.7 + yargs: 10.1.2 + dev: false + /@0xproject/abi-gen/0.1.7: resolution: {integrity: sha512-mFFprGLVYHl9sD6PGwcAwTqncueqfau6wPGwJV7mQ/Vj3thMo17BY8xzpeSIkXjrdo6lZHlzyVUVrEA1krfjSw==} hasBin: true @@ -18727,7 +18742,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.20.0 + resolve: 1.22.0 semver: 5.7.1 validate-npm-package-license: 3.0.4 @@ -25303,12 +25318,12 @@ packages: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true - github.com/ProjectOpenSea/wyvern-js/1e69699e8ba39edcb177b503caeaaefbf0c31385: - resolution: {tarball: https://codeload.github.com/ProjectOpenSea/wyvern-js/tar.gz/1e69699e8ba39edcb177b503caeaaefbf0c31385} + github.com/ProjectOpenSea/wyvern-js/6f85f1b42f0962d2cc8e97b7e7f680865e3f26c1: + resolution: {tarball: https://codeload.github.com/ProjectOpenSea/wyvern-js/tar.gz/6f85f1b42f0962d2cc8e97b7e7f680865e3f26c1} name: wyvern-js version: 3.2.0 dependencies: - '@0xproject/abi-gen': 0.1.7 + '@0xproject/abi-gen': 0.1.2 '@0xproject/assert': 0.0.11 '@0xproject/json-schemas': 0.7.24 '@0xproject/utils': 0.1.3 @@ -25365,7 +25380,7 @@ packages: bignumber.js: 6.0.0 typed-promisify: 0.4.0 web3-provider-engine: 13.8.0 - wyvern-js: github.com/ProjectOpenSea/wyvern-js/1e69699e8ba39edcb177b503caeaaefbf0c31385 + wyvern-js: github.com/ProjectOpenSea/wyvern-js/6f85f1b42f0962d2cc8e97b7e7f680865e3f26c1 transitivePeerDependencies: - debug dev: false From bfc273bdf7c24dc20758b0f4f1b729be577a456c Mon Sep 17 00:00:00 2001 From: codingsh Date: Tue, 8 Feb 2022 14:38:56 +0100 Subject: [PATCH 9/9] chore(moonriver): update multicall --- packages/web3-constants/evm/ethereum.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-constants/evm/ethereum.json b/packages/web3-constants/evm/ethereum.json index 62e1ab2b0ab6..76eb6aebefea 100644 --- a/packages/web3-constants/evm/ethereum.json +++ b/packages/web3-constants/evm/ethereum.json @@ -39,7 +39,7 @@ "Fantom": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c", "Aurora": "0x6cc1b1058F9153358278C35E0b2D382f1585854B", "Aurora_Testnet": "", - "Moonriver": "0x43D002a2B468F048028Ea9C2D3eD4705a94e68Ae" + "Moonriver": "0x6cc1b1058F9153358278C35E0b2D382f1585854B" }, "ENS_REGISTRAR_ADDRESS": { "Mainnet": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",