Replace "pragma experimental ABIEncoderV2" in tests where appropriate

And add a few tests for "pragma abicoder".
This commit is contained in:
Alex Beregszaszi
2021-01-15 19:57:09 +00:00
parent d4eb2bd0b4
commit e117c9516e
11 changed files with 24 additions and 20 deletions
@@ -1,4 +1,4 @@
pragma abicoder v1;
pragma experimental ABIEncoderV2;
pragma abicoder v2;
// ----
// SyntaxError 8273: (20-53): ABI coder v1 has already been selected through "pragma abicoder v1".
// SyntaxError 3845: (20-39): ABI coder has already been selected for this source unit.
@@ -0,0 +1,4 @@
pragma abicoder v1;
pragma experimental ABIEncoderV2;
// ----
// SyntaxError 8273: (20-53): ABI coder v1 has already been selected through "pragma abicoder v1".
@@ -0,0 +1 @@
pragma abicoder "v1";
@@ -0,0 +1 @@
pragma abicoder "v2";
@@ -1,4 +1,4 @@
pragma experimental ABIEncoderV2;
pragma abicoder v2;
function compareStrings(string memory s1, string memory s2) returns (bool) {
return keccak256(abi.encodePacked(s1)) == keccak256(abi.encodePacked(s2));
@@ -50,4 +50,4 @@ contract D is B, C {
}
}
// ----
// TypeError 4259: (440-445): Invalid type for argument in the function call. A contract type or an integer type is required, but type(contract super B) provided.
// TypeError 4259: (426-431): Invalid type for argument in the function call. A contract type or an integer type is required, but type(contract super B) provided.
@@ -1,5 +1,4 @@
pragma experimental "ABIEncoderV2";
pragma abicoder v2;
contract C {
struct S { uint x; uint[] b; }
function f() public pure returns (S memory, bytes memory, uint[][2] memory) {