fix conflicts
This commit is contained in:
commit
8b7fff5727
|
@ -24,7 +24,10 @@ class ErrorBoundary extends React.Component<
|
|||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
content: `UI ERROR: ${error} : ${errorInfo?.componentStack}`,
|
||||
content: `UI ERROR: ${error} : ${errorInfo?.componentStack}`.slice(
|
||||
0,
|
||||
1999
|
||||
),
|
||||
}),
|
||||
})
|
||||
} catch (err) {
|
||||
|
@ -43,7 +46,7 @@ class ErrorBoundary extends React.Component<
|
|||
<button className="mt-2" onClick={() => location.reload()}>
|
||||
Refresh and try again
|
||||
</button>
|
||||
<div className="mt-4 px-4">{this.state.error.stack}</div>
|
||||
<div className="mt-4 px-8 mx-8">{this.state.error.stack}</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -619,7 +619,7 @@ const JupiterForm: FunctionComponent = () => {
|
|||
onClick={() => setShowRoutesModal(true)}
|
||||
>
|
||||
{t('swap:routes-found', {
|
||||
numberOfRoutes: routes?.length - 1,
|
||||
numberOfRoutes: routes?.length,
|
||||
})}
|
||||
</Button>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const Loading = ({ className = '' }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className} animate-spin h-5 w-5`}
|
||||
className={`${className} animate-spin-fast h-5 w-5`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
|
|
|
@ -103,7 +103,7 @@ const Notification = ({ notification }: { notification: Notification }) => {
|
|||
hideNotification()
|
||||
}
|
||||
},
|
||||
parsedTitle || type === 'confirm' || type === 'error' ? 30000 : 10000
|
||||
parsedTitle || type === 'confirm' || type === 'error' ? 30000 : 8000
|
||||
)
|
||||
|
||||
return () => {
|
||||
|
@ -129,7 +129,7 @@ const Notification = ({ notification }: { notification: Notification }) => {
|
|||
<XCircleIcon className={`text-th-red h-7 w-7 mr-1`} />
|
||||
)}
|
||||
{type === 'confirm' && (
|
||||
<Loading className={`text-th-fgd-3 h-7 w-7 mr-1`} />
|
||||
<Loading className="text-th-fgd-3 h-7 w-7 mr-1" />
|
||||
)}
|
||||
</div>
|
||||
<div className={`ml-2 flex-1`}>
|
||||
|
|
|
@ -54,12 +54,11 @@ const PositionsTable = () => {
|
|||
const handleSettleAll = async () => {
|
||||
setSettling(true)
|
||||
const mangoAccounts = await mangoClient.getAllMangoAccounts(mangoGroup)
|
||||
await Promise.all(
|
||||
unsettledPositions.map((p) =>
|
||||
settlePnl(p.perpMarket, p.perpAccount, t, mangoAccounts)
|
||||
)
|
||||
)
|
||||
await reloadMangoAccount()
|
||||
for (const p of unsettledPositions) {
|
||||
await settlePnl(p.perpMarket, p.perpAccount, t, mangoAccounts)
|
||||
}
|
||||
|
||||
reloadMangoAccount()
|
||||
setSettling(false)
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ const TradePageGrid = () => {
|
|||
|
||||
const [orderbookDepth, setOrderbookDepth] = useState(8)
|
||||
const [currentBreakpoint, setCurrentBreakpoint] = useState(null)
|
||||
const [mounted, setMounted] = useState(false)
|
||||
// const [mounted, setMounted] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
const adjustOrderBook = (layouts, breakpoint?: string | null) => {
|
||||
|
@ -117,8 +117,8 @@ const TradePageGrid = () => {
|
|||
adjustOrderBook(savedLayouts, currentBreakpoint)
|
||||
}, [currentBreakpoint, savedLayouts])
|
||||
|
||||
useEffect(() => setMounted(true), [])
|
||||
if (!mounted) return null
|
||||
// useEffect(() => setMounted(true), [])
|
||||
// if (!mounted) return null
|
||||
|
||||
return !isMobile ? (
|
||||
<>
|
||||
|
|
|
@ -354,7 +354,7 @@ const AccountFunding = () => {
|
|||
data={chartData}
|
||||
labelFormat={(x) =>
|
||||
x &&
|
||||
`${x.toLocaleString(undefined, {
|
||||
`${x?.toLocaleString(undefined, {
|
||||
maximumFractionDigits: 6,
|
||||
})} USDC`
|
||||
}
|
||||
|
|
|
@ -534,7 +534,7 @@ const AccountInterest = () => {
|
|||
xAxis="time"
|
||||
yAxis="interest"
|
||||
data={chartData}
|
||||
labelFormat={(x) => x && x.toFixed(token.decimals + 1)}
|
||||
labelFormat={(x) => x && x?.toFixed(token.decimals + 1)}
|
||||
tickFormat={handleDustTicks}
|
||||
type="bar"
|
||||
yAxisWidth={increaseYAxisWidth ? 70 : 50}
|
||||
|
@ -554,8 +554,8 @@ const AccountInterest = () => {
|
|||
data={chartData}
|
||||
labelFormat={(x) =>
|
||||
x && x < 0
|
||||
? `-$${Math.abs(x).toFixed(token.decimals + 1)}`
|
||||
: `$${x.toFixed(token.decimals + 1)}`
|
||||
? `-$${Math.abs(x)?.toFixed(token.decimals + 1)}`
|
||||
: `$${x?.toFixed(token.decimals + 1)}`
|
||||
}
|
||||
tickFormat={handleUsdDustTicks}
|
||||
type="bar"
|
||||
|
|
|
@ -729,10 +729,7 @@ export default function AdvancedTradeForm({
|
|||
</ElementTitle>
|
||||
{insufficientSol ? (
|
||||
<div className="pb-3 text-left">
|
||||
<InlineNotification
|
||||
desc="Add more SOL to your wallet to avoid failed transactions."
|
||||
type="warning"
|
||||
/>
|
||||
<InlineNotification desc={t('add-more-sol')} type="warning" />
|
||||
</div>
|
||||
) : null}
|
||||
<OrderSideTabs onChange={onChangeSide} side={side} />
|
||||
|
|
|
@ -106,11 +106,12 @@ const usePerpPositions = () => {
|
|||
: []
|
||||
|
||||
const openPositions = perpAccounts.filter(
|
||||
({ perpAccount }) => !perpAccount.basePosition.eq(new BN(0))
|
||||
({ perpAccount }) =>
|
||||
perpAccount?.basePosition && !perpAccount.basePosition.eq(new BN(0))
|
||||
)
|
||||
const unsettledPositions = perpAccounts.filter(
|
||||
({ perpAccount, unsettledPnl }) =>
|
||||
perpAccount.basePosition.eq(new BN(0)) && unsettledPnl != 0
|
||||
perpAccount?.basePosition?.eq(new BN(0)) && unsettledPnl != 0
|
||||
)
|
||||
|
||||
return { openPositions, unsettledPositions }
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"devnet": "NEXT_PUBLIC_CLUSTER=devnet NEXT_PUBLIC_ENDPOINT=https://mango.devnet.rpcpool.com/ NEXT_PUBLIC_GROUP=devnet.2 next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"type-check": "tsc --pretty --noEmit",
|
||||
|
@ -26,7 +27,7 @@
|
|||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@blockworks-foundation/mango-client": "^3.2.17",
|
||||
"@blockworks-foundation/mango-client": "latest",
|
||||
"@headlessui/react": "^1.2.0",
|
||||
"@heroicons/react": "^1.0.0",
|
||||
"@jup-ag/react-hook": "latest",
|
||||
|
|
|
@ -75,14 +75,6 @@ export default function Account() {
|
|||
setShowNameModal(false)
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
// @ts-ignore
|
||||
if (window.solana) {
|
||||
// @ts-ignore
|
||||
window.solana.connect({ onlyIfTrusted: true })
|
||||
}
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
async function loadUnownedMangoAccount() {
|
||||
try {
|
||||
|
|
|
@ -42,14 +42,6 @@ const PerpMarket = () => {
|
|||
const { width } = useViewport()
|
||||
const hideTips = width ? width < breakpoints.md : false
|
||||
|
||||
useEffect(() => {
|
||||
// @ts-ignore
|
||||
if (window.solana) {
|
||||
// @ts-ignore
|
||||
window.solana.connect({ onlyIfTrusted: true })
|
||||
}
|
||||
}, [marketConfig])
|
||||
|
||||
useEffect(() => {
|
||||
const name = decodeURIComponent(router.asPath).split('name=')[1]
|
||||
const mangoGroup = useMangoStore.getState().selectedMangoGroup.current
|
||||
|
|
|
@ -17,27 +17,19 @@ import { zeroKey } from '@blockworks-foundation/mango-client'
|
|||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common'])),
|
||||
...(await serverSideTranslations(locale, ['common', 'swap'])),
|
||||
// Will be passed to the page component as props
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export default function Swap() {
|
||||
// const { t } = useTranslation('common')
|
||||
// const { t } = useTranslation(['common', 'swap'])
|
||||
const connection = useMangoStore(connectionSelector)
|
||||
const connected = useMangoStore(walletConnectedSelector)
|
||||
const wallet = useMangoStore(walletSelector)
|
||||
const actions = useMangoStore(actionsSelector)
|
||||
|
||||
useEffect(() => {
|
||||
// @ts-ignore
|
||||
if (window.solana) {
|
||||
// @ts-ignore
|
||||
window.solana.connect({ onlyIfTrusted: true })
|
||||
}
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
if (connected) {
|
||||
actions.fetchWalletTokens()
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"account-risk": "Account Risk",
|
||||
"account-value": "Account Value",
|
||||
"accounts": "Accounts",
|
||||
"add-more-sol": "Add more SOL to your wallet to avoid failed transactions.",
|
||||
"add-name": "Add Name",
|
||||
"all-assets": "All Assets",
|
||||
"amount": "Amount",
|
||||
|
@ -62,8 +63,10 @@
|
|||
"collateral-available-tip-desc": "The collateral value that can be used to take on leverage. Assets carry different collateral weights depending on the risk they present to the platform.",
|
||||
"collateral-available-tip-title": "Collateral Available",
|
||||
"condition": "Condition",
|
||||
"confirm": "Confirm",
|
||||
"confirm-deposit": "Confirm Deposit",
|
||||
"confirm-withdraw": "Confirm Withdraw",
|
||||
"confirming-transaction": "Confirming Transaction",
|
||||
"connect": "Connect",
|
||||
"connect-view": "Connect a wallet to view your account",
|
||||
"connect-wallet": "Connect Wallet",
|
||||
|
@ -113,8 +116,8 @@
|
|||
"estimated-liq-price": "Est. Liq. Price",
|
||||
"explorer": "Explorer",
|
||||
"export-data": "Export CSV",
|
||||
"export-data-success": "CSV exported successfully",
|
||||
"export-data-empty": "No data to export",
|
||||
"export-data-success": "CSV exported successfully",
|
||||
"fee": "Fee",
|
||||
"fee-discount": "Fee Discount",
|
||||
"first-deposit-desc": "There is a one-time cost of 0.035 SOL when you make your first deposit. This covers the rent on the Solana Blockchain for your account.",
|
||||
|
@ -163,8 +166,8 @@
|
|||
"limit": "Limit",
|
||||
"limit-order": "Limit",
|
||||
"limit-price": "Limit Price",
|
||||
"liquidations": "Liquidations",
|
||||
"liquidation-history": "Liquidation History",
|
||||
"liquidations": "Liquidations",
|
||||
"liquidity": "Liquidity",
|
||||
"liquidity-mining": "Liquidity Mining",
|
||||
"long": "long",
|
||||
|
@ -288,6 +291,8 @@
|
|||
"settle-success": "Successfully settled funds",
|
||||
"short": "short",
|
||||
"show-all": "Show all in Nav",
|
||||
"show-less": "Show less",
|
||||
"show-more": "Show more",
|
||||
"show-tips": "Show Tips",
|
||||
"show-zero": "Show zero balances",
|
||||
"side": "Side",
|
||||
|
@ -299,9 +304,10 @@
|
|||
"stop-limit": "Stop Limit",
|
||||
"stop-loss": "Stop Loss",
|
||||
"stop-price": "Stop Price",
|
||||
"successfully-placed": "Successfully sent order",
|
||||
"successfully-placed": "Successfully placed order",
|
||||
"supported-assets": "Please fund wallet with one of the supported assets.",
|
||||
"swap": "Swap",
|
||||
"swap-successful": "Swap Successful",
|
||||
"take-profit": "Take Profit",
|
||||
"take-profit-limit": "Take Profit Limit",
|
||||
"taker-fee": "Taker Fee",
|
||||
|
@ -345,8 +351,8 @@
|
|||
"totals": "Totals",
|
||||
"trade": "Trade",
|
||||
"trade-history": "Trade History",
|
||||
"trades-history": "Trade History",
|
||||
"trades": "Trades",
|
||||
"trades-history": "Trade History",
|
||||
"transaction-sent": "Transaction sent",
|
||||
"trigger-price": "Trigger Price",
|
||||
"try-again": "Please try again",
|
||||
|
@ -357,8 +363,8 @@
|
|||
"unsettled-balances": "Unsettled Balances",
|
||||
"unsettled-positions": "Unsettled Positions",
|
||||
"use-explorer-one": "Use the ",
|
||||
"use-explorer-two": "Explorer ",
|
||||
"use-explorer-three": "to verify any delayed transactions.",
|
||||
"use-explorer-two": "Explorer ",
|
||||
"utilization": "Utilization",
|
||||
"v3-new": "V3 is a new and separate program from V2. You can access your V2 account in the 'More' section of the top bar or by using this link:",
|
||||
"v3-unaudited": "The V3 protocol is in public beta. This is unaudited software, use it at your own risk.",
|
||||
|
@ -366,13 +372,14 @@
|
|||
"value": "Value",
|
||||
"view-all-trades": "View all trades in the Account page",
|
||||
"view-transaction": "View Transaction",
|
||||
"wallet": "Wallet",
|
||||
"wallet-connected": "Wallet connected",
|
||||
"wallet-disconnected": "Disconnected from wallet",
|
||||
"withdraw": "Withdraw",
|
||||
"withdraw-error": "Could not perform withdraw",
|
||||
"withdraw-funds": "Withdraw Funds",
|
||||
"withdraw-success": "Withdraw successful",
|
||||
"withdraw-history": "Withdrawal History",
|
||||
"withdraw-success": "Withdraw successful",
|
||||
"withdrawals": "Withdrawals",
|
||||
"you-must-leave-enough-sol": "You must leave enough SOL in your wallet to pay for the transaction",
|
||||
"your-account": "Your Account",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"account-risk": "Riesgo de cuenta",
|
||||
"account-value": "Valor de la cuenta",
|
||||
"accounts": "Cuentas",
|
||||
"add-more-sol": "Add more SOL to your wallet to avoid failed transactions.",
|
||||
"add-name": "Añadir nombre",
|
||||
"all-assets": "Todos los activos",
|
||||
"amount": "Monto",
|
||||
|
@ -62,8 +63,10 @@
|
|||
"collateral-available-tip-desc": "El valor de la garantía que se puede utilizar para tomar apalancamiento. Los activos tienen diferentes pesos de garantía según el riesgo que presentan para la plataforma.",
|
||||
"collateral-available-tip-title": "Garantía disponible",
|
||||
"condition": "Condición",
|
||||
"confirm": "Confirm",
|
||||
"confirm-deposit": "Confirmar depósito",
|
||||
"confirm-withdraw": "Confirmar retiro",
|
||||
"confirming-transaction": "Confirming Transaction",
|
||||
"connect": "Conectar",
|
||||
"connect-view": "Conecte una billetera para ver su cuenta",
|
||||
"connect-wallet": "Conecte una billetera",
|
||||
|
@ -161,8 +164,8 @@
|
|||
"light": "Ligera",
|
||||
"limit": "Limite",
|
||||
"limit-order": "orden de límite",
|
||||
"liquidations": "Liquidaciones",
|
||||
"liquidation-history": "Historial de liquidación",
|
||||
"liquidations": "Liquidaciones",
|
||||
"liquidity": "Liquidez",
|
||||
"liquidity-mining": "Liquidity Mining",
|
||||
"long": "larga",
|
||||
|
@ -286,6 +289,8 @@
|
|||
"settle-success": "Fondos liquidados con éxito",
|
||||
"short": "Vender",
|
||||
"show-all": "Mostrar todo en Nav",
|
||||
"show-less": "Show less",
|
||||
"show-more": "Show more",
|
||||
"show-tips": "Mostrar sugerencias",
|
||||
"show-zero": "Mostrar saldos cero",
|
||||
"side": "Lado",
|
||||
|
@ -299,6 +304,7 @@
|
|||
"stop-price": "Precio de parada",
|
||||
"successfully-placed": "Comercio colocado con éxito",
|
||||
"supported-assets": "Financie la billetera con uno de los activos admitidos.",
|
||||
"swap": "Swap",
|
||||
"take-profit": "Tomar ganancias",
|
||||
"take-profit-limit": "Tomar el límite de ganancias",
|
||||
"taker-fee": "Orden mercado",
|
||||
|
@ -342,8 +348,8 @@
|
|||
"totals": "Totales",
|
||||
"trade": "Comercio",
|
||||
"trade-history": "Historial comercial",
|
||||
"trades-history": "Historial comercial",
|
||||
"trades": "Trades",
|
||||
"trades-history": "Historial comercial",
|
||||
"transaction-sent": "Transacción enviada",
|
||||
"trigger-price": "Precio de activación",
|
||||
"try-again": "Inténtalo de nuevo",
|
||||
|
@ -354,8 +360,8 @@
|
|||
"unsettled-balances": "Saldos pendientes",
|
||||
"unsettled-positions": "Posiciones sin saldar",
|
||||
"use-explorer-one": "Use the ",
|
||||
"use-explorer-two": "Explorer ",
|
||||
"use-explorer-three": "to verify any delayed transactions.",
|
||||
"use-explorer-two": "Explorer ",
|
||||
"utilization": "Utilización",
|
||||
"v3-new": "V3 es un programa nuevo e independiente de V2. Puede acceder a su cuenta V2 en el 'More' sección de la barra superior o usando este enlace:",
|
||||
"v3-unaudited": "El protocolo V3 está en versión beta pública. Este es un software no auditado, utilícelo bajo su propio riesgo.",
|
||||
|
@ -363,13 +369,14 @@
|
|||
"value": "Valor",
|
||||
"view-all-trades": "Ver todas las operaciones en la página de la cuenta",
|
||||
"view-transaction": "View Transaction",
|
||||
"wallet": "Wallet",
|
||||
"wallet-connected": "Wallet connected",
|
||||
"wallet-disconnected": "Disconnected from wallet",
|
||||
"withdraw": "Retirar",
|
||||
"withdraw-error": "No se pudo realizar el retiro",
|
||||
"withdraw-funds": "Retirar Fondos",
|
||||
"withdraw-success": "Retirarse exitoso",
|
||||
"withdraw-history": "Historial de retiros",
|
||||
"withdraw-success": "Retirarse exitoso",
|
||||
"withdrawals": "Retiros",
|
||||
"you-must-leave-enough-sol": "You must leave enough SOL in your wallet to pay for the transaction",
|
||||
"your-account": "Su cuenta",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"account-risk": "帐户风险度",
|
||||
"account-value": "帐户价值",
|
||||
"accounts": "帐户",
|
||||
"add-more-sol": "为了避免交易出错请给被连结的钱包多存入一点SOL。",
|
||||
"add-name": "加标签",
|
||||
"all-assets": "所有资产",
|
||||
"amount": "数量",
|
||||
|
@ -62,8 +63,10 @@
|
|||
"collateral-available-tip-desc": "可用于杠杆交易的质押品价值。资产具有不同的质押权重(根据资产给平台带来的风险)。",
|
||||
"collateral-available-tip-title": "可用质押品",
|
||||
"condition": "状态",
|
||||
"confirm": "确认",
|
||||
"confirm-deposit": "确认存款",
|
||||
"confirm-withdraw": "确认取款",
|
||||
"confirming-transaction": "正在确认交易...",
|
||||
"connect": "连结",
|
||||
"connect-view": "连结钱包而看帐户状态",
|
||||
"connect-wallet": "连结钱包",
|
||||
|
@ -161,8 +164,8 @@
|
|||
"light": "明亮",
|
||||
"limit": "限价",
|
||||
"limit-order": "限价",
|
||||
"liquidations": "清算历史",
|
||||
"liquidation-history": "清算历史",
|
||||
"liquidations": "清算历史",
|
||||
"liquidity": "流动性",
|
||||
"liquidity-mining": "流动性挖矿",
|
||||
"long": "做多",
|
||||
|
@ -286,6 +289,8 @@
|
|||
"settle-success": "已结清好",
|
||||
"short": "做空",
|
||||
"show-all": "在导航栏中显示全部",
|
||||
"show-less": "显示较少",
|
||||
"show-more": "显示更多",
|
||||
"show-tips": "显示提示",
|
||||
"show-zero": "显示零余额",
|
||||
"side": "方向",
|
||||
|
@ -299,6 +304,7 @@
|
|||
"stop-price": "止损价格",
|
||||
"successfully-placed": "已下单了",
|
||||
"supported-assets": "请给钱包存入已被支持的币种。",
|
||||
"swap": "换币",
|
||||
"take-profit": "止盈",
|
||||
"take-profit-limit": "限价止盈",
|
||||
"taker-fee": "吃单费率",
|
||||
|
@ -342,8 +348,8 @@
|
|||
"totals": "总量",
|
||||
"trade": "交易",
|
||||
"trade-history": "交易纪录",
|
||||
"trades-history": "交易纪录",
|
||||
"trades": "成交",
|
||||
"trades-history": "交易纪录",
|
||||
"transaction-sent": "已下订单",
|
||||
"trigger-price": "触发价格",
|
||||
"try-again": "请再试一次",
|
||||
|
@ -354,8 +360,8 @@
|
|||
"unsettled-balances": "未结清余额",
|
||||
"unsettled-positions": "未结清持仓",
|
||||
"use-explorer-one": "使用",
|
||||
"use-explorer-two": "浏览器",
|
||||
"use-explorer-three": "来验证延迟的交易",
|
||||
"use-explorer-two": "浏览器",
|
||||
"utilization": "利用率",
|
||||
"v3-new": "V3与V2完全不一样。仍要登录V2的人可以在导航栏点「更多」或此链接:",
|
||||
"v3-unaudited": "Mango V3目前还是测试版。此软体未经过审计。风险自负。",
|
||||
|
@ -363,13 +369,14 @@
|
|||
"value": "价值",
|
||||
"view-all-trades": "在帐户页面查看所以交易",
|
||||
"view-transaction": "查看交易",
|
||||
"wallet": "钱包",
|
||||
"wallet-connected": "已连结钱包",
|
||||
"wallet-disconnected": "断开钱包连结",
|
||||
"withdraw": "取款",
|
||||
"withdraw-error": "无法取款",
|
||||
"withdraw-funds": "取款",
|
||||
"withdraw-success": "已取款",
|
||||
"withdraw-history": "提款记录",
|
||||
"withdraw-success": "已取款",
|
||||
"withdrawals": "取款",
|
||||
"you-must-leave-enough-sol": "您必须在钱包中保留足够的 SOL 来支付交易费用",
|
||||
"your-account": "您的帐户",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"account-risk": "帳戶風險度",
|
||||
"account-value": "帳戶價值",
|
||||
"accounts": "帳戶",
|
||||
"add-more-sol": "為了避免交易出錯請給被連結的錢包多存入一點SOL。",
|
||||
"add-name": "加標籤",
|
||||
"all-assets": "所有資產",
|
||||
"amount": "數量",
|
||||
|
@ -62,8 +63,10 @@
|
|||
"collateral-available-tip-desc": "可用於槓桿交易的質押品價值。資產具有不同的質押權重(根據資產給平台帶來的風險)。",
|
||||
"collateral-available-tip-title": "可用質押品",
|
||||
"condition": "狀態",
|
||||
"confirm": "確認",
|
||||
"confirm-deposit": "確認存款",
|
||||
"confirm-withdraw": "確認取款",
|
||||
"confirming-transaction": "正在確認交易...",
|
||||
"connect": "連結",
|
||||
"connect-view": "連結錢包而看帳戶狀態",
|
||||
"connect-wallet": "連結錢包",
|
||||
|
@ -161,8 +164,8 @@
|
|||
"light": "明亮",
|
||||
"limit": "限價",
|
||||
"limit-order": "限價",
|
||||
"liquidations": "清算歷史",
|
||||
"liquidation-history": "清算歷史",
|
||||
"liquidations": "清算歷史",
|
||||
"liquidity": "流動性",
|
||||
"liquidity-mining": "流動性挖礦",
|
||||
"long": "做多",
|
||||
|
@ -286,6 +289,8 @@
|
|||
"settle-success": "已結清好",
|
||||
"short": "做空",
|
||||
"show-all": "在導航欄中顯示全部",
|
||||
"show-less": "顯示較少",
|
||||
"show-more": "顯示更多",
|
||||
"show-tips": "顯示提示",
|
||||
"show-zero": "顯示零餘額",
|
||||
"side": "方向",
|
||||
|
@ -299,6 +304,7 @@
|
|||
"stop-price": "止損價格",
|
||||
"successfully-placed": "已下單了",
|
||||
"supported-assets": "請給錢包存入已被支持的幣種。",
|
||||
"swap": "換幣",
|
||||
"take-profit": "止盈",
|
||||
"take-profit-limit": "限價止盈",
|
||||
"taker-fee": "吃單費率",
|
||||
|
@ -342,8 +348,8 @@
|
|||
"totals": "總量",
|
||||
"trade": "交易",
|
||||
"trade-history": "交易紀錄",
|
||||
"trades-history": "交易紀錄",
|
||||
"trades": "成交",
|
||||
"trades-history": "交易紀錄",
|
||||
"transaction-sent": "已下訂單",
|
||||
"trigger-price": "觸發價格",
|
||||
"try-again": "請再試一次",
|
||||
|
@ -354,8 +360,8 @@
|
|||
"unsettled-balances": "未結清餘額",
|
||||
"unsettled-positions": "未結清持倉",
|
||||
"use-explorer-one": "使用",
|
||||
"use-explorer-two": "瀏覽器",
|
||||
"use-explorer-three": "來驗證延遲的交易",
|
||||
"use-explorer-two": "瀏覽器",
|
||||
"utilization": "利用率",
|
||||
"v3-new": "V3與V2完全不一樣。仍要登錄V2的人可以在導航欄點「更多」或此鏈接:",
|
||||
"v3-unaudited": "Mango V3目前還是測試版。此軟體未經過審計。風險自負。",
|
||||
|
@ -363,13 +369,14 @@
|
|||
"value": "價值",
|
||||
"view-all-trades": "在帳戶頁面查看所以交易",
|
||||
"view-transaction": "查看交易",
|
||||
"wallet": "錢包",
|
||||
"wallet-connected": "已連結錢包",
|
||||
"wallet-disconnected": "段開錢包連結",
|
||||
"withdraw": "取款",
|
||||
"withdraw-error": "無法取款",
|
||||
"withdraw-funds": "取款",
|
||||
"withdraw-success": "已取款",
|
||||
"withdraw-history": "提款記錄",
|
||||
"withdraw-success": "已取款",
|
||||
"withdrawals": "取款",
|
||||
"you-must-leave-enough-sol": "您必須在錢包中保留足夠的 SOL 來支付交易費用",
|
||||
"your-account": "您的帳戶",
|
||||
|
|
|
@ -193,7 +193,16 @@ const useMangoStore = create<MangoStore>((set, get) => {
|
|||
cluster: CLUSTER,
|
||||
current: connection,
|
||||
websocket: WEBSOCKET_CONNECTION,
|
||||
client: new MangoClient(connection, programId),
|
||||
client: new MangoClient(connection, programId, {
|
||||
postSendTxCallback: ({ txid }: { txid: string }) => {
|
||||
notify({
|
||||
title: 'Transaction sent',
|
||||
description: 'Waiting for confirmation',
|
||||
type: 'confirm',
|
||||
txid: txid,
|
||||
})
|
||||
},
|
||||
}),
|
||||
endpoint: ENDPOINT.url,
|
||||
slot: 0,
|
||||
},
|
||||
|
|
|
@ -164,6 +164,25 @@ input[type='number'] {
|
|||
|
||||
/* Scrollbars */
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
height: 8px;
|
||||
background-color: var(--bkg-4);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-thumb {
|
||||
border-radius: 4px;
|
||||
background-color: var(--bkg-2);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-track {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-corner {
|
||||
background-color: var(--bkg-3);
|
||||
}
|
||||
|
||||
.thin-scroll::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 8px;
|
||||
|
|
|
@ -15,12 +15,13 @@ module.exports = {
|
|||
body: ['Lato, sans-serif'],
|
||||
},
|
||||
extend: {
|
||||
animation: {
|
||||
shake: 'shake 0.4s linear 4',
|
||||
'spin-fast': 'spin 0.5s linear infinite',
|
||||
},
|
||||
cursor: {
|
||||
help: 'help',
|
||||
},
|
||||
fontSize: {
|
||||
xxs: '.65rem',
|
||||
},
|
||||
colors: {
|
||||
'light-theme': {
|
||||
orange: {
|
||||
|
@ -90,6 +91,9 @@ module.exports = {
|
|||
'th-green-muted': 'var(--green-muted)',
|
||||
'th-orange': 'var(--orange)',
|
||||
},
|
||||
fontSize: {
|
||||
xxs: '.65rem',
|
||||
},
|
||||
keyframes: {
|
||||
shake: {
|
||||
'0%, 100%': {
|
||||
|
@ -103,9 +107,6 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
},
|
||||
animation: {
|
||||
shake: 'shake 0.4s linear 4',
|
||||
},
|
||||
},
|
||||
},
|
||||
variants: {
|
||||
|
|
29
yarn.lock
29
yarn.lock
|
@ -945,7 +945,7 @@
|
|||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5":
|
||||
"@babel/runtime@^7.0.0":
|
||||
version "7.16.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a"
|
||||
integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==
|
||||
|
@ -959,6 +959,13 @@
|
|||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
|
||||
integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/template@^7.14.5", "@babel/template@^7.3.3":
|
||||
version "7.14.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
|
||||
|
@ -1004,10 +1011,10 @@
|
|||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||
|
||||
"@blockworks-foundation/mango-client@^3.2.17":
|
||||
version "3.2.17"
|
||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-client/-/mango-client-3.2.17.tgz#96ccdeeb91dcde3d403fe90d3fc87f79cae97112"
|
||||
integrity sha512-vAG48N89VATQ4BxfI9XwEnrIBroaDWK5r7CEhCY+zzMwCd6SOKckiMmJn8k7W/o35TUbNsXH3UOG8bwutkoupQ==
|
||||
"@blockworks-foundation/mango-client@latest":
|
||||
version "3.2.20"
|
||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-client/-/mango-client-3.2.20.tgz#a7db2908de094c7110b37ca8ef0e380a44760f81"
|
||||
integrity sha512-OCrR2xLJ/1KHD4tRPQeGL8iXXqtSzRTOYqFHk9LFbbJemcXiO+uPXvNr+egCU/T/JeMvJZjrzgWV8gsJy4I/lQ==
|
||||
dependencies:
|
||||
"@project-serum/anchor" "^0.16.2"
|
||||
"@project-serum/serum" "0.13.55"
|
||||
|
@ -2100,14 +2107,14 @@
|
|||
integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==
|
||||
|
||||
"@types/node@*":
|
||||
version "17.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.4.tgz#fec0ce0526abb6062fd206d72a642811b887a111"
|
||||
integrity sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==
|
||||
version "17.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.5.tgz#57ca67ec4e57ad9e4ef5a6bab48a15387a1c83e0"
|
||||
integrity sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==
|
||||
|
||||
"@types/node@^12.12.54":
|
||||
version "12.20.38"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.38.tgz#74801983c0558a7a31a4ead18bce2edded2b0e2f"
|
||||
integrity sha512-NxmtBRGipjx1B225OeMdI+CQmLbYqvvmYbukDTJGDgzIDgPQ1EcjGmYxGhOk5hTBqeB558S6RgHSpq2iiqifAQ==
|
||||
version "12.20.39"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.39.tgz#ef3cb119eaba80e9f1012c78b9384a7489a18bf6"
|
||||
integrity sha512-U7PMwkDmc3bnL0e4U8oA0POpi1vfsYDc+DEUS2+rPxm9NlLcW1dBa5JcRhO633PoPUcCSWMNXrMsqhmAVEo+IQ==
|
||||
|
||||
"@types/node@^14.14.25":
|
||||
version "14.17.3"
|
||||
|
|
Loading…
Reference in New Issue