mirror of https://github.com/certusone/oyster.git
fix: build errors
This commit is contained in:
parent
9b74f8ba75
commit
99f6d53aad
|
@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
|
|||
import { contexts, utils, ParsedAccount, NumericInput, TokenIcon, TokenDisplay } from '@oyster/common';
|
||||
import { Card, Select } from 'antd';
|
||||
import './style.less';
|
||||
import { TokenList, TokenInfo } from '@uniswap/token-lists';
|
||||
import { useEthereum } from '../../contexts';
|
||||
const { getTokenName } = utils;
|
||||
const { cache } = contexts.Accounts;
|
||||
const { useConnectionConfig } = contexts.Connection;
|
||||
|
@ -18,17 +18,7 @@ export function EthereumInput(props: {
|
|||
}) {
|
||||
const [balance, setBalance] = useState<number>(0);
|
||||
const [lastAmount, setLastAmount] = useState<string>('');
|
||||
const [tokens, setTokens] = useState<TokenInfo[]>([]);
|
||||
|
||||
useEffect(() => {
|
||||
(async () => {
|
||||
const listResponse = await fetch('https://tokens.coingecko.com/uniswap/all.json');
|
||||
const tokenList: TokenList = await listResponse.json();
|
||||
|
||||
setTokens(tokenList.tokens);
|
||||
})();
|
||||
}, [setTokens])
|
||||
|
||||
const { tokens } = useEthereum();
|
||||
|
||||
const renderReserveAccounts = tokens.map((token) => {
|
||||
const mint = token.address;
|
||||
|
|
|
@ -10,6 +10,7 @@ import Authereum from "authereum";
|
|||
import { Bitski } from "bitski";
|
||||
import { useConnectionConfig, useWallet } from "@oyster/common";
|
||||
import { ENV } from "@solana/spl-token-registry";
|
||||
import { TokenList, TokenInfo } from '@uniswap/token-lists';
|
||||
|
||||
const providerOptions = {
|
||||
walletconnect: {
|
||||
|
@ -41,17 +42,43 @@ const providerOptions = {
|
|||
|
||||
export interface EthereumContextState {
|
||||
connect: () => Promise<void>;
|
||||
web3?: Web3
|
||||
web3?: Web3;
|
||||
tokens: TokenInfo[];
|
||||
tokenMap: Map<string, TokenInfo>;
|
||||
}
|
||||
|
||||
export const EthereumContext = createContext<EthereumContextState>({
|
||||
connect: async () => { },
|
||||
tokens: [],
|
||||
tokenMap: new Map<string, TokenInfo>(),
|
||||
});
|
||||
|
||||
export const EthereumProvider: FunctionComponent = ({children}) => {
|
||||
const [web3, setWeb3] = useState<Web3>();
|
||||
const { env } = useConnectionConfig();
|
||||
const { connected } = useWallet();
|
||||
const [tokens, setTokens] = useState<{
|
||||
map: Map<string, TokenInfo>,
|
||||
list: TokenInfo[],
|
||||
}>({
|
||||
map: new Map<string, TokenInfo>(),
|
||||
list: [],
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
(async () => {
|
||||
const listResponse = await fetch('https://tokens.coingecko.com/uniswap/all.json');
|
||||
const tokenList: TokenList = await listResponse.json();
|
||||
|
||||
setTokens({
|
||||
map: tokenList.tokens.reduce((acc, val) => {
|
||||
acc.set(val.address, val);
|
||||
return acc;
|
||||
}, new Map<string, TokenInfo>()),
|
||||
list: tokenList.tokens,
|
||||
});
|
||||
})();
|
||||
}, [setTokens]);
|
||||
|
||||
const connect = useCallback(async () => {
|
||||
const web3Modal = new Web3Modal({
|
||||
|
@ -96,7 +123,7 @@ export const EthereumProvider: FunctionComponent = ({children}) => {
|
|||
}, [connect, connected])
|
||||
|
||||
return (
|
||||
<EthereumContext.Provider value={{ web3, connect }}>
|
||||
<EthereumContext.Provider value={{ web3, connect, tokens: tokens.list, tokenMap: tokens.map }}>
|
||||
{children}
|
||||
</EthereumContext.Provider>
|
||||
);
|
||||
|
|
|
@ -8,7 +8,8 @@ import React, {
|
|||
import { MintInfo } from "@solana/spl-token";
|
||||
import { useHistory, useLocation } from "react-router-dom";
|
||||
import bs58 from "bs58";
|
||||
import { KnownToken, TokenAccount } from "@oyster/common";
|
||||
import { TokenAccount } from "@oyster/common";
|
||||
import { KnownToken } from '@solana/spl-token-registry';
|
||||
import { useConnection, useConnectionConfig, useAccountByMint, useMint, getTokenName, getTokenIcon, convert } from "@oyster/common";
|
||||
|
||||
export interface TokenContextState {
|
||||
|
|
|
@ -10,7 +10,7 @@ import './itemStyle.less';
|
|||
import { Totals } from '../../models/totals';
|
||||
import { Link } from 'react-router-dom';
|
||||
import {useLockedFundsAccounts} from "../../hooks/useLockedFundsAccounts";
|
||||
import {EtherscanLink} from "@oyster/common/dist/lib/components/EtherscanLink";
|
||||
import { EtherscanLink } from "@oyster/common";
|
||||
import {ASSET_CHAIN} from "../../utils/assets";
|
||||
const { fromLamports, getTokenName, wadToLamports } = utils;
|
||||
const { cache } = contexts.Accounts;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import React from 'react';
|
||||
import { useAccountByMint, useMint } from '../../contexts/accounts';
|
||||
import { useMint } from '../../contexts/accounts';
|
||||
import { useAccountByMint } from '../../hooks';
|
||||
import { TokenIcon } from '../TokenIcon';
|
||||
|
||||
export const TokenDisplay = (props: {
|
||||
|
|
|
@ -10,3 +10,4 @@ export { ActionConfirmation } from './ActionConfirmation/index';
|
|||
export { BackButton } from './BackButton/index';
|
||||
export { TokenIcon } from './TokenIcon';
|
||||
export { TokenDisplay } from './TokenDisplay';
|
||||
export { EtherscanLink } from './EtherscanLink';
|
||||
|
|
|
@ -501,17 +501,6 @@ export function useMint(key?: string | PublicKey) {
|
|||
return mint;
|
||||
}
|
||||
|
||||
export const useAccountByMint = (mint: string) => {
|
||||
const { userAccounts } = useUserAccounts();
|
||||
const index = userAccounts.findIndex((acc) => acc.info.mint.toBase58() === mint);
|
||||
|
||||
if (index !== -1) {
|
||||
return userAccounts[index];
|
||||
}
|
||||
|
||||
return;
|
||||
};
|
||||
|
||||
export function useAccount(pubKey?: PublicKey) {
|
||||
const connection = useConnection();
|
||||
const [account, setAccount] = useState<TokenAccount>();
|
||||
|
|
|
@ -14,4 +14,4 @@ export * as walletAdapters from './wallet-adapters';
|
|||
|
||||
export { TokenAccount } from './models';
|
||||
export { ParsedAccount, ParsedAccountBase } from './contexts';
|
||||
export { KnownTokenMap, EventEmitter, KnownToken, Layout } from './utils';
|
||||
export { KnownTokenMap, EventEmitter, Layout } from './utils';
|
||||
|
|
|
@ -2,7 +2,9 @@ import { PublicKey } from '@solana/web3.js';
|
|||
import { useEffect, useMemo, useState } from 'react';
|
||||
import { LendingReserve, LendingReserveParser } from '../models/lending';
|
||||
|
||||
import { contexts, utils, ParsedAccount, KnownToken } from '@oyster/common';
|
||||
import { contexts, utils, ParsedAccount } from '@oyster/common';
|
||||
import { KnownToken } from '@solana/spl-token-registry';
|
||||
|
||||
const { cache } = contexts.Accounts;
|
||||
const { useConnectionConfig } = contexts.Connection;
|
||||
const { getTokenByName } = utils;
|
||||
|
|
Loading…
Reference in New Issue