Rooch's Development Progress
New features
- Implemented event page in #267 (opens in a new tab).
- Implemented corresponding APIs for #213 (opens in a new tab) RPC documentation functionality at #275 (opens in a new tab) and #299 (opens in a new tab).
- Implemented a web version of the
countercontract in #280 (opens in a new tab). - Added an integration testing tool in #282 (opens in a new tab), for how to use it, please refer to the description in the PR.
- Implement rooch storage for storing
Transaction,Blockand other data, movestoreimplementation fromsequencerto rooch storage, moveTransactionExecutionInfofrom rooch type to moveos type, introduceInMemoryAccumulatorand implement event accumulator root, see #287 (opens in a new tab). - Supports passing different types of parameters to the
entryfunction. Supported types include:u8,u16,u32,u64,u128,u256,bool,object_id,string,addressandvector<inner_type>. For detailed usage, please refer to PR #307 (opens in a new tab). - Implement cross-module
private_genericsattribute checking. When a module calls another module, it needs to check the generic parameter type of the function decorated with#[private_generics]. For details and examples, please refer to PR #298 (opens in a new tab).
Major refactoring
- Assign different addresses to
move-std,moveos-std, androoch-frameworkmodules. Using different addresses can avoid module naming conflicts and facilitate expansion. For example,moveos-std::bcscan wrap all the methods ofmove-std::bcsand add extension methods. This approach is also convenient for extending other built-in standard libraries or frameworks in the future, providing a good collaborative experience for ecosystem co-builders. See issue #245 (opens in a new tab) and Discord post (opens in a new tab) for a detailed discussion.- Add the code of the Move standard library
move-stdlibin #266 (opens in a new tab), so that different libraries can generate their own genesis transactions, so as to realize the function of generating multiple genesis transactions. - Migrated
rooch-frameworkfrommoveos/moveos-stdlib/rooch-frameworktocrate/rooch-frameworkat #270 (opens in a new tab). Migrate framework test cases frommoveos/moveos-stdlibtocrate/rooch-framework-tests. Introduce moveos_stdlib_builder androoch-genesis. The examples use a native dependency of MoveosStdlib. Use0x1formove_std,0x2formoveos_std, and0x3forrooch_framework. The Move integration testexpfile prints transaction output status.
- Add the code of the Move standard library
- Introduced Move module bindings and refactored transaction validators in #283 (opens in a new tab). Introduce Move module bindings to facilitate calling Move functions from Rust code. In the future, we can generate bindings via the ABI.
Improvements and fixes
- In #272 (opens in a new tab) unify
next_cursoras the cursor corresponding to the last object in the returned result. - In #276 (opens in a new tab), the verification of the
initfunction at runtime is refactored, and the dependency of the verification function onSessionis removed. - Add a test case for
entryfunction verification at runtime, see #269 (opens in a new tab) for details - Added CI to automatically test example projects in #291 (opens in a new tab).
- Update storage abstraction documentation, see #300 (opens in a new tab), #311 (opens in a new tab) and #314 (opens in a new tab) for details.
- Optimize CI tests and clean up unused framework modules.
Rooch Community Dev Meeting
- Arrange the implementation of
verifierrelated functions in Roochv0.2. - Discusses account creation pre-execution functions and address mapping schemes.
- Discusses when the RPC
Viewtype is required. - Discusses
MoveStateandETH proxy. - Share introducing Move bindings in Rust.
- Conference recording (opens in a new tab)