Open serdave-eth opened 2 hours ago
Sorry should've included the output when I try decrypting (apologies for it being so long):
Request error message:
[Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.369Z] [ERROR] [core] [id: 3c01037749fa6] Something went wrong, internal id for request: lit_3c01037749fa6. Please provide this identifier with any support requests. Error is Error related to a blockchain or its contract - RPC error: Error { code: ServerError(-32000), message: "execution reverted", data: None }
[Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.389Z] [ERROR] [core] [id: 3c01037749fa6] most common error: {"errorKind":"Blockchain","errorCode":"NodeBlockchainError","status":502,"message":"Error related to a blockchain or its contract","correlationId":"lit_3c01037749fa6","details":["RPC error: Error { code: ServerError(-32000), message: \"execution reverted\", data: None }"]}
errConstructorFunc {
message: 'Error related to a blockchain or its contract',
errorCode: 'NodeBlockchainError',
errorKind: 'Blockchain',
status: 502,
details: [
'RPC error: Error { code: ServerError(-32000), message: "execution reverted", data: None }'
],
requestId: '3c01037749fa6'
}
Hey FYI that code isn't publicly reachable (gives me 404 like it's a private repo):
You can find my example code here:
https://github.com/serdave-eth/lit-cli-debug/blob/frontend-dev-changes/src/decryptFileSiweParam.ts
Also maybe wrap your output so the issue is easier to navigate π
<details>
<summary>Click to reveal more details</summary>
This text will be hidden until the summary is clicked. You can write anything here, including more Markdown.
- List item 1
- List item 2
**Bold text** or *italic text* works too!
</details>
Hey there, we can try to debug this further, but judging by the error:
Error related to a blockchain or its contract
at the Lit node logs for your request:
Handling API error {
"error": {
"pkg": "lit_node",
"kind": "Blockchain",
"code": "NodeBlockchainError",
"msg": "Error making RPC Call",
"source": "Rpc(Error { code: ServerError(-32000), message: \"execution reverted\", data: None })",
"caller": {
"file": "src/access_control/mod.rs:107:13"
}
},
"correlation_id": "lit_3c01037749fa6",
"lit_sdk_version": "6.5.0"
}
it looks like the request is failing because the contract call is reverting. If you make the same RPC call you're asking Lit to make directly to your RPC URL, is it successful?
Sorry forgot the repo is private! Attached are the key files: Lit Example.zip
If I run the contract call it returns true:
https://sepolia.basescan.org/address/0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686#readContract
Try running checkPermission with these inputs: 01671731c8b33787d0478a6c34211d913d72cfe3e5c090df2070181e456a3130, 0x21c0d9980417b4BaA894742734153Fd1b048025a
But I'm not sure if the inputs are being passed correctly when I'm passing one of them through the SIWE message. Is there a way to check that?
Description of the issue
I am trying to decrypt a file using a SIWE param in a custom contract call per this document:
https://developer.litprotocol.com/sdk/access-control/evm/custom-contract-calls
You can find my example code here:
https://github.com/serdave-eth/lit-cli-debug/blob/frontend-dev-changes/src/decryptFileSiweParam.ts
And the code that calls it here:
https://github.com/serdave-eth/lit-cli-debug/blob/frontend-dev-changes/test/endToEndTest.ts
You can run the test using this command in the root directory:
npx ts-node test/endToEndTest.ts 0x4f57fcf62f181b8ce9eda57b7037a84953f10398d92225d54171123bb091dc55 decrypt-siwe ../ciphertext ../dataToEncryptHash
The first entry is the private key of a wallet with an NFT that grants access to the file (don't worry this wallet has nothing in it besides that NFT), the second entry is the command to run (decrypt-siwe) and the last two commands are the ciphertext and hash for decrypting.
I have a smart contract with a function "checkPermission" that takes two inputs. The first input is the hash of the file and the second input is the useraddress. I define the access control condition and SIWE parameters on lines 40 - 115 in decryptFileSiweParams.ts. If I hardcode the hash of the file into the contract condition and uncomment line 93, I am able to decrypt the file.
I think I might be doing something wrong with setting up the resources. I tried looking through the Lit github for an example of how to do this and couldn't find anything, so any help would be greatly appreciated!
Additional context
No response