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

[BUG] Skandha should report correct error code when receiving invalid bytes #251

Open
0xSulpiride opened this issue Sep 26, 2024 · 0 comments
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@0xSulpiride
Copy link
Member

Describe the bug

When receiving invalid sequence of bytes in a request, Skandha fails with code -32500. The correct error for these cases should be -32602

fuzz-skandha-1  | [09:09:59.241] INFO (1): REQUEST ::
fuzz-skandha-1  |     reqId: "req-1"
fuzz-skandha-1  |     method: "POST"
fuzz-skandha-1  |     url: "/rpc"
fuzz-skandha-1  |     body: {
fuzz-skandha-1  |       "jsonrpc": "2.0",
fuzz-skandha-1  |       "method": "eth_estimateUserOperationGas",
fuzz-skandha-1  |       "params": [
fuzz-skandha-1  |         {
fuzz-skandha-1  |           "sender": "0x49Aa4e8210822CCd50b966944D415e5b4667AE3E",
fuzz-skandha-1  |           "nonce": "0xe4dda21c73a936ae8bfaf9974edc9ba657609b9d2c3692281c50db60ca098720",
fuzz-skandha-1  |           "initCode": "0x3fab184622dc19b6109349b94811493bf2a45362ba8a03c918bde7b28b1c1acb3a9c0bc9cc0b12e570c54ffd4242ae7ba53b596d998b2fe485f146ab303acfc277e544830e412ccb90fa9f2ac4501fe034c76b1b",
fuzz-skandha-1  |           "callData": "0x1000330a5618655f4358608b8121fe36cf9b4c67fe356da7c19477548e93f171ae0d8922ace2255ff1156425e6a57d862fb20fad619993d537a37acf5dd2935d14023500d0ea25c25e7cf668d47be0f813ac3750801170af3c54e63aafcdf5042691e63e986ea22f9878eb366a73ffdf4dab34f595111721abdfe366d081d8ff432347847f047b8fcb92091a08d66e0e13f66697439549759a5493c32e771c245f143bd27a9a5ca8fe72c3e498c86730b248e62f81c3b1a0b3d0f754064747ba56c72c6768b63f5fd07de1ac7f3a7e11b7a1622730d311de2790947124d960f784fe292bc9f586c62d2f803f7b89cec8fbb04d7cf0acfc3596e926ed03f8ed4eb6a2a13a029ab25be55f4ab2f148fae98d2331d960bc335e9c",
fuzz-skandha-1  |           "callGasLimit": "0xc4aeb",
fuzz-skandha-1  |           "verificationGasLimit": "0x1d2248",
fuzz-skandha-1  |           "preVerificationGas": "0xe822",
fuzz-skandha-1  |           "maxFeePerGas": "0xb948e19b6",
fuzz-skandha-1  |           "maxPriorityFeePerGas": "0xee6b2800",
fuzz-skandha-1  |           "paymasterAndData": "0xfe4e81a0bc0a9749a965de2aad06bae3a5d309e80xb129bd3dd5f7caedc14d194ac96869db8d572a8ea43f2d8f23f841f63928ea27fda094639a9600abdef20efd6c20fc799737117f68bc6f33d724c0420aa1dd6fe9e7a52785aa14bd9938fa658388b5ec83daa67f7774bce5f6854c8d7c31294d706a47a6a72709e792c0901193b55fc5d963a3604d0affe35103d58fd037c06bf997f49c723bf23b9b6bfbfd0d3e9c2c9f95ba9f9b74f912d320c11eb40a8134fcdb95f8d3634a0c85e1f0746868d65b9aa0233a6bb22eafea3b8379865584b9b59f235a07e5a4b1b8e003fea401da8395067ea9ec72c7e54c479e7dbfee0d0bae7c84309fe5a1dacd5eccb3d54ddbebaa26ddc75c4723fb54017083f80ba1203adbee738292544134f855352628c575222289963dded4fe5f7252a58c92e27804ec8c99296c0fcb33f97d4b8c9cd1855cd642548f177f2db62d1b4fcf66e12ec413bc0a2cf56c0bd97e27c9a83c2153b2c7a1d966c42adb0429b5c9668835697be69bbf4ec61577baf34c99a01bedd25cc33517e7d2096c94aa8bee06af22de166d3746a7e5c74f8da1a686315ad6a367244537d1c5694f08e9f0f176969ee9e29e1e39a1b856a903595d237fa4e517de605b4030b49b79e11031dcabab5d204376152e1e7f407046c65597e7553edaadcd8f48c0ff45b1b5336401e4f0b6754b7fbe98823ddb814a801dae83015de4a3d716e314463d444be4a242f77fc061e8076fa166d2",
fuzz-skandha-1  |           "signature": "0x545c2955c35c8c2417e9342af454b228e94e60a1f556b7df90c08a11abdc49084ce38df257ad30f5c1252a55acca3ebb37130942d481a6552ea9b73dc981e8db5f"
fuzz-skandha-1  |         },
fuzz-skandha-1  |         "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
fuzz-skandha-1  |       ],
fuzz-skandha-1  |       "id": 1
fuzz-skandha-1  |     }
fuzz-skandha-1  | [09:09:59.260] ERROR (1): Error: invalid arrayify value (argument="value", value="0xfe4e81a0bc0a9749a965de2aad06bae3a5d309e80xb129bd3dd5f7caedc14d194ac96869db8d572a8ea43f2d8f23f841f63928ea27fda094639a9600abdef20efd6c20fc799737117f68bc6f33d724c0420aa1dd6fe9e7a52785aa14bd9938fa658388b5ec83daa67f7774bce5f6854c8d7c31294d706a47a6a72709e792c0901193b55fc5d963a3604d0affe35103d58fd037c06bf997f49c723bf23b9b6bfbfd0d3e9c2c9f95ba9f9b74f912d320c11eb40a8134fcdb95f8d3634a0c85e1f0746868d65b9aa0233a6bb22eafea3b8379865584b9b59f235a07e5a4b1b8e003fea401da8395067ea9ec72c7e54c479e7dbfee0d0bae7c84309fe5a1dacd5eccb3d54ddbebaa26ddc75c4723fb54017083f80ba1203adbee738292544134f855352628c575222289963dded4fe5f7252a58c92e27804ec8c99296c0fcb33f97d4b8c9cd1855cd642548f177f2db62d1b4fcf66e12ec413bc0a2cf56c0bd97e27c9a83c2153b2c7a1d966c42adb0429b5c9668835697be69bbf4ec61577baf34c99a01bedd25cc33517e7d2096c94aa8bee06af22de166d3746a7e5c74f8da1a686315ad6a367244537d1c5694f08e9f0f176969ee9e29e1e39a1b856a903595d237fa4e517de605b4030b49b79e11031dcabab5d204376152e1e7f407046c65597e7553edaadcd8f48c0ff45b1b5336401e4f0b6754b7fbe98823ddb814a801dae83015de4a3d716e314463d444be4a242f77fc061e8076fa166d2", code=INVALID_ARGUMENT, version=bytes/5.7.0)
fuzz-skandha-1  |     err: {
fuzz-skandha-1  |       "type": "RpcError",
fuzz-skandha-1  |       "message": "Error: invalid arrayify value (argument=\"value\", value=\"0xfe4e81a0bc0a9749a965de2aad06bae3a5d309e80xb129bd3dd5f7caedc14d194ac96869db8d572a8ea43f2d8f23f841f63928ea27fda094639a9600abdef20efd6c20fc799737117f68bc6f33d724c0420aa1dd6fe9e7a52785aa14bd9938fa658388b5ec83daa67f7774bce5f6854c8d7c31294d706a47a6a72709e792c0901193b55fc5d963a3604d0affe35103d58fd037c06bf997f49c723bf23b9b6bfbfd0d3e9c2c9f95ba9f9b74f912d320c11eb40a8134fcdb95f8d3634a0c85e1f0746868d65b9aa0233a6bb22eafea3b8379865584b9b59f235a07e5a4b1b8e003fea401da8395067ea9ec72c7e54c479e7dbfee0d0bae7c84309fe5a1dacd5eccb3d54ddbebaa26ddc75c4723fb54017083f80ba1203adbee738292544134f855352628c575222289963dded4fe5f7252a58c92e27804ec8c99296c0fcb33f97d4b8c9cd1855cd642548f177f2db62d1b4fcf66e12ec413bc0a2cf56c0bd97e27c9a83c2153b2c7a1d966c42adb0429b5c9668835697be69bbf4ec61577baf34c99a01bedd25cc33517e7d2096c94aa8bee06af22de166d3746a7e5c74f8da1a686315ad6a367244537d1c5694f08e9f0f176969ee9e29e1e39a1b856a903595d237fa4e517de605b4030b49b79e11031dcabab5d204376152e1e7f407046c65597e7553edaadcd8f48c0ff45b1b5336401e4f0b6754b7fbe98823ddb814a801dae83015de4a3d716e314463d444be4a242f77fc061e8076fa166d2\", code=INVALID_ARGUMENT, version=bytes/5.7.0)",
fuzz-skandha-1  |       "stack":
fuzz-skandha-1  |           Error: Error: invalid arrayify value (argument="value", value="0xfe4e81a0bc0a9749a965de2aad06bae3a5d309e80xb129bd3dd5f7caedc14d194ac96869db8d572a8ea43f2d8f23f841f63928ea27fda094639a9600abdef20efd6c20fc799737117f68bc6f33d724c0420aa1dd6fe9e7a52785aa14bd9938fa658388b5ec83daa67f7774bce5f6854c8d7c31294d706a47a6a72709e792c0901193b55fc5d963a3604d0affe35103d58fd037c06bf997f49c723bf23b9b6bfbfd0d3e9c2c9f95ba9f9b74f912d320c11eb40a8134fcdb95f8d3634a0c85e1f0746868d65b9aa0233a6bb22eafea3b8379865584b9b59f235a07e5a4b1b8e003fea401da8395067ea9ec72c7e54c479e7dbfee0d0bae7c84309fe5a1dacd5eccb3d54ddbebaa26ddc75c4723fb54017083f80ba1203adbee738292544134f855352628c575222289963dded4fe5f7252a58c92e27804ec8c99296c0fcb33f97d4b8c9cd1855cd642548f177f2db62d1b4fcf66e12ec413bc0a2cf56c0bd97e27c9a83c2153b2c7a1d966c42adb0429b5c9668835697be69bbf4ec61577baf34c99a01bedd25cc33517e7d2096c94aa8bee06af22de166d3746a7e5c74f8da1a686315ad6a367244537d1c5694f08e9f0f176969ee9e29e1e39a1b856a903595d237fa4e517de605b4030b49b79e11031dcabab5d204376152e1e7f407046c65597e7553edaadcd8f48c0ff45b1b5336401e4f0b6754b7fbe98823ddb814a801dae83015de4a3d716e314463d444be4a242f77fc061e8076fa166d2", code=INVALID_ARGUMENT, version=bytes/5.7.0)
fuzz-skandha-1  |               at parseErrorResult (file:///usr/app/packages/executor/lib/services/UserOpValidation/utils.js:50:19)
fuzz-skandha-1  |               at UnsafeValidationService.validateUnsafely (file:///usr/app/packages/executor/lib/services/UserOpValidation/validators/unsafe.js:21:16)
fuzz-skandha-1  |               at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
fuzz-skandha-1  |               at async UserOpValidationService.validateForEstimationWithSignature (file:///usr/app/packages/executor/lib/services/UserOpValidation/service.js:29:16)
fuzz-skandha-1  |               at async Eth.estimateUserOperationGasWithSignature (file:///usr/app/packages/executor/lib/modules/eth.js:176:32)
fuzz-skandha-1  |               at async EthAPI.estimateUserOpGasAndValidateSignature (file:///usr/app/packages/api/lib/modules/eth.js:26:16)
fuzz-skandha-1  |               at async ApiApp.handleRpcRequest (file:///usr/app/packages/api/lib/app.js:205:34)
fuzz-skandha-1  |               at async Object.<anonymous> (file:///usr/app/packages/api/lib/app.js:41:28)
fuzz-skandha-1  |       "code": -32500
fuzz-skandha-1  |     }
fuzz-skandha-1  | [09:09:59.262] INFO (1): RESPONSE ::
fuzz-skandha-1  |     reqId: "req-1"
fuzz-skandha-1  |     body: {
fuzz-skandha-1  |       "jsonrpc": "2.0",
fuzz-skandha-1  |       "id": 1,
fuzz-skandha-1  |       "error": {
fuzz-skandha-1  |         "message": "Error: invalid arrayify value (argument=\"value\", value=\"0xfe4e81a0bc0a9749a965de2aad06bae3a5d309e80xb129bd3dd5f7caedc14d194ac96869db8d572a8ea43f2d8f23f841f63928ea27fda094639a9600abdef20efd6c20fc799737117f68bc6f33d724c0420aa1dd6fe9e7a52785aa14bd9938fa658388b5ec83daa67f7774bce5f6854c8d7c31294d706a47a6a72709e792c0901193b55fc5d963a3604d0affe35103d58fd037c06bf997f49c723bf23b9b6bfbfd0d3e9c2c9f95ba9f9b74f912d320c11eb40a8134fcdb95f8d3634a0c85e1f0746868d65b9aa0233a6bb22eafea3b8379865584b9b59f235a07e5a4b1b8e003fea401da8395067ea9ec72c7e54c479e7dbfee0d0bae7c84309fe5a1dacd5eccb3d54ddbebaa26ddc75c4723fb54017083f80ba1203adbee738292544134f855352628c575222289963dded4fe5f7252a58c92e27804ec8c99296c0fcb33f97d4b8c9cd1855cd642548f177f2db62d1b4fcf66e12ec413bc0a2cf56c0bd97e27c9a83c2153b2c7a1d966c42adb0429b5c9668835697be69bbf4ec61577baf34c99a01bedd25cc33517e7d2096c94aa8bee06af22de166d3746a7e5c74f8da1a686315ad6a367244537d1c5694f08e9f0f176969ee9e29e1e39a1b856a903595d237fa4e517de605b4030b49b79e11031dcabab5d204376152e1e7f407046c65597e7553edaadcd8f48c0ff45b1b5336401e4f0b6754b7fbe98823ddb814a801dae83015de4a3d716e314463d444be4a242f77fc061e8076fa166d2\", code=INVALID_ARGUMENT, version=bytes/5.7.0)",
fuzz-skandha-1  |         "code": -32500
fuzz-skandha-1  |       }
fuzz-skandha-1  |     }

Expected behavior

Error code for invalid sequence of bytes in a request should be -32602

Steps to reproduce

No response

Additional context

No response

Operating system

macOS

Skandha version or commit hash

v1-1.5.26

@0xSulpiride 0xSulpiride changed the title [BUG] Skandha should report correct error code when receiving invalid value [BUG] Skandha should report correct error code when receiving invalid bytes Sep 26, 2024
@ch4r10t33r ch4r10t33r added bug Something isn't working good first issue Good for newcomers labels Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Development

No branches or pull requests

2 participants