Fix balance page settle

This commit is contained in:
Philippe Maes 2020-08-29 21:00:38 +02:00 committed by Gary Wang
parent 37f9c41355
commit 438a815ca5
3 changed files with 30 additions and 20 deletions

View File

@ -1,25 +1,16 @@
import { Button } from 'antd'; import { Button } from 'antd';
import React from 'react'; import React from 'react';
import {
useSelectedOpenOrdersAccount,
useMarket,
useSelectedBaseCurrencyAccount,
useSelectedQuoteCurrencyAccount,
} from '../../utils/markets';
import DataTable from '../layout/DataTable'; import DataTable from '../layout/DataTable';
import { useConnection } from '../../utils/connection'; import { useConnection } from '../../utils/connection';
import { useWallet } from '../../utils/wallet'; import { useWallet } from '../../utils/wallet';
import { settleFunds } from '../../utils/send'; import { settleFunds } from '../../utils/send';
export default function AccountsTable({ accountBalances }) { export default function AccountsTable({ accountBalances }) {
const baseCurrencyAccount = useSelectedBaseCurrencyAccount();
const quoteCurrencyAccount = useSelectedQuoteCurrencyAccount();
const connection = useConnection(); const connection = useConnection();
const [, wallet] = useWallet(); const [, wallet] = useWallet();
const openOrdersAccount = useSelectedOpenOrdersAccount(true);
const { market } = useMarket();
async function onSettleFunds() { async function onSettleFunds(account) {
const { market, openOrdersAccount, baseCurrencyAccount, quoteCurrencyAccount } = account;
return await settleFunds({ return await settleFunds({
market, market,
openOrders: openOrdersAccount, openOrders: openOrdersAccount,
@ -33,13 +24,8 @@ export default function AccountsTable({ accountBalances }) {
const columns = [ const columns = [
{ {
title: 'Market', title: 'Market',
dataIndex: 'market', dataIndex: 'key',
key: 'market', key: 'key',
},
{
title: 'Coin',
dataIndex: 'coin',
key: 'coin',
}, },
{ {
title: 'Orders', title: 'Orders',
@ -53,9 +39,9 @@ export default function AccountsTable({ accountBalances }) {
}, },
{ {
key: 'action', key: 'action',
render: () => ( render: (account) => (
<div style={{ textAlign: 'right' }}> <div style={{ textAlign: 'right' }}>
<Button ghost style={{ marginRight: 12 }} onClick={onSettleFunds}> <Button ghost style={{ marginRight: 12 }} onClick={() => onSettleFunds(account)}>
Settle Settle
</Button> </Button>
</div> </div>

View File

@ -8,8 +8,13 @@ export default function WalletBalancesTable({
const columns = [ const columns = [
{ {
title: 'Coin', title: 'Coin',
<<<<<<< HEAD
dataIndex: 'coin', dataIndex: 'coin',
key: 'coin', key: 'coin',
=======
dataIndex: 'key',
key: 'key',
>>>>>>> Fix balance page settle
}, },
{ {
title: 'Wallet Balance', title: 'Wallet Balance',

View File

@ -693,6 +693,15 @@ export function useOpenOrderAccountBalancesForAllMarkets() {
if (!openOrderAccounts) { if (!openOrderAccounts) {
continue; continue;
} }
const baseCurrencyAccounts = await market.findBaseTokenAccountsForOwner(
connection,
wallet.publicKey,
);
const quoteCurrencyAccounts = await market.findQuoteTokenAccountsForOwner(
connection,
wallet.publicKey,
);
const baseCurrency = marketName.includes('/') && marketName.split('/')[0]; const baseCurrency = marketName.includes('/') && marketName.split('/')[0];
const quoteCurrency = const quoteCurrency =
marketName.includes('/') && marketName.split('/')[1]; marketName.includes('/') && marketName.split('/')[1];
@ -726,12 +735,22 @@ export function useOpenOrderAccountBalancesForAllMarkets() {
coin: baseCurrency, coin: baseCurrency,
orders: inOrdersBase, orders: inOrdersBase,
unsettled: unsettledBase, unsettled: unsettledBase,
market: market,
openOrdersAccount: openOrdersAccount,
baseCurrencyAccount: baseCurrencyAccounts && baseCurrencyAccounts[0],
quoteCurrencyAccount:
quoteCurrencyAccounts && quoteCurrencyAccounts[0],
}); });
openOrderAccountBalances.push({ openOrderAccountBalances.push({
market: marketName, market: marketName,
coin: quoteCurrency, coin: quoteCurrency,
orders: inOrdersQuote, orders: inOrdersQuote,
unsettled: unsettledQuote, unsettled: unsettledQuote,
market: market,
openOrdersAccount: openOrdersAccount,
baseCurrencyAccount: baseCurrencyAccounts && baseCurrencyAccounts[0],
quoteCurrencyAccount:
quoteCurrencyAccounts && quoteCurrencyAccounts[0],
}); });
}); });
accounts = accounts.concat(openOrderAccountBalances); accounts = accounts.concat(openOrderAccountBalances);