From 7ae1d52d6d029bc601fbd04eb25404721d38ed51 Mon Sep 17 00:00:00 2001 From: Sergio Martin Date: Thu, 20 Oct 2022 07:57:33 -0500 Subject: [PATCH 1/2] Added Developer Docs section to readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index af579861..06fe1017 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,11 @@ At a contract level, there is no such distinction, but in the UI it exists to le ``` # Contributing +## Developer Docs + +- [Tezos Homebase Docs](https://docs.google.com/document/d/1zZwcvX0jNE8PycOMNSULy2i-mcjg1LJ9FFYbGP4m9TM/edit?usp=sharing) +- [Tezos Homebase - Local Env Setup](https://docs.google.com/document/d/1GDnJzwezXXEGiwZAWioOlfvmcSuHuREpO7GIKMLjYmk/edit?usp=sharing) + ## Running the project To run the project: From d6b9119036dc982742385eb0c37b1ae68a23db46 Mon Sep 17 00:00:00 2001 From: Manank Patni Date: Sun, 30 Oct 2022 01:53:41 +0530 Subject: [PATCH 2/2] Fix Max button for deposit, withdraw and rounding places (#365) * Update issue templates * Update issue templates * Fix Max button for deposit, withdraw and rounding places - Fix Max button for deposit, switch to different tzkt endpoint - Add Max button to withdraw - Change round places to 10 decimal places and ROUND_DOWN to ZERO Signed-off-by: Manank Patni * Remove console.log Signed-off-by: Manank Patni Signed-off-by: Manank Patni Co-authored-by: Magenta Ceiba <38021350+magentaceiba@users.noreply.github.com> Co-authored-by: Fernando Torres <80982814+thenerdcat@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/issue.md | 18 +++++++++++ .../explorer/components/DAOStatsRow.tsx | 2 +- .../explorer/components/FreezeDialog.tsx | 30 +++++++++++++++---- .../explorer/components/UserBalances.tsx | 6 ++-- src/modules/explorer/pages/DAO/index.tsx | 4 +-- .../Treasury/components/BalancesTable.tsx | 2 +- .../Treasury/components/TransfersTable.tsx | 2 +- src/services/bakingBad/tokenBalances/index.ts | 8 ++--- src/services/bakingBad/tokenBalances/types.ts | 12 ++++++++ 9 files changed, 66 insertions(+), 18 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/issue.md diff --git a/.github/ISSUE_TEMPLATE/issue.md b/.github/ISSUE_TEMPLATE/issue.md new file mode 100644 index 00000000..dd0acd73 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue.md @@ -0,0 +1,18 @@ +--- +name: Issue +about: This is our standard issue template for all contributors +title: '' +labels: '' +assignees: '' + +--- + +**Name** + +**Description (what needs to be done) / Expected Behavior** + +**Acceptance Criteria** + +**Supporting information (Figma link, notes, etc)** + +**When finished, please add Link to the PR or completed Figma / design asset, as a comment to the ticket.** diff --git a/src/modules/explorer/components/DAOStatsRow.tsx b/src/modules/explorer/components/DAOStatsRow.tsx index 0d058c09..d47b7ca6 100644 --- a/src/modules/explorer/components/DAOStatsRow.tsx +++ b/src/modules/explorer/components/DAOStatsRow.tsx @@ -201,7 +201,7 @@ export const DAOStatsRow: React.FC = () => { {symbol} Locked - {amountLocked.dp(10).toString()} + {amountLocked.dp(10, 1).toString()} diff --git a/src/modules/explorer/components/FreezeDialog.tsx b/src/modules/explorer/components/FreezeDialog.tsx index 8fff8b3f..5c8c18e8 100644 --- a/src/modules/explorer/components/FreezeDialog.tsx +++ b/src/modules/explorer/components/FreezeDialog.tsx @@ -48,7 +48,8 @@ export const FreezeDialog: React.FC<{ freeze: boolean }> = ({ freeze }) => { const { account } = useTezos() const [showMax, setShowMax] = React.useState(false) - const [max, setMax] = React.useState(0) + const [maxDeposit, setMaxDeposit] = React.useState(0) + const [maxWithdraw, setMaxWithdraw] = React.useState(0) const handleClickOpen = () => { setOpen(true) @@ -83,8 +84,17 @@ export const FreezeDialog: React.FC<{ freeze: boolean }> = ({ freeze }) => { ) setShowMax(true) if (availableBalance) { - const formattedBalance = parseUnits(new BigNumber(availableBalance), dao.data.token.decimals).toNumber() - setMax(formattedBalance) + const formattedBalance = parseUnits(new BigNumber(availableBalance), dao.data.token.decimals) + .dp(10, 1) + .toNumber() + setMaxDeposit(formattedBalance) + } + + const userLedger = ledger.find(l => l.holder.address.toLowerCase() === account.toLowerCase()) + if (userLedger) { + if (userLedger.available_balance) { + setMaxWithdraw(userLedger.available_balance.dp(10, 1).toNumber()) + } } } } @@ -111,9 +121,19 @@ export const FreezeDialog: React.FC<{ freeze: boolean }> = ({ freeze }) => { {showMax && freeze ? ( <> - {max} {dao?.data.token.symbol} + {maxDeposit} {dao?.data.token.symbol} + + setAmount(maxDeposit)}> + Use Max + + + ) : null} + {showMax && !freeze ? ( + <> + + {maxWithdraw} {dao?.data.token.symbol} - setAmount(max)}> + setAmount(maxWithdraw)}> Use Max diff --git a/src/modules/explorer/components/UserBalances.tsx b/src/modules/explorer/components/UserBalances.tsx index cef47858..9321084c 100644 --- a/src/modules/explorer/components/UserBalances.tsx +++ b/src/modules/explorer/components/UserBalances.tsx @@ -108,9 +108,9 @@ export const UserBalances: React.FC<{ daoId: string }> = ({ daoId, children }) = return userBalances } - userBalances.available.balance = userLedger.available_balance.dp(10).toString() - userBalances.pending.balance = userLedger.pending_balance.dp(10).toString() - userBalances.staked.balance = userLedger.staked.dp(10).toString() + userBalances.available.balance = userLedger.available_balance.dp(10, 1).toString() + userBalances.pending.balance = userLedger.pending_balance.dp(10, 1).toString() + userBalances.staked.balance = userLedger.staked.dp(10, 1).toString() return userBalances }, [account, ledger]) diff --git a/src/modules/explorer/pages/DAO/index.tsx b/src/modules/explorer/pages/DAO/index.tsx index 80550e9d..73ae4e0a 100644 --- a/src/modules/explorer/pages/DAO/index.tsx +++ b/src/modules/explorer/pages/DAO/index.tsx @@ -102,8 +102,8 @@ export const DAO: React.FC = () => { .sort((a, b) => b.available_balance.minus(a.available_balance).toNumber()) .map(p => ({ address: p.holder.address, - totalStaked: new BigNumber(p.total_balance).dp(10).toString(), - availableStaked: new BigNumber(p.available_balance).dp(10).toString(), + totalStaked: new BigNumber(p.total_balance).dp(10, 1).toString(), + availableStaked: new BigNumber(p.available_balance).dp(10, 1).toString(), votes: p.holder.votes_cast.toString(), proposalsVoted: p.holder.proposals_voted.toString() })) diff --git a/src/modules/explorer/pages/Treasury/components/BalancesTable.tsx b/src/modules/explorer/pages/Treasury/components/BalancesTable.tsx index 0d97e224..cd6532b7 100644 --- a/src/modules/explorer/pages/Treasury/components/BalancesTable.tsx +++ b/src/modules/explorer/pages/Treasury/components/BalancesTable.tsx @@ -57,7 +57,7 @@ const createData = (daoHolding: DAOHolding): RowData => { return { symbol: daoHolding.token.symbol, address: daoHolding.token.contract, - amount: daoHolding.balance.dp(10).toString() + amount: daoHolding.balance.dp(10, 1).toString() } } diff --git a/src/modules/explorer/pages/Treasury/components/TransfersTable.tsx b/src/modules/explorer/pages/Treasury/components/TransfersTable.tsx index 9a001a0a..413e6367 100644 --- a/src/modules/explorer/pages/Treasury/components/TransfersTable.tsx +++ b/src/modules/explorer/pages/Treasury/components/TransfersTable.tsx @@ -36,7 +36,7 @@ const createData = (transfer: TransferWithBN, isInbound: boolean) => { return { token: transfer.name, date: dayjs(transfer.date).format("ll"), - amount: transfer.amount.dp(10).toString(), + amount: transfer.amount.dp(10, 1).toString(), address: isInbound ? transfer.sender : transfer.recipient, hash: transfer.hash } diff --git a/src/services/bakingBad/tokenBalances/index.ts b/src/services/bakingBad/tokenBalances/index.ts index 43332b39..ee1ab150 100644 --- a/src/services/bakingBad/tokenBalances/index.ts +++ b/src/services/bakingBad/tokenBalances/index.ts @@ -3,7 +3,7 @@ import { NFT, Token } from "models/Token" import { Network } from "services/beacon" import { parseUnits } from "services/contracts/utils" import { networkNameMap } from ".." -import { BalanceTZKT, DAOToken, FA2TokenDTO, NFTDTO, TokenDataTZKT } from "./types" +import { BalanceDataDTO, BalanceTZKT, DAOToken, FA2TokenDTO, NFTDTO, TokenDataTZKT } from "./types" const isNFTDTO = (value: DAOToken): value is NFTDTO => value.hasOwnProperty("artifact_uri") @@ -164,7 +164,7 @@ export const getTokenMetadata = async (contractAddress: string, network: Network } export const getUserTokenBalance = async (accountAddress: string, network: Network = "mainnet", tokenAddress = "") => { - const url = `https://api.${networkNameMap[network]}.tzkt.io/v1/tokens/balances/?account=${accountAddress}` + const url = `https://api.${networkNameMap[network]}.tzkt.io/v1/tokens/balances/?account=${accountAddress}&token.contract=${tokenAddress}` const response = await fetch(url) @@ -172,9 +172,7 @@ export const getUserTokenBalance = async (accountAddress: string, network: Netwo throw new Error("Failed to fetch user balances") } - const userTokens = await response.json() - - const userTokenBalance = userTokens.filter((token: any) => token.token.contract.address === tokenAddress) + const userTokenBalance: BalanceDataDTO[] = await response.json() if (userTokenBalance && userTokenBalance[0]) { return userTokenBalance[0].balance diff --git a/src/services/bakingBad/tokenBalances/types.ts b/src/services/bakingBad/tokenBalances/types.ts index ad78f706..a113305d 100644 --- a/src/services/bakingBad/tokenBalances/types.ts +++ b/src/services/bakingBad/tokenBalances/types.ts @@ -127,3 +127,15 @@ export interface TokenDataTZKT { totalSupply: string metadata: Metadata } + +export interface BalanceDataDTO { + id: number + account: Account + token: Token + balance: string + transfersCount: number + firstLevel: number + firstTime: string + lastLevel: number + lastTime: string +}