Coder Social home page Coder Social logo

birthdayresearch / defiscan.live Goto Github PK

View Code? Open in Web Editor NEW
46.0 10.0 17.0 10.3 MB

DeFi Scan, everything one-stop location for DeFi Blockchain. Powered by jellyfish & ocean network.

Home Page: https://defiscan.live

License: MIT License

Shell 0.01% TypeScript 99.38% JavaScript 0.53% CSS 0.04% Dockerfile 0.05%
explorer blockchain defi dfi bitcoin index decentralized finance scan ocean

defiscan.live's People

Contributors

aikchun avatar canonbrother avatar chloezxyy avatar defichain-bot avatar dependabot[bot] avatar fullstackninja864 avatar fuxingloh avatar g9000 avatar github-actions[bot] avatar gjj avatar imgbot[bot] avatar joeldavidw avatar jordankzf avatar joshuac817 avatar kyleleow avatar leonardovenoso avatar lykalabrada avatar monstrobishi avatar nattadex avatar nichellekoh avatar pierregee avatar renovate[bot] avatar rox1338 avatar siradji avatar thedoublejay avatar tyrkson avatar veralygit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

defiscan.live's Issues

Collect CodeCoverage from E2E Cypress Tests

What would you like to be added:

With the use of Istanbul, cypress allows code coverage to be collected when running the e2e tests. We need to collect them present each PR with their respective code coverage report.

/area core workflow
/triage accepted

`<Header/>` & `<HeaderMenu/>`

What would you like to be added:

Implement Header Links and HeaderMenu with responsive guidelines from design team.

/triage accepted
/area layouts
/assign @fuxingloh

Add cypress/videos to gitignore

What would you like to be added:

Add cypress/videos to .gitignore

Why is this needed:

Unnecessary to commit artefacts from testing with cypress.

Icon set

What would you like to be added:

Icon Set

Why is this needed:

To spark web personality and more interactive

Convert all `mDFI` usage to `DFI` or `fi`

What would you like to be added:

There are many units of DFI, best to keep consistent to two units and reduce complexity.

I suggest using DFI and fi, they are the easiest to understand. 1 DFI = 10,0000,000 fi.

/triage accepted
/area core

active state of navigation menu

What would you like to be added:

Show active state of navigation menu if user is on this page.
Ex., if user is in /tokens, it will highlight the token navigation menu

image

Why is this needed:

Implementation of all DeFi Transaction types to `transaction/:id` page

What would you like to be added:

Implement the different DeFi transaction types

There are 40+ (and growing) different types of DeFi transactions. The full list of transaction types can be found in DeFiCh/jellyfish.

Tier 1 Transactions (Most Common)

Tier 2 Transactions (Medium Activity)

Tier 3 Transactions (No Activity)

/area transactions
/triage accepted
/assign @siradji @aikchun

Implement `/prices` & `/prices/:ticker` Page

What would you like to be added:

Implement /prices page on DeFi Scan with pagination and e2e testing. The state must be implemented on-page component only not shared within the store. Pagination must be reflected in the query string.

  • Oracles Pagination
  • Prices Pagination
  • Oracle Mobile Optimization
  • E2E Tested

/area oracles
/triage accepted
/assign @fuxingloh

Append ID to DST token names

What would you like to be added: Append ID to DST token names

Why is this needed: To avoid confusion with DST token names

Horizontal scrolling is broken on masternodes page

What happened:

If you go here and try to scroll on Chrome (Windows 10): https://defiscan.live/masternodes

Scrolling the table horizontally will snap back to the initial scrolling position and affect the vertical scrolling position too.

What you expected to happen:

Able to scroll horizontally.

How to reproduce it (as minimally and precisely as possible):

As above.

Anything else we need to know?:

Project rename causes CodeCov issues

What happened:

Project rename causes CodeCov issues, wait for automatic resolution and rename the badges and cleanup the workflow.
Remove run: npx codecov

/triage accepted
/area workflow
/assign @fuxingloh

Include Netlify Badge in Footer

What would you like to be added:

Netlify requirement for backlinks. Netlify provided a badge for use. We can add this to the footer.

I selected color-accent-badge from this link

image

Code snippet from their website is also provided
<a href="https://www.netlify.com"> <img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" /> </a>

Why is this needed:

Netlify requirement for open-source project

Refactor project structure due to increasing number of code lines per page

What would you like to be added:

Pages are starting to grow larger and is exceeding 250 lines of code.

Why is this needed:

In order, to ensure maintainability of our code base due to increasing number of code lines. We should move internal components out of their respective pages.

To ensure separation of concerns, these internal components should be moved in to a folder called _components in their corresponding folders under pages/* dir instead of the src/components.

Similarly, to constants.ts not allowed, by placing components that are only of concern to a single page into src/components will result in a mass of code concentration within project.

Example for Blocks Page

src/
└─ pages/
  └─ blocks/
     └─ [blockId]/
        ├─ _components/
        │  ├─ BlockDetailTable.tsx
        │  └─ BlockTransactions.tsx
        └─ index.tsx

/triage accepted
/area workflow
/kind refactor

Implement Homepage

What would you like to be added:

Design Link to be seen here

Sections include the ff:

  • Search
  • DeFiChain in Numbers
    • Implement Without Graph First
  • Blocks
  • Transactions
  • Liquidity Pool Pairs

As usual for those values that are missing or you don't know how to get, just indicate so.

Why is this needed:

Use as landing page for Defiscan

Implement `/dex` Page

What would you like to be added:

Implement /dex page on DeFi Scan with pagination and e2e testing. The state must be implemented on-page component only not shared within the store. Pagination must be reflected in the query string.

For reference: https://dex.defichain.com/mainnet/pool

/area dex
/triage accepted
/assign @canonbrother

  • Some of the dex features are not yet merged, we can ignore those for now.
  • Not yet designed, you can implement it first and we will iterate on the design

Redesigned pagination component and behavior

What would you like to be added:

Redesigned table footer with the following sections:

  • A count of displayed rows
  • Pagination (similar to Etherscan) that includes first page link, back link, next link, and last page link.
  • Jumping to a specific page. (This can be added in future iterations in consideration to other technical priorities)

image
image

Design can be seen here

Why is this needed:

For increased maneuverability across pages especially for larger data sets (like masternodes)

Implement `/masternodes` Page

What would you like to be added:

Implement /masternodes page on DeFi Scan with pagination and e2e testing. The state must be implemented on-page component only not shared within the store. Pagination must be reflected in the query string.

/area masternodes
/triage accepted
/assign @siradji

  • Not yet designed, you can implement it first and we will iterate on the design
  • For reference: https://mydeficha.in/masternodes.php but not limited to this implementation and design look at other masternode blockchain projects

Ability to scan both way when cursor parameter is used on /blocks

What would you like to be added:

Ability to scan both way when cursor parameter is used on /blocks.

Why is this needed:

Currently, if we access https://defiscan.live/blocks?cursors=1000, we can only use right arrow to access https://defiscan.live/blocks?cursors=1000%2C950 but clicking on left arrow brings back to https://defiscan.live/blocks.

What is expected:

Expected to be able to scan both way with right arrow going towards 0 and left arrow towards highest block.

Improve current implementation of NetworkContext

What would you like to be added:

Current implementation with both useNetwork and useNetworkObject is getting confusing. There are two sets network names:

  1. MainNet, TestNet, Playground, etc
  2. mainnet, testnet, regnet

May lead to future confusion of what the "name" is referring to.

Possible Fixes

An Idea by @fuxingloh

  1. import { Network as NetworkObject } from '@defichain/jellyfish-network'
  2. or alternatively you can rename export enum Network to export enum ConnectedNetwork
  3. deprecate useNetwork() in favor of using useNetworkObject()
  4. export function useNetworkObject (): NetworkObject

useNetworkObject will become the defacto way to get network level parameters

/triage accepted
/area core

Add cypress/screenshots to gitignore

What would you like to be added:

Add line cypress/screenshots to .gitignore.

Why is this needed:

We should not be committing cypress testing artifacts to the repo. Much like #79

Timeout error on certain transactions

What happened:

https://defiscan.live/transactions/8f7d241126636c79e17317eef0f84eb565a1886147f0dfdcfbe7a168f095f351

Accessing the transaction above resulted in a task timeout error - {"errorMessage":"2021-10-07T05:51:23.483Z xx-xx-xx-xx Task timed out after 10.01 seconds"}

Occurs when the api calls takes more the 10 secs probably due to the "large" transaction with 600+ inputs.

Possible Causes

More investigation is required.

/triage accepted
/area core

Achieve close to Pixel Perfect Matching of Designed Pages

What would you like to be added:

In #259 I updated tailwind and all components to match the latest design. This issue is created in an attempt to reach close to pixel-perfect matching of designed pages. As I have definitely missed them out when implementing the pages.

/triage accepted
/area ui-ux
/assign @siradji

`<Head/>` Front Matters, SEO and Metadata

What would you like to be added:

<Head/> properly implement head for SEO and Social Graphs for organic growth purposes.

  • Title: DeFi Scan - Native Decentralized Finance for Bitcoin.
  • https://schema.org/BreadcrumbList
  • {rel: 'canonical', href: canonical}
  • {name: 'robots', content: ${follow ? 'follow' : 'nofollow'},${index ? 'index' : 'noindex'}}
  • {name: 'og:title', content: title}
  • {name: 'description', content: description}
  • {name: 'og:description', content: description}
  • {name: 'og:url', content: url}
  • {name: 'og:image', content: image}
  • {rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon-32x32.2.png'}
  • {rel: 'icon', type: 'image/png', sizes: '16x16', href: '/favicon-16x16.2.png'}

/triage accepted
/area core
/priority important-soon

UI enhancements in Prices and Assets page

What would you like to be added:

• Change the 'Tiigo' logo to improve consistency among other icons.
• Add logos section to each individual asset page
• Rewording 'Inactive' to 'Closed'
• Revised icon for tooltip - make it less prominent to harmonize with text
• Changed color from 'yellow' to 'neutral gray' – makes it less alarming.

Designs and assets can be found here:
Price page: https://marvelapp.com/prototype/74de579/screen/80840940/handoff
Asset page: https://marvelapp.com/prototype/74de579/screen/80840939/handoff

Why is this needed:

Upon gathering feedbacks, there are visual improvements that are identified that can be added.

Loading of /api/stats data on Server Side and hydrating it over to store.

What would you like to be added:

Load stats data on the SSR side and setting it to the store, send the data over to the client-side and automatically hydrate it. With this design, stats data are never undefined as they are loaded and populated from the server before the client (browser) loads.

This creates additional load time on the first load (does not affect subsequent load). That being said, the implementor and developer of this website should be cognizant of the additional first load time via _app.ts.

I believe there is an example within vercel/next.js/examples section.

https://github.com/vercel/next.js/tree/canary/examples

To preload state:
https://github.com/DeFiCh/scan/blob/d4a8656af8b89a09acffc42ad201a2de0133b15f/src/store/index.ts#L12-L14

Load and pass it in here https://github.com/DeFiCh/scan/blob/d4a8656af8b89a09acffc42ad201a2de0133b15f/src/pages/_app.tsx#L23-L28

Clicking on footer links should retain query params after being redirected.

What happened:

When clicking on the footer links, the page is redirection is done without preserving the network query params.

image

If the routes in the footer were implemented, clicking on the links will redirect you without the query params.

image

What you expected to happen:

When clicking on the page, the query params should be preserved, especially regarding the network param as it gives context to the network that the website is connected to.

Changing the network query param on the production site does change the network that the website is connected to. Thus indicating that the query param serves as the source of truth of the network connection.

`spinner` overlaps with hamburger menu on mobile

What happened:

Minor UI issue, loading spinner overlaps with Hamburger menu on mobile view

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

Screenshot_20210916-121348_Chrome

Implement `/blocks/:id` Page

What would you like to be added:

[id] can be height or hash, on page router, it must be replaced with hash.

/src/pages/blocks/[id].tsx

/area blocks transactions
/triage accepted
/assign @aikchun

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.