https://gitlab.com/nomadic-labs/mi-cho-coq

sort by:
Revision Author Date Message Commit Date
ccf5f78 [dexter] proof for ep_setBaker_correct 07 September 2020, 08:49:03 UTC
0cad4fe [dexter] proof for ep_default_correct 07 September 2020, 08:39:04 UTC
355f24e [dexter] proof for ep_setManager_correct 01 September 2020, 14:40:59 UTC
e3e28ca [dexter] add version 6d1798cb of Dexter from branch develop https://gitlab.com/camlcase-dev/dexter/-/blob/6d1798cbb6c926db608a9ba473cc9f215b647b1f/morley/dexter.tz 01 September 2020, 08:17:25 UTC
3784c44 [dexter] conform coq spec informal spec dated [August 26, 1:02 PM] Remove resolved TODOs from the specification: - the behavior of approve when allowance[spender] is undefined has been confirmed by james - as there is nothing that suggests that dexter verifies that token_bought <= token_pool, i'm removing that comment - the operations emitted by tokentotoken has been clarified by james 31 August 2020, 11:08:48 UTC
30f1ab4 [dexter] conform coq spec informal spec dated [August 12, 2:16 PM] 12 August 2020, 12:19:59 UTC
99be45a [dexter] add version ad6ddd89 of Dexter from branch develop, update 11 August 2020, 14:37:58 UTC
82aef18 [dexter] Fixes to ep_approve due to Kristina 11 August 2020, 14:01:02 UTC
3a4fea4 [dexter] Conform coq spec informal spec dated [July 17, 12:39 AM] 11 August 2020, 14:00:35 UTC
fb6334e [dexter] take a stab at proving derived properties from full spec 17 July 2020, 08:52:17 UTC
bbefbf2 [dexter] add tentative specification of tokenToToken entrypoint 16 July 2020, 20:39:21 UTC
e4f128c [dexter] conform coq spec informal spec dated [July 13, 10:31 AM] 16 July 2020, 20:39:21 UTC
d377019 [dexter] update contract to 26a6dd13 16 July 2020, 18:14:42 UTC
92461d6 Adapt proofs to simplified formulas from eval_precond 09 July 2020, 14:12:12 UTC
3f39afb [dexter] Removing sender <> spender check in approve As per trail of bits security issue 6. 09 July 2020, 14:01:50 UTC
d1ca600 [dexter] Fix the spec for entrypoint approve - I had forgotten the allowance = current_allowance check - Added the case where there is no account for sender, as per the discussion with James in the informal spec 09 July 2020, 14:01:50 UTC
3410de9 [dexter] add spec for updateTokenPool & updateTokenPoolInternal 09 July 2020, 14:01:50 UTC
38a5b2b [dexter] add version 333cfb87 of dexter, update as follows From James: "There have been a few changes in the morley version to fix bugs. - The storage reorganized a bit so that the bigmap is at the top (pair (bigmap) ...) , that way we can still use the old POST big map rpc (just used in development with tezos-client, it is much easier, production uses the newer GET rpc which has a few more steps). The pair structure changed, the data is all the same. - There were one or two errors with transfer. to_ sending to owner instead of the other way around. init liquidity in addLiquidity was not setting the tokenPool. Fixed that." Also add some tactics for robustness: - use destruct_sto to destruct contract - use autofuel instead of "do X more_fuel; simpl". hopefully, this will be more robust." Also, this include the latest changes in updateTokenPool that fixes the issue brought up in the trail of bits security report. 09 July 2020, 14:01:50 UTC
8977774 [dexter] prove ep_update_TokenPool_correct. 09 July 2020, 14:01:50 UTC
c10441d [dexter] prove ep_setBaker_correct. 09 July 2020, 14:01:50 UTC
2884b1f [dexter] add the addLiquidity entrypoint definition 09 July 2020, 14:01:50 UTC
5e87ca2 [dexter] add lqt_total to storage and update affected EPs 09 July 2020, 14:01:50 UTC
5d33722 [dexter] replace iff w/ and in setBaker, default spec 09 July 2020, 14:01:50 UTC
011a574 [dexter] use same semantics module in spec and verification 09 July 2020, 14:01:50 UTC
628284e [dexter] boilerplate to verify main 09 July 2020, 14:01:50 UTC
7de8cc1 [dexter] specify xtzToToken and tokenToXtz 09 July 2020, 14:01:50 UTC
d03a220 [dexter] specify removeLiquidity 09 July 2020, 14:01:50 UTC
9569a93 parse wip 09 July 2020, 14:01:50 UTC
b4d5be9 [dexter] rebase on dev, spec addLiquidity entry point 09 July 2020, 14:01:50 UTC
a0b95a7 [dexter] specify ep_addLiquidity 09 July 2020, 14:01:50 UTC
72369ef [dexter] add morley contract 09 July 2020, 14:01:50 UTC
c07faad [dexter] update contract definition from wip morley contract 09 July 2020, 14:01:50 UTC
4322bdd [dexter] update parameter and main with new morley definition 09 July 2020, 14:01:50 UTC
7816d6a [dexter] add wip spec for approve 09 July 2020, 14:01:50 UTC
a1acfe1 [dexter] use shorthands in parameter type declaration 09 July 2020, 14:01:50 UTC
0629ab7 [dexter] clarify fuel comment 09 July 2020, 14:01:50 UTC
955be9f [dexter] stubs for spec/def/verification of each entrypoint 09 July 2020, 14:01:50 UTC
bc60f8d [dexter] add setBaker formal specification 09 July 2020, 14:01:50 UTC
4f3ee7a [dexter] add stubs for all entrypoints and main 09 July 2020, 14:01:50 UTC
34a310d test 09 July 2020, 14:01:50 UTC
471b4e4 rename 09 July 2020, 14:01:50 UTC
6471af0 [dexter] Specify entrypoints vote 09 July 2020, 14:01:50 UTC
d5004df [dexter] Specify entrypoints xtzToToken and tokenToXtz 09 July 2020, 14:01:50 UTC
cff25ae [dexter] Specify entrypoint removeLiquidity 09 July 2020, 14:01:50 UTC
3aa08fb [dexter] Specify baker election (provisional version) 09 July 2020, 14:01:50 UTC
d2f943b [dexter] Relational input-output specification of entrypoint add_liquidity 09 July 2020, 14:01:50 UTC
abb65d2 A more "classic relational" specification of the add_liquidity entrypoint 09 July 2020, 14:01:50 UTC
500c6dc Monadic specification -- dead end? to handle errors, i would have to make the specicification monad very close to the error monad... then what is the point of the specificiation monad ? maybe more point if I rewrite it as a reader / writer. For the moment, i will rather try to make a more simple specification DSL and go from there. 09 July 2020, 14:01:50 UTC
ccfd693 Simplification of the formula produced by eval_precond The following simplifications are applied: - eval_seq_precond immediately returns `False` on instruction sequences ending with a `FAILWITH` (it does so by looking at the tail-fail flag) - `match x with C1 y => phi y | C2 y => False` becomes `exists y, x = C1 y /\ phi y` - the code produced for `IF_ f` depends on the if-family `f` to avoid the previous double pattern matching: for example for options it produces `match o with | Some x -> ... | None -> ... end` instead of `match (match o with Some x -> inl x | None -> inr tt end) with inl x -> ... | inr y -> ... end`. Thanks to these simplifications, the proofs in the contract_coq directory are simpler. 05 July 2020, 12:47:33 UTC
50b5400 [michocoq] Propagation of annotations 22 June 2020, 09:30:53 UTC
83f6208 [michocoq] WIP lexing and parsing of micheline annotations This does not compile because the definition of the syntax of Micheline nodes has been changed without changing the Micheline pretty-printer nor the converter from and to Michelson. 22 June 2020, 09:30:36 UTC
5d3d290 [michocoq] Avoid using `Check` for unit tests Writing unit tests as `Check (eq_refl : f x = y).` works but dumps unnecessary output on stdout that can be confusing when compiling the project. The equivalent `Goal (f x = y). reflexivity. Qed.` does the same check without producing any output. 19 June 2020, 20:08:22 UTC
9eaab97 [michocoq] Fix the behaviour of `get_entrypoint_opt (Some "%default")` 19 June 2020, 20:08:15 UTC
2e8d5a3 [optimizer] Define and certify a Michelson optimizer The optimizer was initially designed for the backend of the Albert compiler, it has been slightly generalized and certified. The main theorem is the last one in file typed_optimizer.v: If the untyped instruction sequence i can be typechecked from stack type A to stack type B and then run successfully on stack sA, then (optimizer.optimize i) can also be typechecked from stack type A to stack type B and run successfully on stack sA yielding the same result. 19 May 2020, 13:55:03 UTC
11de7d7 Untyped macros in `instruction` 19 May 2020, 13:55:02 UTC
2415691 [michocoq] Simplification of tez.v This uses `Bool.Is_true (negb ...)` instead of `... = false` in the definition of the `mutez` type which simplifies a bit reasoning about the implementation of mutez. 14 May 2020, 19:39:36 UTC
93912f6 [michocoq] Prove second half of typer correctness This completes the correctness proof of the typer in Optimized mode. Before this, only the typed -> untyped -> typed round-trip was certified. 14 May 2020, 19:39:36 UTC
daec052 [michocoq] Typing and untyping mode (Readable or Optimized) Since the introduction of timestamp literals, the typer is not injective anymore so the converse of untyper.untype_type is not true. By introducing a typing and an untyping mode, we get back injectivity at least in optimized mode. 14 May 2020, 19:39:36 UTC
8591d76 [michocoq] Fix a bug in the typer Type-checking a mutez literal now fails in case of overflow. 14 May 2020, 19:39:36 UTC
ac659ab [build|ignore] Also ignore the cache of the `nia` tactic 14 May 2020, 19:39:35 UTC
34a1022 [michocoq] Use frienly notations in all verified scripts 14 May 2020, 19:37:32 UTC
5bd8859 [michocoq] Add a distinction between instructions and instruction sequences 14 May 2020, 19:37:32 UTC
980a820 [michocoq] Also separate IF_ and LOOP_ instructions from the other ones 07 May 2020, 21:55:22 UTC
95b18b8 [michocoq] Stratify opcodes and instructions. We call opcodes the instructions that do not take subprograms as argument nor have special treatment in the type-checker or evaluator. Most of the instructions in Michelson fall into this category, putting them aside makes the number of constructors of the instruction ASTs much smaller which is needed when reasoning on the syntax. In particular, many optimisations at the Michelson level require to reason about several terms in these ASTs by nesting destructs which was not tractable with more than 80 constructors. 07 May 2020, 21:55:12 UTC
ab60300 Remove syntax_equiv.v This is incomplete and broken. 07 May 2020, 21:54:55 UTC
ba48cdf Remove the return_to_sender contract This is a duplicate of the boomerang contract. 07 May 2020, 21:54:42 UTC
30ec384 [Michocoq] Add parsing of timestamps 18 April 2020, 12:34:45 UTC
75ba1ed [CI|Tests] Run the tests in the CI 18 April 2020, 12:34:45 UTC
b6d740a [Build|Tests]: add a build-test target for Opam 18 April 2020, 12:34:45 UTC
2eeac09 [Tests] Regression traces 18 April 2020, 12:34:44 UTC
123c097 [Tests] Regression testing Tests are run with `make test` and regression traces are reset with `make RESET_REGRESSION=true test`. 18 April 2020, 12:34:44 UTC
3ae9aaf [Tests] Update the test suite 18 April 2020, 12:34:44 UTC
1c4fb62 [Michocoq] Formalize %-annotations and entrypoints Annotations are still ignored at lexing time but the semantically meaningful ones are supported in the untyped syntax. 18 April 2020, 12:34:44 UTC
c578eba [build] Add support for Coq 8.11 18 April 2020, 12:03:13 UTC
94071da [of_ocaml] Add a README for the of_ocaml folder 18 April 2020, 12:03:13 UTC
a35ea8c [of_ocaml] Beginning of injection of the syntax of Mi-Cho-Coq to OCaml 18 April 2020, 12:03:13 UTC
41fed52 [of_ocaml] Bijection for the comparable types 18 April 2020, 12:03:13 UTC
e94f138 [of_ocaml] Explicit definition of coq_to_ocaml_typ 18 April 2020, 12:03:13 UTC
bbb0057 [of_ocaml] Extend one side on the equivalence of the types with comparable types 18 April 2020, 12:03:13 UTC
e432e03 [of_ocaml] Add one side of the equivalence with the Coq AST 18 April 2020, 12:03:12 UTC
80978ee [of_ocaml] Add imported syntax definition from the OCaml code 18 April 2020, 12:03:12 UTC
fdfa10d [Michocoq] Remove superfluous functors 18 April 2020, 12:03:12 UTC
ae11043 [Michocoq] Remove contract literals 18 April 2020, 11:49:22 UTC
5b40d03 [CI] fix shellcheck URL 18 April 2020, 11:43:19 UTC
3fb4ceb [generic_multisig] Add CHAIN_ID to signature Related to #21 11 March 2020, 13:52:45 UTC
00e403d [SC verif] Deposit contract 13 February 2020, 17:07:39 UTC
90abcb0 [build] Add missing dependency to ocamlbuild 13 February 2020, 10:07:44 UTC
9b308f4 [doc] slides for WTSC 12 February 2020, 13:23:16 UTC
949a7a4 [doc] slides of past talks 12 February 2020, 13:23:16 UTC
a0ebbfd [doc] More explicit names for the talk directories 27 January 2020, 09:48:13 UTC
f65e22e [doc] slides for the workshop at Cobra in Aarhus 13 January 2020, 12:34:38 UTC
dc275c8 Fix the install of the michocoq binary 04 December 2019, 09:39:27 UTC
9aa10a2 [ott] remove the original michocott formalization 29 November 2019, 14:39:11 UTC
ceb487e Michocott: Update michelson.ott to ease documentation generation 29 November 2019, 13:41:28 UTC
8733671 Corrected the 'a's that were changed in 'ty2's 29 November 2019, 13:41:24 UTC
3098cf5 All the way to extraction 29 November 2019, 13:41:11 UTC
f2939c1 Removed ambiguity by adding explicit annotations 29 November 2019, 13:40:31 UTC
eb1c38f Every rule is good with doc but multiple parses on compilation to coq for list set map 29 November 2019, 13:40:31 UTC
609a9c5 ott spec OK except for list and map 29 November 2019, 13:40:31 UTC
218ee17 Changed symbol for typing to '::' and symbol for cons to ':' in michelson_typing 29 November 2019, 13:40:31 UTC
back to top