aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorbenjaminion <ben@edginet.org>2017-06-18 04:05:28 +0800
committerbenjaminion <ben@edginet.org>2017-06-22 06:35:27 +0800
commit35bf91407ea03a8fabbfe7e312720dd90945d1a4 (patch)
tree1b6f4c5f3df7eba1715a5ac69ca63ef42440b130 /test
parent6cab6b6f4963bddab5d1137e42169f7fe104f050 (diff)
downloaddexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.tar
dexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.tar.gz
dexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.tar.bz2
dexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.tar.lz
dexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.tar.xz
dexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.tar.zst
dexon-solidity-35bf91407ea03a8fabbfe7e312720dd90945d1a4.zip
LLL: Test case for ecrecover built-in macro.
Diffstat (limited to 'test')
-rw-r--r--test/liblll/EndToEndTest.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/liblll/EndToEndTest.cpp b/test/liblll/EndToEndTest.cpp
index 3928ff45..3668038d 100644
--- a/test/liblll/EndToEndTest.cpp
+++ b/test/liblll/EndToEndTest.cpp
@@ -328,6 +328,25 @@ BOOST_AUTO_TEST_CASE(sha3_one_arg)
fromHex("b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6")));
}
+BOOST_AUTO_TEST_CASE(ecrecover)
+{
+ char const* sourceCode = R"(
+ (returnlll
+ (return
+ (ecrecover
+ ; Hash of 'hello world'
+ 0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad
+ ; v = 1 + 27
+ 0x1c
+ ; r
+ 0xdebaaa0cddb321b2dcaaf846d39605de7b97e77ba6106587855b9106cb104215
+ ; s
+ 0x61a22d94fa8b8a687ff9c911c844d1c016d1a685a9166858f9c7c1bc85128aca)))
+ )";
+ compileAndRun(sourceCode);
+ BOOST_CHECK(callFallback() == encodeArgs(fromHex("0x8743523d96a1b2cbe0c6909653a56da18ed484af")));
+}
+
BOOST_AUTO_TEST_CASE(shift_left)
{
char const* sourceCode = R"(