Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce number of calls to send txs via connectors #3545

Open
danielbate opened this issue Jan 6, 2025 · 1 comment
Open

Reduce number of calls to send txs via connectors #3545

danielbate opened this issue Jan 6, 2025 · 1 comment
Assignees
Labels
chore Issue is a chore

Comments

@danielbate
Copy link
Member

danielbate commented Jan 6, 2025

Note

This may have crossover issues in the connectors repo, still TBD

For a basic transaction, submitted via the FuelConnector, the following network requests are made:

  • Estimate gas price
  • Dry run
  • Get coins to spend
  • Submission subscription
  • Status subscription
  • Get transaction with receipts
  • Get latest gas price

Part of this can be mitigated through tx pre bundling (#3495, #3539) and offering less abstract approaches for consumers (#3541), but we should also investigate the source of the problems in our primary flows (call()->waitForResult() etc.) to improve performance for the majority of our consumers.

@danielbate
Copy link
Member Author

danielbate commented Jan 9, 2025

The final get latest gas price call to build the summary has now been eliminated in #3559.

Estimating and funding a TX can only be improved from a DX POV, by performing this optimistically. This will be outlined by #3495 where it will implement #3541. This process then builds the result solely from the submitAndAwaitStatus subscription, therefore not needing the status subscription and get tx with receipts call.

However for users that don't use that flow, there is an opportunity to remove a redundant get tx with receipts call if we can return a TransactionResponse from the connectors sendTransaction rather than just the string tx ID. This would be a large breaking change. Will investigate this further as part of this issue. But each flow is represented in a test in #3568.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Issue is a chore
Projects
None yet
Development

No branches or pull requests

1 participant