Relayer-sdk error

Hey,
I have a simple deployed and verified to sepolia fhe-smart contract which accept a payload from the client in order to encrypt it
I have built on top a web app which wraps the payload from mm wallet and sends it to relayer sdk. I do not use any hardcode config but just the fhevm-ts-sdk/react along with wagmi for the wallet conf:

 const { status: fhevmStatus, error: fhevmError, instance } = useFhevmContext();
 builder.add128(parsedAmount);
  console.log(`Calling encrypt() (attempt ${attempt}/${maxRetries})...`);
  encrypted = await builder.encrypt();

using the default sepolia config:
try {
sepoliaConfig = (sdkModule as any).SepoliaConfig;
fhevmInstance = await createInstanceFn(sepoliaConfig);
}
but from the browser network console I am getting errors for resolving the relayer:

relayer-sdk-js.umd.cjs:20  POST https://relayer.testnet.zama.cloud/v1/input-proof net::ERR_NAME_NOT_RESOLVED
T @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
setTimeout
E @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
Promise.catch
T @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
setTimeout
E @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
Promise.catch
T @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
setTimeout
E @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
Promise.catch
T @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
setTimeout
E @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
Promise.catch
T @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
setTimeout
E @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
Promise.catch
T @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
(anonymous) @ relayer-sdk-js.umd.cjs:20
Zu @ relayer-sdk-js.umd.cjs:22
encrypt @ relayer-sdk-js.umd.cjs:22
handlePrepare @ PayPayloadForm.tsx:116
executeDispatch @ react-dom-client.development.js:20448
runWithFiberInDEV @ react-dom-client.development.js:985
processDispatchQueue @ react-dom-client.development.js:20498
eval @ react-dom-client.development.js:21069
batchedUpdates$1 @ react-dom-client.development.js:3376
dispatchEventForPluginEventSystem @ react-dom-client.development.js:20652
dispatchEvent @ react-dom-client.development.js:25581
dispatchDiscreteEvent @ react-dom-client.development.js:25549Understand this error
PayPayloadForm.tsx:123 ❌ Encryption attempt 1 failed: {message: "Relayer didn't response correctly. Bad JSON.", errorString: "Error: Relayer didn't response correctly. Bad JSON.", errorType: 'Error', errorKeys: Array(0)}
PayPayloadForm.tsx:165 Encryption failed: Error: Relayer didn't response correctly. Bad JSON.
    at Pg (relayer-sdk-js.umd.cjs:22:21983)
    at Zu (relayer-sdk-js.umd.cjs:22:22442)
    at async Object.encrypt (relayer-sdk-js.umd.cjs:22:33983)
    at async handlePrepare (PayPayloadForm.tsx:116:23)
error @ intercept-console-error.js:52
handlePrepare @ PayPayloadForm.tsx:165
await in handlePrepare
executeDispatch @ react-dom-client.development.js:20448
runWithFiberInDEV @ react-dom-client.development.js:985
processDispatchQueue @ react-dom-client.development.js:20498
eval @ react-dom-client.development.js:21069
batchedUpdates$1 @ react-dom-client.development.js:3376
dispatchEventForPluginEventSystem @ react-dom-client.development.js:20652
dispatchEvent @ react-dom-client.development.js:25581
dispatchDiscreteEvent @ react-dom-client.development.js:25549Understand this error
PayPayloadForm.tsx:166 Full error object: {"stack":"Error: Relayer didn't response correctly. Bad JSON.\n    at Pg (https://cdn.zama.ai/relayer-sdk-js/0.2.0/relayer-sdk-js.umd.cjs:22:21983)\n    at Zu (https://cdn.zama.ai/relayer-sdk-js/0.2.0/relayer-sdk-js.umd.cjs:22:22442)\n    at async Object.encrypt (https://cdn.zama.ai/relayer-sdk-js/0.2.0/relayer-sdk-js.umd.cjs:22:33983)\n    at async handlePrepare (webpack-internal:///(app-pages-browser)/./components/PayPayloadForm.tsx:113:33)","message":"Relayer didn't response correctly. Bad JSON.","cause":{}}

Any ideas if there is any need for hardcode configuration setup?

@Cryptos I changed the category to target the fhevm as it seems you are working with it.

Thanks for flagging up. From the logs you’ve shared, I suspect that you’re v0.2.0 of the Relayer SDK. Is that correct?

If yes, the reason this is not working is that version of the SDK was targetting testnet v1, which has been sunset. Testnet v2 requires using Relayer SDK v0.3.0-5 or above. You might also need to follow this migration guide and set the correct settings in the SDK (which should already be the case by default).

i am a bit confused, I am working with the latest version of “fhevm-ts-sdk”: “^0.1.1”,
which depends on @fhevm/mock-utils@0.1.0 , which requires @zama-fhe/relayer-sdk@“^0.2.0
So what are you suggesting to do in order to switch to @zama-fhe/relayer-sdk@”^0.3-0.5? (That 4h delay before next message it is bit unproductive :slight_smile: )

Hi @Cryptos ! The fhevm-ts-sdk package you are using is not maintained by Zama. Please use the @zama-fhe/relayer-sdk version 0.3.0-5 package instead. For more informations: https://docs.zama.org

1 Like