mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Also mention regular abi.encode in error message.
This commit is contained in:
parent
4154e1480b
commit
92cb4acd8a
@ -1797,7 +1797,10 @@ bool TypeChecker::visit(FunctionCall const& _functionCall)
|
|||||||
functionType->kind() == FunctionType::Kind::SHA256 ||
|
functionType->kind() == FunctionType::Kind::SHA256 ||
|
||||||
functionType->kind() == FunctionType::Kind::RIPEMD160
|
functionType->kind() == FunctionType::Kind::RIPEMD160
|
||||||
)
|
)
|
||||||
msg += " This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.";
|
msg +=
|
||||||
|
" This function requires a single bytes argument."
|
||||||
|
" Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour"
|
||||||
|
" or abi.encode(...) to use ABI encoding.";
|
||||||
m_errorReporter.typeError(_functionCall.location(), msg);
|
m_errorReporter.typeError(_functionCall.location(), msg);
|
||||||
}
|
}
|
||||||
else if (isPositionalCall)
|
else if (isPositionalCall)
|
||||||
@ -1853,7 +1856,10 @@ bool TypeChecker::visit(FunctionCall const& _functionCall)
|
|||||||
functionType->kind() == FunctionType::Kind::SHA256 ||
|
functionType->kind() == FunctionType::Kind::SHA256 ||
|
||||||
functionType->kind() == FunctionType::Kind::RIPEMD160
|
functionType->kind() == FunctionType::Kind::RIPEMD160
|
||||||
)
|
)
|
||||||
msg += " This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.";
|
msg +=
|
||||||
|
" This function requires a single bytes argument."
|
||||||
|
" Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour"
|
||||||
|
" or abi.encode(...) to use ABI encoding.";
|
||||||
m_errorReporter.typeError(arguments[i]->location(), msg);
|
m_errorReporter.typeError(arguments[i]->location(), msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,6 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
|
@ -6,6 +6,6 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
|
@ -6,6 +6,6 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// TypeError: (55-63): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (55-63): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (94-101): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (94-101): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (126-150): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (126-150): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
|
@ -7,6 +7,6 @@ contract C {
|
|||||||
function g(bytes32) pure internal {}
|
function g(bytes32) pure internal {}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// TypeError: (64-71): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (64-71): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (92-99): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (92-99): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
// TypeError: (123-130): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to properly encode the values.
|
// TypeError: (123-130): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||||
|
Loading…
Reference in New Issue
Block a user