-
Notifications
You must be signed in to change notification settings - Fork 9
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
Implement Dynamic RPC pick handler #3
Comments
/start |
Tips:
|
looking at the committer solution indeed this blacklist it's not a good idea because it's manually blacklisting each RPC it's senseless |
# No linked pull requests to close |
this is resolved in ubiquity/pay.ubq.fi#177, the temporary fix was preventing the claim button from flickering on the live portal (since only gnosis is used right now I only blacklisted those that were failing), senseless but effective We can't know if an rpc call is going to fail until it's attempted, those that fail return no data through So we can't dynamically pop RPCs from the list until they've been tried at least once and even then with no data returned there are no bad latency entries to pop either I think filtering out the chainlist/extraRpcs.js {
url: "https://eth.nodeconnect.org/",
tracking: "yes",
trackingDetails: privacyStatement.nodeconnect,
},
{
url: "https://rpc.polysplit.cloud/v1/chain/1",
tracking: "none",
trackingDetails: privacyStatement.polysplit,
},
{
url: "https://eth-mainnet.diamondswap.org/rpc",
tracking: "limited",
trackingDetails: privacyStatement.diamondswap,
}, |
it's senseless to send each time a PR to just blacklist a RPC |
I handled all of those cases in my unstable branch. It starts with a Promise.race and then continues with the fastest functional RPC basically. Tracking I didn't care about but we can eventually get around to it. I think what makes the most sense is to actually create a standalone |
Context: https://chat.openai.com/share/3c64624c-f8dc-4066-ba69-e86c08a75ee0 |
/start |
Tips:
|
Should I work from |
If you're proficient with sync-erc-permits, consider forking another branch and merging changes from main or development. Then, ensure all changes align with your intended outcome." |
I think it might be easier from scratch although you are definitely welcome to reference my logic. I realized that my implementation was overly complicated when it didn't need to be for our business goals. I only realized after taking a step back and writing this spec lol |
moving this to RPC handler repo |
+ Evaluating results. Please wait... |
The permit was not generated. @pavlovcik Do we need a manual payout here? @FernandVEYRIER Could you take a look at the root cause of why the permit was not generated and perhaps create a new issue for this case? |
permit was not generated due to an already known issue https://github.com/ubiquibot/comment-incentives/actions/runs/8276258518/job/22645535224#step:5:798 |
+ Evaluating results. Please wait... |
My biggest bounty yet, ty team |
@Keyrxng you think you can swap out the logic in the repos using the old version with your package? I'm not sure which all have it off hand but I assume onboard, audit, and pay have this logic. |
We want to use Chainlist's list of RPC endpoints. Create a class that will handle this:
Promise.race
We will use this across all of our products that require RPC calls so:
Original Spec
The code should drop bad RPCs dynamically. I had a prototype implemented where it would delete from local storage if there was an error for example. Later in the code it would only select from local storage options.
Originally posted by @pavlovcik in ubiquity/pay.ubq.fi#169 (comment)
The text was updated successfully, but these errors were encountered: