mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
LLL: Fix msg macro with six arguments.
The previous macro used the set built-in in a way incompatible with the current implementation of set. This commit updates the macro to be more transparent in how it's working and avoids the use of the set and alloc built-ins.
This commit is contained in:
1 parent
f823952d9f
commit
0175008ffa
2 files changed
+19
-1
No files matched your search
@@ -366,6 +366,23 @@ BOOST_AUTO_TEST_CASE(keccak256_32bytes)
|
||||
fromHex("b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6")));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(msg_six_args)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
(returnlll
|
||||
(seq
|
||||
(when (= 0 (calldatasize))
|
||||
(seq
|
||||
(mstore 0x40 1)
|
||||
(def 'outsize 0x20)
|
||||
(return (msg 1000 (address) 42 0x40 0x20 outsize) outsize)))
|
||||
(when (= 1 (calldataload 0x00))
|
||||
(return (callvalue)))))
|
||||
)";
|
||||
compileAndRun(sourceCode);
|
||||
BOOST_CHECK(callFallbackWithValue(42) == encodeArgs(u256(42)));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(create_1_arg)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
|
||||
Reference in new issue
Block a user