From d6000be3699cdf377d1b1cbe0bf03ea33fc94112 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Fri, 17 Jan 2020 01:57:07 -0800 Subject: [PATCH] Add ReasonLIGO CHECK_SIGNATURE test to suite --- src/test/contracts/check_signature.religo | 4 ++++ src/test/integration_tests.ml | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/test/contracts/check_signature.religo diff --git a/src/test/contracts/check_signature.religo b/src/test/contracts/check_signature.religo new file mode 100644 index 000000000..9d2f266ce --- /dev/null +++ b/src/test/contracts/check_signature.religo @@ -0,0 +1,4 @@ +let check_signature = (param: (key, signature, bytes)) : bool => { + let pk, signed, msg = param; + Crypto.check(pk, signed, msg); +}; diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 1eec89aaa..fe74e6e09 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -1949,6 +1949,19 @@ let check_signature_mligo () : unit result = let%bind () = expect_eq program "check_signature" make_input make_expected in ok () +let check_signature_religo () : unit result = + let open Tezos_crypto in + let (_, raw_pk, sk) = Signature.generate_key () in + let pk_str = Signature.Public_key.to_b58check raw_pk in + let signed = Signature.sign sk (Bytes.of_string "hello world") in + let%bind program = retype_file "./contracts/check_signature.religo" in + let make_input = e_tuple [e_key pk_str ; + e_signature (Signature.to_b58check signed) ; + e_bytes_ofbytes (Bytes.of_string "hello world")] in + let make_expected = e_bool true in + let%bind () = expect_eq program "check_signature" make_input make_expected in + ok () + let curry () : unit result = let%bind program = mtype_file "./contracts/curry.mligo" in let%bind () = @@ -2087,6 +2100,7 @@ let main = test_suite "Integration (End to End)" [ test "key hash (religo)" key_hash_religo ; test "check signature" check_signature ; test "check signature (mligo)" check_signature_mligo ; + test "check signature (religo)" check_signature_religo ; test "chain id" chain_id ; test "type alias" type_alias ; test "function" function_ ;