Skip to content

Commit

Permalink
Implement RPC switching (#267)
Browse files Browse the repository at this point in the history
Adds a workaround for wagmi provider fallback 

---------

Co-authored-by: vladimir <[email protected]>
  • Loading branch information
maxaleks and r0wdy1 authored Jul 5, 2024
1 parent f4fa6df commit af37fcd
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 16 deletions.
20 changes: 18 additions & 2 deletions src/contexts/WalletContext/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,24 @@ const useEvmWallet = pool => {
}, [refetch]);

const callContract = useCallback(async (address, abi, method, params = [], isSend = false) => {
const contract = new ethers.Contract(address, abi, isSend ? signer : provider);
return contract[method](...params);
if (isSend) {
const contract = new ethers.Contract(address, abi, signer);
return contract[method](...params);
}
const providerConfigs = [...provider.providerConfigs].sort((a, b) => a.priority - b.priority);
async function call(index,providerConfigs) {
if (index >= provider.providerConfigs.length) {
throw new Error('Error calling contract');
}
try {
const contract = new ethers.Contract(address, abi, providerConfigs[index].provider);
return await contract[method](...params);
} catch (error) {
console.error(error);
return call(index + 1,providerConfigs);
}
}
return call(0, providerConfigs);
}, [provider, signer]);

return {
Expand Down
28 changes: 14 additions & 14 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -12783,15 +12783,15 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"

libzkbob-rs-wasm-web-mt@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/libzkbob-rs-wasm-web-mt/-/libzkbob-rs-wasm-web-mt-1.5.0.tgz#6a88fe3fdfcd0fe856fd791fa0976bdde2fea34b"
integrity sha512-2uwwE5mm32ITMvYgW3uPsPXLrPVutnpYB003wzDzMbPfF2EBjP1kh+sQwPUDmEl+ic4OSTXU/q3sdkWWmhUhRQ==
libzkbob-rs-wasm-web-mt@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/libzkbob-rs-wasm-web-mt/-/libzkbob-rs-wasm-web-mt-1.6.0.tgz#9437cdd240fb1ac47e6e3fbc7e34f45ade5af19e"
integrity sha512-nAfmUh8ZrQ5WfEc3v7+vWWRWjOy3uFWn/LRdIce7zmnq1t8X91MD+RgnPcHxbgDpz5eGpSn5V/OSc3XYPwm9aw==

libzkbob-rs-wasm-web@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/libzkbob-rs-wasm-web/-/libzkbob-rs-wasm-web-1.5.0.tgz#41c2b0a51a9283a96457bd5439cfeed27f866913"
integrity sha512-QlnFMNzqjFakkIDrST4kmOdr+OikMZVZoOi2B73F/kb/3elcPSA5vAjYM/AdmB3+Ojty4ZrQW1GnsFWJrebF5w==
libzkbob-rs-wasm-web@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/libzkbob-rs-wasm-web/-/libzkbob-rs-wasm-web-1.6.0.tgz#050887671fb1af20adb22a144e95e06c59e42460"
integrity sha512-Mtpc/pqutA2tUzb8nir7Ec2oXTSPbYvjf969QsJKcdJR/JmCGbv1gmylxjVdL7QnAUTH3ldt0jj5CU8v8X6yzw==

[email protected]:
version "3.1.1"
Expand Down Expand Up @@ -19015,10 +19015,10 @@ yocto-queue@^0.1.0:
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==

zkbob-client-js@5.4.1-beta:
version "5.4.1-beta"
resolved "https://registry.yarnpkg.com/zkbob-client-js/-/zkbob-client-js-5.4.1-beta.tgz#b7e9eee2e37835ed96ddedd69c5e7391f1ebae28"
integrity sha512-+shx8Adt9qsPQMuBQMXW891okxOeQmHcqqpc+VONhk26xgTCtGP076Zuh2Yw0loCavjBH6OG0GdSvgWI0m7YEA==
zkbob-client-js@5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/zkbob-client-js/-/zkbob-client-js-5.5.0.tgz#b5811083680b47562cb5fa7de8a789d8c216fed5"
integrity sha512-KJlQ6T1iy3uyZP/BbGwQSuK8zqsw1VUcMz3aSVrqMU9hgEbOUa18vF4U6IUELMsahw4QfPE/1W0lwAYmyNZShA==
dependencies:
"@ethereumjs/util" "^8.0.2"
"@graphprotocol/client-cli" "3.0.0"
Expand All @@ -19031,8 +19031,8 @@ [email protected]:
graphql "16.7.1"
hdwallet-babyjub "^0.0.2"
idb "^7.0.0"
libzkbob-rs-wasm-web "1.5.0"
libzkbob-rs-wasm-web-mt "1.5.0"
libzkbob-rs-wasm-web "1.6.0"
libzkbob-rs-wasm-web-mt "1.6.0"
promise-retry "^2.0.1"
promise-throttle "^1.1.2"
regenerator-runtime "^0.13.9"
Expand Down

0 comments on commit af37fcd

Please sign in to comment.