Blockchain development team announces the cyberway CDT v2.0.1 version release. This version includes:
— modification to nested transactions;
— modification to auto-generation of ABI-description;
— modification to ABI-diff utility;
— modification to binary_extention.
Executing nested transactions
The send_nested
intrinsic has been implemented to execute nested transactions. This intrinsic defined as
void send_nested(const char *serialized_transaction, size_t size)
. It available only for privileged contracts and has some restrictions:
- transaction authorities does not checked, so contract should check it;
- only one nested transaction is allowed inside the normal;
- nested transaction is not allowed from nested;
- context free actions are not allowed in nested transactions.
Auto-generation of ABI-description
Auto-generation of the ABI-description and actions dispatcher based on the attributes placed in the contract code has been restored. To do this, changes were made to the compiler to provide a description of features implemented in CyberWay. The following attributes have been added to the set of supported attributes:
eosio::event
- marks a record as being an eosio event;eosio::order
- adds an order to table or index;eosio::non_unique
- marks index of eosio table as non-unique;eosio::scope_type
- set custom scope type of eosio table.
Also, the compiler has been renamed to cyberway-cpp.
Modification to ABI-diff utility
The abidiff tool is used to diff two ABI files to flag and output differences. The abidiff utility has been modified to support sections added to CyberWay in the ABI description. These sections include descriptions of events and indexes for data tables.
It was also added the ability to determine whether the files match by the return code passed from the utility (0 - successful execution, the specified files match).
Modification to binary_extension (#175)
Problem description
Binary extension writes the default value when it does not have value
Solution
A binary behavior strategy has been added for binary_extension when saving and if it does not have a value. (In EOS, the default value for the stored type is written in this case). Strategy can be choosed using the value no_value
of template parameter write_strategy
(when data is not saving, for instance). This parameter is optional, and if omitted, binary_extension
will adhere to behavior implemented in EOS (it will take default_value
value for the parameter).
Minor bugs were also fixed and changes were made to the Docker image build.
Don't hesitate to join our community via:
Commun:
Telegram:
- CyberWay - https://t.me/cyberway_en (for general questions and inquiries)
- CyberWay Validators - https://t.me/cyberway_validators_en (for questions and inquiries concerning validators of CyberWay platform)
- CyberWay Dev - https://t.me/cyberway_dev (for instant technical feedback from our Dev team)
Twitter:
We'll keep you updated over https://twitter.com/cyberwayio