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

View File

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

View File

@ -693,6 +693,15 @@ export function useOpenOrderAccountBalancesForAllMarkets() {
if (!openOrderAccounts) {
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 quoteCurrency =
marketName.includes('/') && marketName.split('/')[1];
@ -726,12 +735,22 @@ export function useOpenOrderAccountBalancesForAllMarkets() {
coin: baseCurrency,
orders: inOrdersBase,
unsettled: unsettledBase,
market: market,
openOrdersAccount: openOrdersAccount,
baseCurrencyAccount: baseCurrencyAccounts && baseCurrencyAccounts[0],
quoteCurrencyAccount:
quoteCurrencyAccounts && quoteCurrencyAccounts[0],
});
openOrderAccountBalances.push({
market: marketName,
coin: quoteCurrency,
orders: inOrdersQuote,
unsettled: unsettledQuote,
market: market,
openOrdersAccount: openOrdersAccount,
baseCurrencyAccount: baseCurrencyAccounts && baseCurrencyAccounts[0],
quoteCurrencyAccount:
quoteCurrencyAccounts && quoteCurrencyAccounts[0],
});
});
accounts = accounts.concat(openOrderAccountBalances);