Fix balance page settle
This commit is contained in:
parent
37f9c41355
commit
438a815ca5
|
@ -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>
|
||||||
|
|
|
@ -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',
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue