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

[proposal] eth_getLogs unreliable on L2 providers, stops validation. #723

Closed
RobertoSnap opened this issue Oct 20, 2021 · 2 comments
Closed
Labels
bug Something isn't working enhancement New feature or request wontfix This will not be worked on

Comments

@RobertoSnap
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Im always frustrated when suddenly VPs are treated as invalid.

We are checking validity through

 async validVP(jwt: string) {
    try {
      await this.agent.handleMessage({
        raw: jwt,
      });
      return true;
    } catch (error) {
      console.log('VP not valid => ', error);
      return false;
    }
  }

This then returns

JWT not valid =>  Error: Unsupported message type

Going abit deeper:
image
image

The reason

image

The cause

20-10-2021 at 18 48 35
https://status.alchemy.com/

Describe the solution you'd like

  1. Better error messages for what goes wrong when validating a VP.
  2. Could there be a backup method for resolving did:ethr if eth_getLogs are failing?

Describe alternatives you've considered
Switching to L2 node providers while they are haveing trouble. Like Infura, but conspiring if they also have same issues. Though i dont have a good way of detecting it.

@RobertoSnap RobertoSnap added the enhancement New feature or request label Oct 20, 2021
@RobertoSnap RobertoSnap changed the title [proposal] eth_getLogs unreliable on L2 providers, stops very validation. [proposal] eth_getLogs unreliable on L2 providers, stops validation. Oct 20, 2021
@mirceanis
Copy link
Member

Excellent bug report!

We're already working on better error handling #588 and better verification api #375

In the meantime, perhaps we can leverage FallbackProvider/defaultProvider from ethersjs https://docs.ethers.io/v5/api/providers/#providers-getDefaultProvider when L2 providers fail. But I suppose this requires eth_getLogs to signal failure; I'm not sure if it actually happens.

I'll try to come back with some configuration example with these fallbacks

@mirceanis mirceanis added bug Something isn't working pinned don't close this just for being stale labels Oct 20, 2021
@mirceanis mirceanis removed the pinned don't close this just for being stale label Sep 6, 2022
@stale
Copy link

stale bot commented Nov 12, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Nov 12, 2022
@stale stale bot closed this as completed Jun 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants