birthdayresearch / defiscan.live Goto Github PK
View Code? Open in Web Editor NEWDeFi Scan, everything one-stop location for DeFi Blockchain. Powered by jellyfish & ocean network.
Home Page: https://defiscan.live
License: MIT License
DeFi Scan, everything one-stop location for DeFi Blockchain. Powered by jellyfish & ocean network.
Home Page: https://defiscan.live
License: MIT License
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
Async run the 3 code branches txn/vin/vout in parallel via Promise with delay awaiting. At the same time increasing size to 100.
This is a partial fix to #352 still needs it better tackled at Jellyfish side.
/triage accepted
/area transactions
Implement Header Links and HeaderMenu
with responsive guidelines from design team.
/triage accepted
/area layouts
/assign @fuxingloh
Add cypress/videos
to .gitignore
Unnecessary to commit artefacts from testing with cypress.
Icon Set
To spark web personality and more interactive
/src/pages/transactions/[txid].tsx
/area transactions
/priority important-soon
/triage accepted
/assign @aikchun
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
We need to add mobile e2e tests for /tokens
page.
/triage accepted
/area tokens
/assign @siradji
Fee display is incorrect for UtxoToAccount/AccountToUxto
transactions. Deduct/plus depending on the DfTx type to correctly calculate the fees.
/triage accepted
/area transactions
Blocked by https://github.com/DeFiCh/whale/issues/246#issue-944973570
/area ui-ux layouts
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
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 oracles
/triage accepted
/assign @fuxingloh
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.
Able to scroll horizontally.
As above.
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
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
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>
Netlify requirement for open-source project
Pages are starting to grow larger and is exceeding 250 lines of code.
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 <Header/>
& <Footer/>
fully.
Link all existing "link" to existing versions within the defichain.com
ecosystem.
/triage accepted
/area layouts
/priority important-soon
/src/pages/tokens/[id].tsx
/area tokens
/triage accepted
/assign @siradji
/src/pages/tokens/index.tsx
/area tokens
/triage accepted
/assign @siradji
Replace the previous DEX logo with a new one to align with newly prescribed brand guidelines
Brand consistency and visual refinements. Brand guidelines prescribed the use of the logo in this way
can be seen here in this screen link
Here are the files for convenience (includes 3 sizes of PNG and SVG format):
Defichain DEX logo.zip
Currently, in /prices/* the Oracle table was implemented before OverflowTable was implemented https://github.com/DeFiCh/scan/blob/main/src/components/prices/PriceOracleTable.tsx we need to switch to use OverflowTable for better maintainability of the code
/triage accepted
/assign @siradji
/area ui-ux
Design Link to be seen here
Sections include the ff:
As usual for those values that are missing or you don't know how to get, just indicate so.
Use as landing page for Defiscan
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
Redesigned table footer with the following sections:
Design can be seen here
For increased maneuverability across pages especially for larger data sets (like masternodes)
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
Ability to scan both way when cursor parameter is used on /blocks.
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
.
Expected to be able to scan both way with right arrow going towards 0 and left arrow towards highest block.
Current implementation with both useNetwork and useNetworkObject is getting confusing. There are two sets network names:
May lead to future confusion of what the "name" is referring to.
An Idea by @fuxingloh
import { Network as NetworkObject } from '@defichain/jellyfish-network'
export enum Network
to export enum ConnectedNetwork
useNetwork()
in favor of using useNetworkObject()
export function useNetworkObject (): NetworkObject
useNetworkObject
will become the defacto way to get network level parameters
/triage accepted
/area core
Add line cypress/screenshots
to .gitignore
.
We should not be committing cypress testing artifacts to the repo. Much like #79
@fuxingloh Need your input on the calculation of Fee and Fee Rate
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
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/>
properly implement head for SEO and Social Graphs for organic growth purposes.
DeFi Scan - Native Decentralized Finance for Bitcoin.
{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
• 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
Upon gathering feedbacks, there are visual improvements that are identified that can 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.
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
When clicking on the footer links, the page is redirection is done without preserving the network
query params.
If the routes in the footer were implemented, clicking on the links will redirect you without the query params.
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.
/src/pages/blocks/index.tsx
/area blocks
/triage accepted
/assign @aikchun
Would be nice to have some links on the explorer to app store and play store once it's ready.
We need to fill up /src/cms/*
information with oracle/price information so that we can display rich data.
/triage accepted
/assign @monstrobishi
/area prices oracles ui-ux
/priority urgent-now
[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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.