type:added
LOCAL MODIFICATION OF TEZOS-LIGO
commit f42570932d32a07f9164fe4e319f221308466245 (HEAD -> v13.0-rc1-ligo)
CHANGES
list here : https://tezos.gitlab.io/protocols/013_jakarta.html#michelson
Things we do not care about (?) :
- Non-entrypoint annotations are ignored by the typechecker and not propagated
- The special annotation %@ of PAIR has no effect
- Annotating the parameter toplevel constructor to designate the root entrypoint is now forbidden. Put the annotation on the parameter type instead. E.g. replace parameter %a int; by parameter (int %a)
- BALANCE is now passed to the Michelson interpreter as a step constant instead of being read from the context each time this instruction is executed
- The existing type sapling_transaction is renamed sapling_transaction_deprecated and is deprecated. Existing onchain contracts are automatically converted. A new Michelson type sapling_transaction and an overload of the instruction SAPLING_VERIFY_UPDATE have been added to fix the malleability problem of the old instruction (see Sapling integration).
TODO (michelson)
-
Some operations are now forbidden in views: CREATE_CONTRACT, SET_DELEGATE and TRANSFER_TOKENS cannot be used at the top-level of a view because they are stateful, and SELF because the entry-point does not make sense in a view. However, CREATE_CONTRACT, SET_DELEGATE and TRANSFER_TOKENS remain available in lambdas defined inside a view. -
The new type tx_rollup_l2_address has been introduced. It is used to identify accounts on transaction rollups’ legders. Values of type tx_rollup_l2_address are 20-byte hashes of a BLS public keys (with a string notation based of a base58 encoding, prefixed with tz4). -
A new instruction MIN_BLOCK_TIME has been added. It can be used to push the current minimal time between blocks onto the stack. The value is obtained from the protocol’s minimal_block_delay constant. -
expose gen_l2_account
in testing framework
TODO (doc):
-
VOTING_POWER changes (we might not mention it in the doc, check) -
Test.gen_l2_account -
The VOTING_POWER of a contract is no longer rounded to rolls. It is now instead the full staking power of the delegate, currently expressed in mutez. Though, developers should not rely on VOTING_POWER to query the staking power of a contract in mutez: the value returned by VOTING_POWER is still of type` nat and it should only be considered relative to TOTAL_VOTING_POWER
TODO (weird):
-
for some reasons run_ligo_good [ "run"; "test" ; test "test_register_delegate.mligo" ] ;
is not deterministic anymore (investigate?) -
https://gitlab.com/ligolang/ligo/blob/moving_to_jakarta/src/bin/expect_tests/protocol_specific.ml#L82-85 works locally, fail on expect tests ..
Changelog details:
upgrade to jakarta:
- jakarta changes are available (please use option
--protocol jakarta
)