The primary license for this repo is Apache-2.0
, see LICENSE
.
fuellabs / fuel-explorer Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://app.fuel.network
License: Apache License 2.0
Home Page: https://app.fuel.network
License: Apache License 2.0
The primary license for this repo is Apache-2.0
, see LICENSE
.
On the contact page, on the tab source code, the user should be able to visualize the bytecode of the contract and abi and function signatures.
Right now, the only available data is the contract bytecode.
Design: https://www.figma.com/file/VTWcuPxsUtKZDk0iKn3y7T/Fuel-Portal-Product-Board?type=design&node-id=2068-72599&mode=design&t=QvLFwOte6x138asK-4
issues with the QA Deployment
Transaction popup
Transaction List
When a transaction has input message, the page not show the input because incorrect data is being returned from grouped inputs.
https://fuel-explorer.vercel.app/tx/0xb09451bce1549f2e2f86009a64e385ce8b45e5e2d71ecdad5f37a910640432e2
Fetch a single TX should fetch all the fields available on the TX this is one example https://gist.github.com/luizstacio/44bda679b8805bbb835370f839855227
The contract page is a group of tabs with a brief contract summary. On this task, we should create only the header and the tabs for later adding the contents on the following tasks.
Pair programming with me to do this and we can record the call to serve as material for other devs later
On the account page predicate tab, the user should be able to see a predicate's bytecode, abi, and signature. We should add a bytecode because we don't have predicate metadata yet.
We should not show the tab predicate if the address is not a predicate.
To know if an address is a predicate, we need to check inside the transaction history of the address and see if an input of type Coin, with the same address, contains a predicate, if yes address is considered a predicate. The bytecode to be shown is this predicate bytecode. This can be done on the GraphQL side and returns only the data in a structured way to the FE side.
Currently we use createComponent as a base to enable a better development experience when developing the components for the UI library. But we notice that it creates some issues of performance that block the execution of the component.
This could be leading too many other issues like the problem where the components are not responsive for couple of milliseconds before render. By removing this from the root component it reduced a lot as the wrapper components if not well optimized can lead to multiple re-renders of all children components.
The use case to see the issue was the change on the Theme component. That was causing a issue where the theme was only loaded after couple of milliseconds (~1s) that was perceptible for the user.
The code for the theme previously using the createComponent was:
export const Theme = createComponent<ThemeProps, typeof RadixTheme>({
id: 'Theme',
baseElement: RadixTheme,
render: (
Comp,
{ iconSize = 20, iconColor = 'text-current', iconStroke = 1.2, ...props },
) => {
return (
<IconProvider
value={{ size: iconSize, color: iconColor, stroke: iconStroke }}
>
<Comp {...props} />
</IconProvider>
);
},
defaultProps: {
grayColor: 'slate',
accentColor: 'grass',
appearance: 'dark',
radius: 'medium',
panelBackground: 'translucent',
scaling: '105%',
},
});
And the version there is currently working that solved the issue looks like this;
<RadixTheme>
<IconProvider
value={{ size: iconSize, color: iconColor, stroke: iconStroke }}
{...props}
>
{children}
</IconProvider>
</RadixTheme>
fuel-ui
packagesThis one goes in the same PR of #186
As a developer actively working with the Fuel Network, I believe there is a significant need for a new blockchain explorer with enhanced features and a user-friendly interface, inspired by platforms like BlockScout.
The development of a new blockchain explorer is crucial for the developer community to enhance their experience when interacting with the Fuel Network. This will contribute to a more vibrant and engaged ecosystem.
I would appreciate insights into the expected development timeline and whether there is an opportunity for community collaboration in this project.
This one goes in the same PR of #186
We can create grap the important operations to show on the execution stack using the receipts returned when querying a transaction: https://gist.github.com/luizstacio/a5e51705a8965a3ece87cea90981fa15
The Dockerfile was unable to find / install curl / zip when the commands are RUN
separately.
The start.sh script had a syntax error on the function.
The advanced tab should show the following;
GraphQL query: https://gist.github.com/luizstacio/a5e51705a8965a3ece87cea90981fa15
Design: https://www.figma.com/file/VTWcuPxsUtKZDk0iKn3y7T/Fuel-Portal-Product-Board?type=design&node-id=2068-72541&mode=design&t=QvLFwOte6x138asK-4
User Story: As a developer, I shall have a GraphQL schema generator implemented on the indexer API to enable dynamic fetch schema generation and custom types implementation.
Acceptance Criteria:
this issue intents to test if all the flow works well even with contracts (eth and fuel side) of different decimal config than the regular ones
The account page is a group of tabs that show predicate, assets, and history. This task should create the main page with the tabs for later adding the content.
When the user sees a contractId on the application, he should be able to click on the contract and go to the contract page.
The advanced view of a block should show the whole query from the block including the transactions (id, type, timestamp, and status) in JSON. The JSON should be only the block, not the props from the GraphQL.
On the asset page account, the user should be able to visualize all the assets he has grouped by assetId and with UTXOs on the toggle when the asset is expanded. For this part, we can use the assets in the Transaction.
The NFT would be done after, as the data to support it is unavailable yet.
On the contact page on the balances tab, the user should see all the balances a contract holds. The assets should use the same components as the assets of the user, which means summarize by assetId, in this case, contract balances don't have UTXOs. This way, we can remove the toggle option.
To query the contract balances we can use: contractBalances
Explore if we can include Vitest (use PR from Pedro, message him to info)
We already have an Asset
component but I think it's not fully usable, need to check and update it to be able to use it across the project. Also integrate it with the new @fuels/asset
package.
ProductName: macOS
ProductVersion: 14.3.1
BuildVersion: 23D60
Google Chrome: Version 122.0.6261.69 (Official Build) (x86_64)
While the Bridge is in the settlement phase (shown above) or the Confirm transaction phase while it's open and on the screen, it's using so many of my machine's resources that Chrome becomes unusable and eventually the whole machine becomes unusable.
Let me know if you need more information.
User Story: As a developer, I want to create an infrastructure that allows testing the block explorer and automating these tests on the CI pipeline to ensure consistency and quality.
Acceptance Criteria:
Additional:
The block page is a group of tabs with a brief summary of the block. On this task, we should create only the header and the tabs for later adding the contents on the following tasks.
User Story: As a developer, I want to create a reliable and scalable infrastructure for the live block explorer indexer, ensuring that it processes and indexes blockchain data efficiently and effectively.
Acceptance Criteria:
The account page transactions tab should show the users all the transactions made by the user, sorted by the newer ones to the old ones. Once the user clicks on the transaction, it should open the transaction page.
Notes;
On the block page, transactions tab, the user should see a list of the transactions in the block.
FUEL_PROVIDER
FUEL_PROVIDER_URL
unify them to use only the
NEXT_PUBLIC_FUEL_CHAIN
then get the URL from there
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.