Open
Description
The release of MAIN.2.5 will bring several breaking changes that may impact builders (also the impact should be minimal in most cases), listed below:
- Smart contracts now have a limit of 25 nested calls (no limit were applied previously)
- Smart contracts can only emit 25 messages (per operation) and the message size limit is set to 1024 bytes
- The following smart contract methods now have a gas cost:
- assembly_script_console_log: 171,
- assembly_script_console_info: 171,
- assembly_script_console_debug: 171,
- assembly_script_console_warn: 171,
- assembly_script_console_error: 171,
- assembly_script_trace: 171
- Event created now always have a correct operation id
- Smart contracts wasm are now checked before execution in order to prevent Wasm bomb with limits:
- Maximum number of function defined in a smart contract: 512
- Maximum number of arguments to a function: 64
- Maximum number of value a function can return: 8
- Maximum signature length for a function of a smart contract module: 64 + 8
- Maximum length for the name of a function defined in a smart contract: 256
- Maximum length for the name of a smart contract: 256
- Maximum number of custom section data: 1
- Maximum length for the custom section data: 1000000
- Maximum number of functions a module can import: 256
- Maximum number of memory a module can import: 1
- Maximum number of elements a module can import: 256 + 1
- Maximum number of table initializer in a smart contract: 512
- Maximum number of passive element in a smart contract: 512
- Maximum number of passive data in a smart contract: 512
- Maximum number of global initializer in a smart contract: 512
- Maximum number of table in a smart contract: 16
- Maximum number of memories in a smart contract: 1
- Maximum number of exports for a smart contract module (function and globals): 512 + 512
- Only accept EVM Signature with v == 27 or == 28 and s is high order
- Async message expiration should be properly handled (and consistent with operation expiration)
- Block producer are now properly incentivized to include block endorsements
- Wasmv1.get_address_category_wasmv1 now properly handle Massa address
- Cannot create async message with invalid validity slot anymore
- Misc
- Can now transfer coins to Smart contract addresses
- Several fixes regarding to async message handling
- Node and client will now ask that you approve the Massa Community Charter on launch. If you read them and run from a script, you can use the CLI flags
-a
or--accept-community-charter
to accept them automatically.
Note: This list is based on the previous buildnet DEVN.28.5
breaking list: #4808
Metadata
Metadata
Assignees
Labels
No labels