Moving to jarkarta

Merged Rémi requested to merge moving_to_jakarta into dev



commit f42570932d32a07f9164fe4e319f221308466245 (HEAD -> v13.0-rc1-ligo)


list here :

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):

Changelog details:

upgrade to jakarta:

  • jakarta changes are available (please use option --protocol jakarta)
Edited by Rémi