Solidity
ParserError:應為“,”但得到“}”
我看到了類似的問題,但我的問題與任何已回答的問題都不匹配。我在一個庫中編寫了一個函式,該函式還包含彙編程式碼,但出現意外的解析器錯誤。
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.11; library CryptoSuite { function splitSignature(bytes memory _sign) internal pure returns(uint8 v, bytes32 r, bytes32 s) { require(_sign.length == 65); //accessing virtual machine to make low level changes. assembly { //first 32 bytes r := mload(add(_sign, 32)) //next 32 bytes s := mload(add(_sign, 64)) //last 32 bytes v := byte(0, mload(add(_sign, 96)) } //getting error here in remix. return (v, r, s); } //split Signature, recieve signature for message, extract signer from that message function recoverSigner(bytes32 _message, bytes memory _sign) internal pure returns(address){ //first get values (uint8 v, bytes32 r, bytes32 s) = splitSignature(_sign); return ecrecover(_message, v, r, s); } }
錯誤說
ParserError: Expected ',' but got '}'
請任何人幫助我。
以下行中缺少右括號
v := byte(0, mload(add(_sign, 96))
。該行應以“)))”結尾。v := byte(0, mload(add(_sign, 96)))