solidity/test/buglist_test_vectors.md

1.4 KiB

NestedArrayFunctionCallDecoder

buggy

function f() pure returns (uint[2][2]) { }

--

function f() returns (uint[2][2] a) { }

--

function f() returns (uint x, uint[200][2] a) { }

--

function f() returns (uint[200][2] a, uint x) { }

--

function f() returns (uint[200][2] a, uint x);

--

function f() returns ( uint [ 200 ] [2] a, uint x);

--

function f() returns ( uint [ ContractName.ConstantName ] [2] a, uint x);

fine

function f() returns (uint[2]) { }

--

function f() public pure returns (uint[2][] a) { }

--

function f() public pure returns (uint[ 2 ] [ ] a) { }

--

function f() public pure returns (uint x, uint[] a) { }

--

function f(uint[2][2]) { }

--

function f() m(uint[2][2]) { }

--

function f() returns (uint, uint) { uint[2][2] memory x; }

ExpExponentCleanup

buggy

x ** y

--

x ** uint8(y)

--

x**y

fine

x ** 2

--

x**2

--

x**200

--

/** bla **/

--

/**/

EventStructWrongData

buggy

pragma experimental ABIEncoderV2; contract C { struct S { uint x; } event E(S); event F(S); enum A { B, C } event G(A); function f(S s); }

--

pragma experimental ABIEncoderV2; contract C { struct S { uint x; } event E(S indexed); event F(uint, S, bool); }

fine

pragma experimental ABIEncoderV2; contract C { struct S { uint x; } enum A { B, C } event G(A); }

--

pragma experimental ABIEncoderV2; contract C { struct S { uint x; } function f(S s); S s1; }