Last active
May 22, 2017 17:11
-
-
Save BekaValentine/39f0f4deea0a89c20fe48387e2c7dae5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (module Validator | |
| (import Prelude) | |
| (export validator) | |
| (local) | |
| ;; validator :: ByteString -> Comp Unit | |
| (define validator | |
| (lam sig | |
| (bind | |
| (txhash) | |
| signedHash | |
| [Prelude.verifySig | |
| <authorizedPublicKey> | |
| sig | |
| signedHash])))) | |
| (module Redeemer | |
| (import) | |
| (export redeemer) | |
| (local) | |
| ;; redeemer :: Comp ByteString | |
| (define redeemer | |
| (success <redeemingSig>))) | |
| (module Validator | |
| (import Prelude) | |
| (export validator) | |
| (local) | |
| ;; validator :: List (Maybe ByteString) -> Comp Unit | |
| (define validator | |
| (lam sigs | |
| (bind | |
| (txhash) | |
| signedHash | |
| [Prelude.verifyMultiSig | |
| <minNumSignaturessRequired> | |
| <allAuthorizedPublicKeys> | |
| signedHash | |
| sigs])))) | |
| (module Redeemer | |
| (import Prelude) | |
| (export redeemer) | |
| (local) | |
| ;; redeemer :: Comp (List (Maybe ByteString)) | |
| (define redeemer | |
| (success <redeemingSigs>))) | |
| (module Validator | |
| (import Prelude) | |
| (export validator) | |
| (local notSoSecretNumber) | |
| (define notSoSecretNumber 42) | |
| ;; validator :: Integer -> Comp Unit | |
| (define validator | |
| (lam guess | |
| (case (builtin equalsInteger guess notSoSecretNumber) | |
| (cl Prelude.True () (success Prelude.Unit)) | |
| (cl Prelude.False () (failure)))))) | |
| (module Redeemer | |
| (import) | |
| (export redeemer) | |
| (local) | |
| ;; redeemer :: Comp Integer | |
| (define redeemer (success 64))) | |
| (module Validator | |
| (import Prelude) | |
| (export validator) | |
| (local secretNumber) | |
| (define secretNumber <hashOf42>) | |
| ;; validator :: Integer -> Comp Unit | |
| (define validator | |
| (lam guess | |
| (case (builtin equalsByteString | |
| (builtin sha2_256 | |
| (builtin intToByteString guess)) | |
| secretNumber) | |
| (cl Prelude.True () (success Prelude.Unit)) | |
| (cl Prelude.False () (failure)))))) | |
| (module Redeemer | |
| (import) | |
| (export redeemer) | |
| (local) | |
| ;; redeemer :: Comp Integer | |
| (define redeemer (success 64))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment