Skip to content

Bankless-Card/bcard-taxman-wireframe

Repository files navigation

BCard TaxMan

A Tool for DAO Contributors

MVP - Development Prototype

At its heart, this is a wagmi + Web3Modal + Vite project bootstrapped with create-wagmi

The amazing UI was designed by @jasu and developed by @titesan with inception and integration work by @links and additional development by @tomtranmer.

New tokens requested (in no particular order)

To request new tokens added, please tweet at us @BanklessCard

  • USDC - implemented 4/17/2023 - tt
  • ENS (completed: testing procedure)
    • added in possibleAssets
    • FUNCTIONS: label, logo, (+ image file SIZE/FORMAT std?), conversion(TEMP): pool price, emailData, sumTransactions (summary functions)
    • DATA: generated data file (copy POOL), pulled annual data from CG (require user test and review for final confimration of implementation)
  • USDT
  • FF (forefront)
  • UNITY
  • MATIC
  • WMATIC

Adding new tokens - a basic guide

  1. Get Info: data/possibleAssets.jsx - active token label array for possibilities - as output on chain record - e.g. "USDC" Note: Order of display on selection list is determined by the order of this data array.

Make app aware of token in lookup

  1. TOKEN NAME DISPLAY: functions/getTokenLabel.tsx - this will control the output of the NAME of the token in APP e.g. if(asset==="USDC"){ return "USDC Stablecoin" }
  2. TOKEN LOGO DISPLAY: functions/getTokenLogo.tsx - e.g. if(asset === "USDC"){ return "/img/token/usdc-logo.png" } && add file in public/img/token - prefer min. 400x400px min square or transparent image and will be displayed as round. Limit to ~100kB image.
  3. TOKEN DISPLAY AMOUNT (optional override): functions/displayTokenAmount.tsx - for tokens that require a more or fewer than 3 significant digits (i.e. ETH, WBTC) - e.g. if(asset === "WETH"){ return parseFloat(value).toFixed(6) + " " + asset }
  4. TOKEN CONVERT AMOUNT: functions/displayConvertAmount.tsx - e.g. if(asset === "WETH") { //a bit more heavy lifting with this one, requiring data , contact tom }

Update UI to allow selection of Token

  1. (auto) TOKEN VISUAL CHECKBOX: components/AccountForm/FormSecondStep.jsx - updated in possible assets && activeAssets state variable to include new selectable token.
  2. DATA FILES UPDATE: data/XYZ_feed_2022.tsx - provide USD, CAD pricing objects in output bundle. Using https://www.coingecko.com/en/api/documentation. Import data file into functions/displayConvertAmount.tsx & set convertion specifications.
  3. OUTPUT LABELS: functions/exportData.jsx && functions/exportData.jsx - Labels for output - TBD automate import and formatting from possibleAssets data.

Developers Getting Started

Run npm run dev in your terminal, and then open localhost:5173 in your browser.

Once the webpage has loaded, changes made to files inside the src/ directory (e.g. src/App.tsx) will automatically update the webpage.

Learn more

To learn more about Vite or wagmi, check out the following resources: