# phases
1. tests, coverage, refactors, fix encodings, coq-of-ocaml
2. environment
3. lazy_storage
4. michelson
5. sapling & BA
# merged MRs and their commits in `proto-proposal-prior-to-007` branch
- !280
- 1 823ff065de Tests/Python: update test for migration receipts
- 2 a30401d033 Client: update for migration receipts
- 3 b14dcd97
Migration: update protocol invoice receipt
- 4 a801630bba Proto: distinguish balance updates (receipts) applied in migration
- included in delphi
- 5 55e53fc7d9 Tests/Python: regenerate regression traces
- 6 57ec6b0c47 Tests/Python: adapt to fixed-point
- 7 0da5edf037 Proto/tests: adapt protocol unit tests to fixed-point
- 8 b1cbf9e505 Proto/parameters: gas limits as fixed-point values
- 9 5d1dd87cff Proto/mempool_filters: use fixed-point computations for gas
- 10 795f2992c2 Proto/delegate: use fixed-point computations for gas
- 11 aa0640628a Proto/client: use fixed-point computations for gas
- 12 3efedd6993 Proto/gas: use fixed-point computations for gas
- 13 baca08d84c Proto/gas: edit TEZOS_PROTOCOL for Fixed_point, move Gas_limit_repr
- 14 2a4b10803d Proto/tests: unit tests for Fixed_point_repr
- 15 42d48c94fb Proto/gas: introduce Fixed_point_repr module
- originally from !281 - @paracetamolo p2
included in delphi, but without the env change
- 16 fee7b2bbdb Env/V1: expose Z.{pow, ediv, erem, format}
- included in delphi
- 17 083c2c770f Revert "Vendors/flextesa: scale gas limit constants in the context by 128"
- 18 c4f0df21fd Revert "Protocol/Migration: scale gas limit constants in the context by 128"
- 19 d1c092b88c Revert "Vendors/flextesa: scale gas limit constants in the context by 1000"
- 20 719241c3da Revert "Protocol/Migration: scale gas limit constants in the context by 1000"
- 21 8624ef93fa Proto: Add missing case for keyword namespace encoding
- 22 7564e98c84 Protocol/Test: add dependencies on .tz sources
- 23 e9ede108b8 Client: fix .opam (add package for registration)
- 24 da0cf9bba3 Build: remove conf-rust
- !256 - @rafoo p4
- 25 2ba8ff19d8 Docs: combs and DUP n
- 26 0314adb575 Test/Python: add tests for DUP n
- 27 4502049a2d Tests/Python: add tests for combs
- 28 56ecd5107b Client: change macros for DUP n
- 29 7667b5b80e Proto/Michelson: make auxiliary functions tail-recursive
- 30 8463e04937 Protocol/Michelson: add DUP n
- 31 a90e6220ba Protocol/Michelson: add combs
- !274 - @medhi p3
- 32 40198d5ac8 Lazy storage: fix NL email
- !149
- 33 46b8125fbb Protocol/RPC: slightly improve efficiency of '/baking_rights?delegate=[...]'
- included in delphi
- 34 bcc05bb478 Proto/tests: lift some Lwt.return
- 35 40f6ebe28f Proto: lift some Lwt.return
- 36 f7d7131ebf Proto: more changes due to rebase
- 37 71225a69f2 Proto/tests: use predefined ok constants
- 38 7e3600b9e0 Proto: use predefined ok constants
- 39 17a8ceac10 Proto: fail_unless/when -> error_unless/when
- 40 640b666738 Tests: less Lwt
- 41 01c9876703 Storage: less Lwt
- 42 a74c95dbff Script_ir_translator.collect_big_maps: get rid of Lwt
- 43 21c5865cdc Script_ir_translator: less Lwt
- 44 f54c565e7b Script_ir_translator.parse_data: traced
- 45 34b7c796e6 Script_ir_translator.parse_data: remove lots of Lwt
- 46 38d1e97e50 Script_ir_translator.parse_data: rename error
- 47 65dcb476ab Script_ir_translator: remove lots of Lwt in parse_instr
- 48 62aae32e0c Script_ir_annot: get rid of fail_unexpected_annot
- 49 46e8c21f4b Raw_context.add_fees/rewards/deposit: get rid of Lwt
- 50 d2536aca13 Proto: Lwt.return >>=? -> >>?=
- 51 ad614e9702 Operation.check_signature: get rid of Lwt
- 52 58a4a6fcb1 Fees_storage.origination_burn: get rid of Lwt
- 53 45379cf0d8 Delegate_services.required_endorsements/minimal_valid_time: get rid of Lwt
- 54 7560af432f Contract_storage.fresh_contract_from_current_nonce: get rid of Lwt
- 55 0dc2999ee6 Baking.check_fitness_gap: get rid of Lwt
- 56 3f716365bf Baking/tests: baking/endorsing_reward, get rid of Lwt
- 57 6f924fd0c3 Baking: baking/endorsing_reward, get rid of Lwt
- 58 102fa723ab Baking.earlier_predecessor_timestamp: get rid of Lwt
- 59 a3d3188664 Baking: minimal_(valid_)time, get rid of Lwt
- 60 5c4ed6e037 Script: force_decode/bytes, get rid of Lwt.t
- !250 @claret p1
- 61 ff17bf3ea8 Protocol/coq-of-ocaml: prevent a name collision with the Log module
- 62 2df7f66e30 Protocol/coq-of-ocaml: force some types to be considered as GADTs
- 63 3e4880ecfc Protocol/coq-of-ocaml: we handle num as a phantom type
- 64 5be0875afc Protocol/coq-of-ocaml: add coq_axiom attribute for lazy_storage_diff GADT functions
- !225
- 65 e4bae28c74 Tests/Python: tests for metadata hashes around protocol migration
- 66 e2b543d65a Baker: Add block metadata hash to block's context
- 67 9671436124 Tests/OCaml: update tests for block metadata hash
- 68 aa759c43f3 Shell/RPC: add endpoint for block metadata hash
- 69 544342b247 Shell: Store and validate block metadata hash
- 70 58909d0d53 Crypto: Add block metadata hash
- 71 fd0e9801f3 Baker: Add operation metadata hash to block's context
- 72 8502715f26 Tests/OCaml: update tests for operation metadata hashes
- 73 9e9d53441f Shell/RPC: add endpoints for operations metadata hashes of a block
- 74 271ca253ca Shell: Store and validate operation metadata hashes
- 75 62c3476a43 Env: Add function to get environment's version
- 76 f4a5aa6db0 Crypto: Add prefixes for operation metadata hash
- !254 - @paracetamolo p2
- 77 059f8dc5f0 Proto_demo: update demo protocol to environment V1
- included in delphi
- 78 a11e4d0073 Protocol/coq-of-ocaml: add signature annotations
- 79 832f0e9c67 Protocol/coq-of-ocaml: changes to compile storage.ml
- 80 4adc2ec08a Protocol/coq-of-ocaml: lint the interpreter
- 81 230178361b Proto/Michelson: add missing cases in typechecking error reporting
- 82 281aeba714 Proto/Michleson: make annotations on `Right` and `Elt` consistent
- !245 - @claret p1
- 83 cee6c06a7b Protocol/coq-of-ocaml: compile lazy_storage_kind.ml with suggestions from @mbouaziz
- 84 bf8ad946cc Protocol/coq-of-ocaml: remove unused mutual dependencies
- 85 09f1b44543 Protocol/coq-of-ocaml: add axioms to compile storage_description
- included in delphi
- 86 1a1dbe6245 Protocol/coq-of-ocaml: renaming to compile alpha_context
- 87 e046a98e5c Protocol/coq-of-ocaml: rename consume and check_enough to prevent collisions
- 88 f69c4f40c4 Protocol/coq-of-ocaml: renaming of force_decode / force_bytes to prevent collision
- 89 bfdfb27fee Protocol/coq-of-ocaml: rename of_seconds to prevent a collision of name
- !246 - @claret p1
- 90 b9bc0d1c4d Protocol/coq-of-ocaml: use 'with type' instead of 'with module'
- !234 - @paracetamolo p2
- 91 2ea476bd79 Environment: add missing bool arg to RCP_arg.mli
- 92 aeae769ab6 Environment: remove duplicated function Context.del
- !45 - @paracetamolo p2
- 93 fa9a15fcfc CI: BLS12-381
- 94 4c6238bd3a Docs: BLS12-381
- 95 87ea2e53c2 Tests/Python: BLS12-381
- 96 b34b627163 Proto: BLS12-381 ops
- 97 d43aa3084f Bindings: BLS12-381
- !241 - @paracetamolo p2
- 98 36fe284cc4 Bump up ocaml-bls12-381 to 0.3.9
- !244 - @claret p1
- 99 5955842591 Protocol/coq-of-ocaml: explicit the comparison module for KId
- !111 - @claret p1
- 100 8fdda417e5 Tests/coq-of-ocaml: Add a CI rule to run coq-of-ocaml
- included in delphi
- 101 32d1312e6f Use Option.value
- 102 847bf61c00 List.fold_left -> Error_monad.map
- 103 8e0a12dfc0 Proto: filter_map_s -> filter_s
- 104 de20f8f4b3 List.map -> fold_left_s
- 105 7f1a352513 Proto: bind -> to
- 106 06f7c787d7 Protocol/coq-of-ocaml: avoid a name collision on encoding in the generated Coq
- !230 - @paracetamolo p2
- 107 2bbe92986e Update to 0.3.8
- 108 66a7e0fd54 Bump up version of ocaml-bls12-381 to 0.3.7
- !240 - @claret p1
- 109 8b75575420 Protocol/coq-of-ocaml: Ignore some functions with Coq errors
- 110 7595707dcd Protocol/coq-of-ocaml: break mutual dependency of the type t
- 111 9931d4eed0 Protocol/coq-of-ocaml: name the signatures of the protocol
- !238 - @claret p1
- 112 1aa88aa69e Protocol/coq-of-ocaml: avoid non-top-level uses of 'let and' constructs
- !96 @mehdi p3 @paracetamolo p2
- 113 b0395ee554 Proto: abstract type for big map id
- 114 9e65943b6f Proto: add tests for lazy_storage_diff
- 115 85eb1b0e45 Proto: generalize big_map init too
- 116 93da0e094e Proto: generalize temporary big_map id too
- 117 8a1c7f2079 Proto/Michelson: rename allow_big_map -> allow_lazy_stoage
- 118 19d74b0b6a Proto/Michelson: find_big_map rather than list_of_big_map_ids
- 119 c836ed4abf Proto/Michelson: fold for lazy_storage
- 120 c97011266b Proto/Michelson: rename has_big_map -> has_lazy_storage
- 121 9c31267de8 Proto/Michelson: lazy storage in interpreter
- 122 63ddf5614d Proto: use lazy storage
- 123 e28f15fc77 Env: add Option.first_some
- 124 3e03695808 Proto/Contracts: start generalizing lazy storage
- 125 eecf4a1c3d Proto/Contracts: big_map_diff: move to legacy module
- !233 - @claret p1
- 126 e5c08219a7 Protocol/coq-of-ocaml: Name some anonymous signatures to help coq-of-ocaml
- !165 - @paracetamolo p2
- 127 fb04329697 Env/Error_monad: import more values from the lib
- included in delphi
- 128 d4ed3d399e Migration: remove leftovers Alpha_previous and Babylon_005
- included in delphi
- 129 7530ba9da8 Docs: Update `max_revelations_per_block` references
- 130 4920b819a0 Proto: Update `max_revelations_per_block` to include anon ops
- !220 - @paracetamolo p2
- 131 b2495cc3de Update ocaml-bls12-381 to 0.3.6
- !122 - @paracetamolo p2
- 132 99015061ff Vendors ocaml-bls12-381 0.3.4
- !212 - @paracetamolo p2
- 133 f58291a10b Proto: update to Stdlib's Option syntax
- 134 45e0eed2ab Env: use Stdlib's Option
- included in delphi (depends on !69)
- 135 c214393714 Proto: update the old operator to regular naming scheme
- 136 36cd06e8d5 Env: update the old operator to regular naming scheme
- 137 f2b85667b9 Proto/coq-of-ocaml: Remove a polymorphic variant in raw_context
- !209
- 138 90de795719 Client: follow curryfication of helper services
- 139 c3ad6ab8c3 Proto/RPC: curryfication and argument naming of helper service functions
- !207
- 140 3dbeffec3d Tests/Python: test the --balance argument of run_script
- 141 20f0714720 Client/Michelson: add a --balance argument to `run script`
- 142 b9721e842a Proto/RPC: add a mandatory balance field to the run_code RPC
- !51
- 143 1ff284be4a Docs: add failing_noop operation information
- 144 1a1724b7f6 Python/test: sign/inject/check a failing_noop msg
- 145 a0e6c5da2d Python/test: remove double 'sign bytes' fct
- 146 52091c42c9 Protocol/test: send a failing_noop op and fails
- 147 f5ef8d5c00 Protocol/client: add commands sign/check "message"
- 148 ad8d15df49 Protocol: add failing_noop operation
- !190 (depends on !125 - could be joined with !125) @rafoo p4
- 149 2813d343c5 Docs/Michelson: Remove references to removed instructions
- 150 821f37dd87 Docs/Michelson: Update 'Deprecated' to 'Removed' instructions
- !80 (depends on !69) - @paracetamolo p2
- 151 1df08b50fd Env: Expose PVSS to the protocol
- !206 - p1
- 152 6ac153d59b Proto: Split cases with different type parameters
- 008 MR: https://gitlab.com/metastatedev/tezos/-/merge_requests/304
- included in delphi
- 153 b1cf7682f4 Tests/Python: Satisfy mypy typechecker
- 154 4f70b94f08 Proto/Michelson: avoid Lwt.bind when logging
- !46
- 155 4b4c51b274 Migration/Tests: Check bootstrap1 migration invoice
- 156 6110f4dc63 Migration: Invoice bootstrap1 contract
- 157 eec1b89c93 Tests/Python: Add migration integration test
- 158 a551e1a602 Tests/OCaml: update tests for migration balance updates
- 159 a332091c0e Proto: Allow to apply balance updates from migration
- 160 544e3db55e Client: Separate balance updates receipts into Receipts module
- 161 928b544708 Proto: Separate balance updates receipts into Receipts module
- !48
- 162 da5ce8727f Proto/test: Prevent double injection evidence
- 163 e8ee021cbd Protocol: Prevent double injection of evidence
- !173 - @paracetamolo p2
- 164 cd2bc1811e Docs: Add sha3 and keccak docs
- 165 5178abfc3b Tests/Python: Add sha3 and keccak tests
- 166 2f0c71d12e Proto: add keccak and sha3 opcodes
- 167 aad58b8c9b Tests/Python: fix and extend the test of the `CHAIN_ID` instruction
- included in delphi - @rafoo p4
- 168 d38b39de66 Proto/Michelson: readable unparsing of chain ids
- !178 (depends on !82 - could be joined with !82) - @rafoo p4
- 169 648b02283c Docs: New opcode, and update glossary and voting
- 170 7b7514ba74 Test/Python: Update regression output
- 171 1461b3230a Test/Python: Regression test for TOTAL_VOTING_POWER
- 172 5102acfad7 Test/OCaml: TOTAL_VOTING_POWER operation
- 173 d16d94f7e3 Proto: Add TOTAL_VOTING_POWER operation, and account for gas
- 174 3c14a7a9cc Test/Python: Remove `test_voting_power_opcode.py`
- 175 63e4f620b8 CI: Remove `test_voting_power_opcode.py` from integration tests
- !186 (depends on !79 - could be joined with !79)
- 176 6cf38d15a1 Test/Python: Check fractions positive and add up to votes_per_roll
- 177 e554e4bd07 Client: Check fractions are positive and improve ballot allocation
- 178 2107009ec7 Proto: Check fractions are positive and improve ballot allocation
- !181 (depends on !52 - could be joined with !52) - @rafoo p4
- 179 d7720c7dd9 Docs: Michelson's empty type
- !41
- 180 b266b81184 Doc: Update voting section with the new 5th period
- 181 13668d0ebd Tests/Sandbox: update for Activation_delay period
- 182 7e22201452 Tests/OCaml: update voting tests
- 183 6282115fc1 Client: Update for the new period
- 184 888a9922b7 Proto: add the 5th period - Activation_delay
- !146 - @mehdi p3
- 185 4c4fc54cc4 Tests/Python: originating with big map diff do work
- 186 32cf26cf84 Tests/Python: add tests for origination of big maps
- 187 abef758855 Test/Python: add an optional parameter in init_with_transfer
- 188 9da89b0701 Doc/Michelson: document the syntax of big_map literals
- 189 0d7d5b158a Tests: update failwith with bigmap
- 190 627687bb75 Proto: add representation for big_maps with id & diff
- 191 bb2c289904 Tests: failwith with bigmap
- !99 - @rafoo p4
- 192 a542f04233 Tests/Python: add test for contract caching
- 193 16b451d5cd Proto: Cache deserialized contracts
- !179 - @claret p1
- 194 fa4c87526a Proto/coq-of-ocaml: Remove a polymorphic variant in apply.ml to name the type
- !137 - @paracetamolo p2
- 195 89b1a00546 Proto: Adding Keccak256 and SHA-3 to lib_protocol_environment
- !82 - @rafoo
- 196 ca0eb3e596 Docs: Add VOTING_POWER opcode, returns a delegate's voting weight
- 197 372c392fdf Test/Python: Update regression output
- 198 075801f57b Test/Python: Parametrized input-output test for VOTING_POWER
- 199 166e3772f4 Test/Python: Add tests for Michelson VOTING_POWER opcode
- 200 d559caa01b Test/OCaml: voting power changes over time
- 201 c1a9fadbca Test/OCaml: Add tests for Michelson VOTING_POWER opcode
- 202 a86366dc67 Proto/Michelson: Add VOTING_POWER opcode
- !120
- 203 07f3dae98b Protocol/test: verify that error message is correct
- 204 26c4734a80 Protocol: add debug info to storage_description
- !79
- 205 15c54ba731 Test/OCaml: Change encoding of fractions to uint16
- 206 2f7ff3e7da Proto: Change encoding of fractions to uint16
- 207 b697cf790d doc/whitedoc: voting with split votes
- 208 1ee279836e Sandbox: Fix command submit ballot
- 209 e7eba60439 Tests/Python: Submit ballot with non-zero Yay, Nay and Pass splits
- 210 1dc42aa336 Tests/OCaml: Casting split ballots
- 211 72a08916b4 Client: Fix allocation of votes and fix command submit ballot
- 212 f0e6592b79 Proto: Add repr for split ballots and fix allocation of votes
- !121 @alvaro
- 213 4365d28432 Test/Python: Test RPCs for counter and for global counter
- 214 36f2df8635 Test/OCaml: Expose global counter through new RPC
- 215 002dfa6b48 Proto: Remove check in get_counter and expose global counter
- included in delphi
- 216 b5d3767a67 Storage: rename Int_index -> Int31_index
- 217 be44e369da Storage: rename Int -> UInt16
- 218 50834737a8 Tests/Python: Add a test case for transfer to nonexistent contract
- 219 dccbc96eb6 Proto: for transfers with 0 tz, check if target exists
- 220 97e15ee1f1 Proto/Client: make integer constant easier to read
- 221 73e67594e0 Vendors/flextesa: scale gas limit constants in the context by 1000
- 222 3b99d2dd7a Protocol/Migration: scale gas limit constants in the context by 1000
- 223 9517e8c57e Proto/Gas: arithmetic optimization (remove multiplication by 1)
- 224 842225804e Tests_python: adapt regression tests to gas rescaling
- 225 76cc881d41 Tests/Python: update limits and fees in python tests
- 226 06e9786897 Proto/Tests: update protocol unit tests
- 227 13e9e6bd77 Proto/Gas: perform rescaling from x128 to x1000
- 228 80640869e9 Proto/Gas: inline calls to scale
- 229 d619d22177 Proto/Gas: factor calls to scaling function
- 230 a7d621ee89 Proto/Gas: remove intermediary cost record
- !125 - @rafoo p4
- 231 da8aba42d6 Tests/Python: update tests for deprecated instructions
- 232 e5c57c0b6e Proto/Tests: remove STEPS_TO_QUOTA test
- 233 e5d23ef4ad Tests_python: remove contract_legacy
- 234 d897dc7ebe Proto/Michelson: remove a now dead file
- 235 3406f86ced Protocol/Michelson: Drop the `_2` suffix for `Create_contract`
- 236 4b894cc1da Protcol/Michelson: remove the deprecated instructions
- !153 - @claret p1
- 237 877646f326 Proto/coq-of-ocaml: Name the signatures of the environment
- 238 e952c1ec3e Proto/coq-of-ocaml: Name the tag_size type
- 239 6618ffb7a6 Proto/coq-of-ocaml: Name the key_or_dir type
- !135 (depends on !72 - could be joined with !72) - @rafoo p4 @paracetamolo p2
- 240 8fdfacad70 Docs/Michelson: Update comparable types and COMPARABLE instruction
- 241 00eea479f2 Test/Python: Make key, chain_id and signature comparable
- 242 4877d9b919 Proto/Michelson: Make key, chain_id and signature comparable
- 243 af5fae00d1 Crypto: size of a public key
- !162 (depends on !69) - @paracetamolo p2
- 244 e2415f1131 Proto: use Z.pp rather than Z.to_string
- 245 2b73ddea05 Env V1: add Z.pp
- included in delphi
- 246 fb36f69722 Tests/Python: update annotations tests (numerals now allowed)
- 247 99c2141b90 Doc/Michelson: update the regular expression for annotations
- 248 bc68ae34df Proto/Michelson: extend the set of allowed Michelson annotations
- 249 ff4e90f5c7 Tests/Python: update annotation tests (issue #716 is solved)
- 250 10a2a20a3e Proto/Michelson: ensures all annotations are checked
- 251 0ef47bbd67 Tests/Python: test of the second char of field annotations
- 252 cda68b6fe2 Tests/Python: Allow script literals in client.py
- 253 ab40ae7d36 Proto_alpha: spell check
- 254 a2ff9b2a1c Proto/Michelson: Use the right cost function for SET_DELEGATE instr
- 255 0ecb709d66 Proto: Fix double encoding of big_map_diff
- 256 280e2eeb0c Proto/Michelson: expose unparse_code in Script_ir_translator
- !133 - @rafoo p4
- 257 87f946c17b Proto/Michelson: cleanup error handling for comparables
- 258 7f337d1ecb Proto/Michelson: add missing Unit case in comparable_ty_of_ty_no_gas
- !117 - @rafoo p4
- 259 162fba427a Tests/Python: typechecking test in legacy mode
- 260 068bcdf583 Tests/Python: support for legacy flag in typechecking methods of client.py
- 261 92ce58040e Client/RPC: client support for the legacy switch in typechecking commands
- 262 d5ae02b1e4 Protocol/RPC: add an optional legacy switch to the typecheck RPCs
- !54 - @rafoo p4
- 263 c30345718c Tests/Python/Regression: update regression logs for UNPAIR
- 264 ed3f0130ad Tests/Python: unskip the annotation mismatch test for UNPAIR
- 265 b5dac33e1d Client/Tests: update UNPAIR (un)expansion unit tests
- 266 695bce4236 Doc/Michelson: documentation of the UNPAIR instruction
- 267 b4524a20d1 Client/Michelson: improve the UNPAPAIR macros
- 268 5531d2bd8b Client/Michelson: deactivate the UNPAIR macro
- 269 a381d2cdef Proto/Michelson: UNPAIR instruction
- !114 - @rafoo p4
- 270 f6e3fdda59 Tests/Python: Update regression output (UNPAPAIR annots deprecated)
- 271 546999eaf7 Tests/Python: skip an annotation mismatch test for UNPAIR
- 272 790cc7d7cf Doc/Michelson: document the deprecation of annotations on UNPAPAIR
- 273 d66b2f8b8c Client/Michelson: drop support for annotations on UNPAPAIR macros
- 274 79dbbeea3a Tests/Python: more extensive tests for UNPAIR
- included in delphi
- 275 fe271644e3 Use plain algebraic types for the Michelson annotations
- !94 (depends on !69) @paracetamolo p2
- 276 61ea716b97 Env: int32 of_string -> of_string_opt
- 277 67b64c697a Env: int64 remove {of,to}_nativeint, of_string -> of_string_opt
- 278 9c3a47e65e Env: format add pp_{print_custom_break,print_option} {k,}dprintf
- 279 a290ecb50e Env: list add 1 type, remove mem, remove assoc
- 280 95269a0f1d Env: reduce diff of int32, string, set, map, s.ml, pervasives
- 281 429fbfd8a3 Env: add char
- !98 (depends on !69) @paracetamolo p2
- 282 da221083fb Proto: simplify Bytes.of_string (String.make _)
- 283 5ff9d148d4 Proto: simplify some Bytes.concat
- 284 acae7162d2 Env V1: disallow Bytes.unsafe_of/to_string
- !?? @rafoo p4
- 285 5068aeccbb Proto/Michelson: expose parse_ty for convenience to external tools
- included in delphi
- 286 b78f259fdf Proto/Michelson: simplify Big_map.fresh
- 287 c5bbb0d2a8 Proto/Michelson: remove dead code
- 288 c8f495c876 Client/operation result: factorize pp_big_map_diff
- 289 8904e2833e Proto/Contracts: big_map_diff/Copy: use inline record
- 290 bdb4287cbf Proto/RPCs: use parse_packable/parameter_ty instead of parse_ty in services
- 291 35778d84ea Proto/Michelson: factorize parse_storage_ty
- 292 3c7a82053f Tests/Python: update regtest outputs
- 293 234fa3a420 Proto/Michelson: get rid of has_big_map flag and old function
- 294 3b6f67a9b6 Proto/Michelson: compute has_big_map only when needed
- 295 c671244490 Proto/Michelson: extract_big_map_updates: aux
- 296 3b80bdb5f6 Tests/Python: update hard-coded gas and fees accordingly
- 297 a7f86deb00 Tests/Python: Update steps to quota expected output
- 298 4365a37abd Proto/Michelson: properly carbonate extract_big_map_updates and collect_big_maps
- 299 c05ba52be4 Michelson: simplify GADT matchings in script_ir_translator 4/4
- 300 d40114f566 Michelson: simplify GADT matchings in script_ir_translator 3/4
- 301 01b629da9f Michelson: simplify GADT matchings in script_ir_translator 2/4
- 302 e5c75ecca8 Michelson: simplify GADT matchings in script_ir_translator 1/4
- 303 11eae8aaf9 Michelson: fix number_of_generated_growing_types
- 304 6b7df07363 Michelson: rename Left/Right as Cons_left/right
- !93 @paracetamolo p2
- 305 62010c6822 Environment: remove unused module lwt_sequence
- 306 2b7f483963 Environment: update signature list.mli
- 307 6a7dca3b05 Environment: update signature lwt.mli
- !43 (depends on !69) @paracetamolo p2
- 308 86fa19125a Stdlib, ProtoEnv/V1: no more MBytes
- 309 35a30ed997 Option, ProtoEnv/V1: disallow hidden catch-all pattern
- 310 7acdbe27c4 ProtoEnv/V1: disallow concurrent list processing
- !107 (depends on !69) @paracetamolo p2
- 311 b376b61bf9 Environment: Add hex to V1
- !52 @rafoo p4
- 312 fb35379c38 Tests/Python: test failed attempt to push a literal of type never
- 313 5920afcd51 Client/Michelson: reporter for the new `Invalid_never_expr` error
- 314 738b7993f8 Tests/Michelson: typechecking tests for comparability of type never
- 315 13f1eca3db Doc/Michelson: type never is comparable
- 316 070b9aaea3 Proto/Michelson: comparability of type never
- 317 94cade300f Doc/Michelson: document the NEVER instruction
- 318 8341bd42ce Tests/Michelson: add typechecking tests for the NEVER instruction
- 319 058580537c Proto/Michelson: add the NEVER instruction
- 320 3372d715d8 Doc/Michelson: document type never
- 321 3df578672f Tests/Michelson: test typechecking of a contract using type never
- 322 6050d1b412 Proto/Michelson: add an empty type named "never"
- included in delphi
- 323 bcaa1d7d2d Proto/Michelson: simplify the interpreter
- !75 @rafoo p4
- 324 676396bb36 Doc/Michelson: document SELF_ADDRESS
- 325 8d22858cc3 Tests/Python: test the new SELF_ADDRESS instruction
- 326 0809108992 Proto/Michelson: add the SELF_ADDRESS instruction
- !81 @rafoo p4
- 327 d47384afcc Tests/Python: add a test for the LEVEL instruction
- !69 @paracetamolo p2
- 328 c4e3e49f2d Protocol: alpha use environment V1
- 329 607643b186 Python/test: injection of protocol with env V1
- 330 0723aed7e8 Shell: environment V1
- !71 @rafoo p4
- 331 f11957177a Doc: document LEVEL
- 332 ff0c4a9197 Tests/python: add tests for LEVEL
- 333 9a637870dc Tests: improve debugging of assert_storage_contains
- 334 84b6b5535e Proto/Michelson: instruction LEVEL
- 335 fd0a8a5c44 Script_int_repr: add of_int32
- 336 00746c6dd1 Script_int_repr: fix comments of of_int(64)
- 337 e48e7c51be Regtest scrubbing: scrub constants first
- included in delphi
- 338 cd76dfeee8 Client: Refactor Michelson OCaml printer using namespace function
- 339 5c456fa82e Client: Update moved namespace type
- 340 4c845e73ec Proto: Move and export Michelson prim namespace function
- 341 5989255556 Proto: Fix formatting
- !72 @rafoo p4
- 342 fe17220011 Doc: move UNIT to section on type unit
- 343 b39b8b0ee7 Doc: add documentation on comparisons of unit, options, unions
- 344 5f7b09492e Doc: add missing documentation on boolean comparison
- 345 8d6bfa12fe Tests: add tests for comparable unit, options, unions
- 346 f9cb50575c Add Unit, Union, and Option as comparable types
- included in delphi
- 347 4f009a268b Tests: update error message for big_dip.tz
- 348 0bac8f0d1d Proto/Michelson: fix error message for DIP with wrong constant
- 349 a5365ecba8 Tests: update error message for big_drop.tz
- 350 1b94160227 Proto/Michelson: fix registration of error Invalid_syntactic_constant
- 351 c66941784c Remove useless recursion
- 352 11b847deee Rewrite some when clauses for Coq
- 353 f83089363f Proto: remove unused exported vals
- 354 f333c7d141 Remove mutual dependency between numeric types
- 355 e39a583fc6 Proto/Michelson: remove dead code in parse_instr
- 356 a088b35850 Express (comparable_)ty_eq in terms of merge_(comparable_)ty
- 357 afcc9ff1b4 Tests_python: update regression tests outputs
- 358 11d30f1a74 Include ty_eq in merge_types
- 359 f3dde1183c Test/Python: update regression tests gas costs
- 360 dbff05bb4b Proto/Michelson: Remove gas cost of 'map_to_list' and 'set_to_list' conversions
- 361 656364cb13 Proto/Michelson: Use map fold for Big map updates
- 362 0778cedaee Proto/Michelson: Fold over Map with Map_map and Map_iter
- 363 5d0f36560f Proto/Michelson: Fold on Set using a folding break technique
- 364 3da1d0d61b Proto/Michelson: Simplify parse_uint30
- 365 475dac2d82 Update test output for DIP/DROP over the limit
- 366 aa5db1772f Protocol/Michelson: avoid overflowing [Int32.to_int Int32.max_int]
- 367 620ce631bf Add test for DIP/DROP with int over the limit
- !64 @rafoo p4
- 368 b7edba4a0b Doc: generalize comparable pairs
- 369 d516a2c34c Tests_python: update tests
- 370 e242dd534b Comparable types: allow non-comb pairs
- 371 ba0b0895ab Tests_python: update non-comparable-set-update test error message
- 372 03dc429d11 Tests_python: update regression tests outputs
- 373 480dcb3bd8 Protocol/Michelson: do not use comparable_ty_of_ty for set update
- 374 1b381d3e2d Explicit absence of gas accounting in comparable_ty_of_ty
- 375 8b219c03eb Tests_python: add test for non-comparable type in set update
- included in delphi
- 376 39e3ab4c19 Proto/RPC: return all delegates if no flags were used
- 377 a6a1ad0496 Tests/Python: fix gas bound in test_contract.py
- 378 7f0aaa2688 Protocol: Safer Int64.to_int
- 379 973a78fc3e Tests/Python: regenerate regression traces without internal_gas
- 380 b666b3dc9d Vendors/flextesa: scale gas limit constants in the context by 128
- 381 141e69b84d Protocol/Migration: scale gas limit constants in the context by 128
- 382 1f12bd814d Proto/gas: remove internal_gas
- 383 062fa31940 Proto/test: fix gas limit in unit test framework
- 384 311187156c Tests/Python: regenerate regression traces witnessing internal_gas=0
- 385 6be4517aa6 Tests/Python: Update steps to quota expected output
- 386 5b57bdb2b7 Tests/Python: adjust gas limits and fees in Python tests
- 387 dae02f9190 Proto/gas: rescale gas by 2^7, making internal_gas always 0
- 388 a325b0468a Tests/Python: regenerate traces including internal_gas
- 389 b58e756493 Proto/gas: make internal gas visible in interpreter traces
- 390 ab83151ed2 Tests/Python: adjust fees and gas in python tests
- 391 4ffad4c059 Protocol/gas: fix scaling of gas accounting for number of writes
- 392 68026e191e Client/baking: use Q.t instead of Z.t for fee computation
- 393 ce95c44fed Proto/Test: new tests checking basic gas properties
- 394 c53b249731 Proto/Test: export `validation_state` in Incremental module
- 395 5ca598f78e Test/Python: move and fix Map_map side-effect test
- 396 7fb77845d2 Tests/Python: fix error message in chain_id arity test
- 397 373f49877b Proto/Michelson: fix the arity check for chain_id
- 398 52185d0bef Tests/Python: add an ill-typed test for the arity of chain_id.
- 399 9ed400db42 Proto/Michelson: remove some Lwt wrappers
- 400 7834e42f78 Proto: expose parse_storage
- 401 df180ef290 Michelson: exposes parsing without specifying storage
- 402 c398ba92fd Proto: Uniform variable names for context + comments clean-up
- 403 5ad7b755f6 Tests/Python: regenerate reg. traces
- 404 cff4350c99 Proto/Michelson: hoist Gas.consume out of interp. pattern matching
- 405 23010519d9 Tests/Python: regenerate regression traces
- 406 68314bc0ab Proto/Michelson: hoist gas consumption in Slice_{string,bytes}
- 407 a149e35cca Tests/Python: generate regression traces for new slice test
- 408 146c45ddc2 Tests/Python: bigger test for slice
- 409 ef5f7de5b1 Tests/Python: update reg. tests logs for Loop exit gas fix
- 410 0e6c5aecd4 Protocol/Michelson: fix gas consumption in Loop exit case
- 411 f6573d3540 Tests/Python: update regression logs for list_size
- 412 6bf7cbd6c5 Proto/Michelson: make lists carry their size and type of elements
- 413 023e7b87aa Proto/Michelson: abstract logging facility
- 414 ecda21dbaf Lint/Python: Increase the limit of maximum module lines
# MRs merged in the old proto-proposal
curl "https://gitlab.com/api/v4/projects/11412215/merge_requests?state=merged&label_name=proto-007-delayed&target_branch=proto-proposal&per_page=1000" | jq -r '.[] | @text "- [ ] !\(.iid): \(.title) \(.author.name)" '
The checkbox means that the corresponding MR has been rebased and merged in the new proto-proposal.
- [ ] !280: distinguish migration receipts from normal receipts Tomáš Zemanovič
- [x] !278: Backport D-alpha release fixes Mehdi Bouaziz
- [x] !274: Lazy storage: fix NL email Mehdi Bouaziz -> !316
- [ ] !268: Use fixed-point arithmetic for gas Ilias Garnier -> Delphi?
- [ ] !265: Fixup! Split votes Alvaro Garcia
- [ ] !256: Follow-up on add combs to Michelson Alvaro Garcia -> !345
- [x] !254: Proto_demo: update demo protocol to environment V1 Tomáš Zemanovič
- [ ] !253: fixup! Tests/Python: Bls12-381 - add nil test case for pairing check A L Manning
- [ ] !252: !fixup: remove an unused parameter in script_ir_translator Raphaël Cauderlier
- [x] !251: fixup! Tests/Python: bls12-381 Tomáš Zemanovič -> 345
- [ ] !250: Add some coq-of-ocaml attributes and minor changes Guillaume Claret
- [ ] !249: Move or name some signatures in the protocol Guillaume Claret
- [ ] !247: Renaming to avoid name collisions in Coq Guillaume Claret
- [ ] !246: Replace 'with module' by 'with type' Guillaume Claret
- [ ] !245: Various changes to compile new files in coq Guillaume Claret
- [x] !244: Explicit comparison module for KId Guillaume Claret -> !316
- [ ] !243: [CHERRY-PICK] fixup! Error_monad: test recursive registration Tomáš Zemanovič
- [x] !241: Bump up ocaml-bls12-381 to 0.3.9 Danny Willems
- [ ] !240: Compile `block_header_repr.ml` and `michelson_v1_primitives.ml` in Coq Guillaume Claret
- [ ] !239: Name the signatures of the protocol Guillaume Claret
- [x] !238: Avoid non-top-level uses of 'let and' constructs for coq-of-ocaml Guillaume Claret
- [ ] !237: Avoid a name collision for `encoding` in the generated Coq Guillaume Claret
- [x] !235: Add missing case for keyword namespace encoding Tomáš Zemanovič (merged in delphi)
- [x] !234: Environment small fixes Marco Stronati
- [ ] !233: Protocol/coq-of-ocaml: Name some anonymous signatures to help coq-of-ocaml Guillaume Claret
- [x] !230: Bump up version of ocaml-bls12-381 to 0.3.8 Danny Willems
- [x] !227: Migration: remove leftovers Alpha_previous and Babylon_005 Sylvain R.
- [x] !225: Shell context commit to operation receipts hash Tomáš Zemanovič
- [x] !221: Proto/Michelson: minor translator fixes Raphaël Cauderlier (merged in delphi)
- [x] !220: Update ocaml-bls12-381 to 0.3.6 Danny Willems
- [x] !219: Fix max revelations constant to reflect actual behavior Tomáš Zemanovič (merged in delphi)
- [x] !215: Update opam repository to tezos instead of NL Danny Willems
- [x] !212: Modernise option Tomáš Zemanovič
- [x] !211: Improve error monad in preparation for lwtreslib Tomáš Zemanovič (part in merged in delphi, part in 008)
- [ ] !210: Add gas scaling migration and fix failing voting_full integration test Adrian Brink
- [x] !209: Curryfication of helper services Raphaël Cauderlier -> !321
- [ ] !208: Remove poly variant from raw_context.ml for coq-of-ocaml Guillaume Claret
- [ ] !207: Allow to set the balance in script simulation Raphaël Cauderlier
- [x] !206: Proto: Split cases with different type parameters Adrian Brink
- [x] !203: Proto/Michelson: avoid Lwt.bind when logging Ilias Garnier (merged in delphi)
- [ ] !200: Follow up from !99 "Cache Deserialized Script Code & Storage" A L Manning
- [x] !192: Proto/Michelson: readable unparsing of chain ids Raphaël Cauderlier (merged in delphi)
- [x] !190: Docs/Michelson: Update removed legacy instructions Tomáš Zemanovič (merged in delphi)
- [ ] !186: Alvaro/follow up split votes Alvaro Garcia
- [x] !185: Refactor Michelson printer Tomáš Zemanovič (merged in delphi)
- [x] !181: Docs: Michelson's empty type Alvaro Garcia -> !321
- [ ] !179: Remove poly variant from apply.ml for coq-of-ocaml Guillaume Claret
- [x] !178: Alvaro/follow up rolls per key Alvaro Garcia -> !321
- [ ] !175: Protocol/{Contracts,Big_maps,Rolls}: flat hierarchy Ilias Garnier
- [ ] !174: Alvaro/follow up split votes Alvaro Garcia
- [x] !173: Add Keccak and SHA3 instructions to Michelson A L Manning -> !345
- [x] !170: Storage: rename Int -> UInt16 Mehdi Bouaziz (merged in delphi)
- [x] !165: Env/Error_monad: import more values from the lib Mehdi Bouaziz
- [x] !164: Rewrite some bind in to Mehdi Bouaziz (merged in delphi)
- [x] !163: Get rid of Lwt when not necessary Mehdi Bouaziz (merged in delphi)
- [x] !162: Env: add Z.pp Mehdi Bouaziz (partial conflicts)
- [x] !157: Remove `cost` vectors in Gas_limit_repr and perform final gas rescaling Ilias Garnier (merged in delphi)
- [x] !153: Changes to compile the environment with coq-of-ocaml Guillaume Claret
- [x] !150: Proto: Fix double encoding of big_map_diff François Thiré
- [x] !149: Protocol/RPC: slightly improve efficiency of '/baking_rights?delegate=[...]' Pierre Boutillier
- [x] !147: Spell check Mehdi Bouaziz (merged in delphi)
- [x] !146: Proto: add representation for big_maps with id & diff Mehdi Bouaziz -> !321
- [x] !140: Proto/Michelson: expose unparse_code in Script_ir_translator Ilias Garnier
- [x] !137: Adding Keccak256 and SHA-3 to protocol Victor Dumitrescu
- [x] !135: Make more types comparable Alvaro Garcia -> !321
- [x] !134: Proto/Michelson: Use the right cost function for SET_DELEGATE instr Tomáš Zemanovič (proto 007)
- [x] !133: Proto/Michelson: add missing Unit case in comparable_ty_of_ty_no_gas Ilias Garnier (proto 007)
- [x] !125: Proto/Michelson: Remove legacy instructions Raphaël Cauderlier -> !321
- [x] !122: Vendor ocaml-bls12-381 0.3.4 Danny Willems
- [ ] !121: Fix counter rpc Alvaro Garcia
- [ ] !120: add debug info to storage_description Sylvain R.
- [x] !119: pytest: add regression markers Tomáš Zemanovič
- [x] !118: Proto/Michelson: ensures all annotations are checked Raphaël Cauderlier -> Delphi
- [x] !117: Add a legacy flag for the typechecking commands Raphaël Cauderlier -> !321
- [x] !114: Client/Michelson: drop support for annotations on UNPAPAIR macros Raphaël Cauderlier -> !321
- [x] !111: Add a rule to run coq-of-ocaml in the CI Guillaume Claret (proto 007)
- [x] !110: Michelson annotations as algebraic types Guillaume Claret (proto 007)
- [x] !107: Env: Add hex to V1 Sylvain R.
- [x] !106: Changes to compile the environment with coq-of-ocaml Guillaume Claret
- [x] !103: Proto/Michelson: expose parse_ty for convenience to external tools Ilias Garnier (proto 007)
- [ ] !99: Cache Deserialized Script Code & Storage A L Manning
- [x] !98: Simplify some Bytes operations Mehdi Bouaziz
- [ ] !97: Minor refactorings on bigmaps Mehdi Bouaziz
- [x] !96: Generalize lazy storage Mehdi Bouaziz -> !316
- [ ] !95: Simplify has_big_map flag Mehdi Bouaziz
- [x] !94: refresh environment sigs Marco Stronati
- [x] !93: Update signatures of Lwt{,_list} so that they are a strict subset of their original. Marco Stronati
- [x] !92: Simplify GADT matchings in script_ir_translator Mehdi Bouaziz (proto 007)
- [x] !91: Michelson: fix number_of_generated_growing_types Mehdi Bouaziz
- [x] !89: Cherry-pick tezos/tezos!1643 Mehdi Bouaziz -> !321
- [x] !88: Tests: remove dead regression test outputs Mehdi Bouaziz -> !321
- [x] !82: Proto/Michelson: rolls per key Alvaro Garcia -> !321
- [x] !81: Tests/Python: add a test for the LEVEL instruction Raphaël Cauderlier -> !321
- [x] !80: Add PVSS modules to the protocol environment Tomáš Zemanovič
- [ ] !79: Implement the splitting of votes Alvaro Garcia
- [x] !78: Proto: minor cleanups Mehdi Bouaziz (proto 007)
- [x] !77: Proto/Michelson: fix DIP error message Mehdi Bouaziz (merged in delphi)
- [x] !76: Proto/Michelson: fix registration of Invalid_syntactic_constant Mehdi Bouaziz (proto 007)
- [x] !75: Proto/Michelson: add the SELF_ADDRESS instruction Raphaël Cauderlier -> !321
- [x] !72: Add Unit, Union, Option as comparable types Mehdi Bouaziz -> !321
```
curl "https://gitlab.com/api/v4/projects/11412215/merge_requests?state=merged&label_name=proto-007-delayed&target_branch=proto-proposal&per_page=100&page=2" | jq -r '.[] | @text "- [ ] !\(.iid): \(.title) \(.author.name)"'
```
- [x] !71: LEVEL instruction Mehdi Bouaziz -> !321
- [x] !69: new environment Sylvain R.
- [x] !68: Fix gas bound in python test Ilias Garnier (merged in delphi)
- [x] !67: Protocol/Michelson: avoid overflowing [Int32.to_int Int32.max_int] Pierre Boutillier (merged in delphi)
- [x] !66: Protocol: Safer Int64.to_int Pierre Boutillier (merged in dephi)
- [x] !65: Simplify/refactor merge_types/ty_eq Mehdi Bouaziz (merged in delphi)
- [x] !64: Michelson: allow non-comb comparable pairs Mehdi Bouaziz -> !321
- [x] !63: Test/Python: move and fix Map_map side-effect test Mehdi Bouaziz (merged in delphi)
- [x] !60: Fix error message for chain_id bad arity Raphaël Cauderlier
- [x] !59: Proto/Michelson: remove some Lwt wrappers Raphaël Cauderlier (merged in delphi)
- [x] !58: Gas rescaling Ilias Garnier (merged in delphi)
- [x] !56: Expose a michelson parsing function in michelson translator Guillaume B (merged in delphi)
- [x] !55: Simplify the Michelson interpreter Raphaël Cauderlier (merged in delphi)
- [x] !54: Protocol/Michelson: UNPAIR instruction Raphaël Cauderlier -> !321
- [x] !53: Proto/Michelson: hoist calls to Gas.consume in dedicated function (simplify 3/3) Ilias Garnier (merged in delphi)
- [x] !52: Michelson: empty type Raphaël Cauderlier -> !321
- [ ] !51: add failing_noop operation + client command sign/check arbitrary message Tomáš Zemanovič
- [x] !49: For transfers with 0 tz, check if the target exists Tomáš Zemanovič (merged in delphi)
- [ ] !48: prevent double injection of the same evidence Tomáš Zemanovič
- [x] !47: Uniform variable names for context + clean-up Tomáš Zemanovič (merged in delphi)
- [ ] !46: Allow to apply balance updates from migration Tomáš Zemanovič
- [ ] !45: Michelson BLS12-381 ops A L Manning
- [x] !43: Proto proposal clean up Raphaël Proust
- [x] !42: Proto/Michelson: boxed lists (simplify 2/3) Ilias Garnier (merged in delphi)
- [x] !41: Add 5th period for protocol "Adoption" Tomáš Zemanovič
- [x] !38: Proto/Michelson: abstract logging for the interpreter (simplify 1/3) Ilias Garnier (merged in delphi)
- [x] !36: Protocol: remove code specific to the migration from Babylon to Carthage Raphaël Cauderlier
- [x] !35: RPC: return all delegates if no flags were used Tomáš Zemanovič (merged in delphi)
- [ ] ~~!34: improve Michelson gas costs with map and set folding break Tomáš Zemanovič~~