Unify Rust SDK and smart contract libraries (core blockchain)
smh1001 opened this issue · 1 comments
smh1001 commented
The Rust SDK allows a user to interface with the node (e.g., query, send transactions), and the smart contract libraries contain helpers for serialization, type definitions specific to smart contracts, etc. It is currently not possible to use the same serialization both in smart contracts and in an off-chain tool that uses them. This is due to some technical issues in the way we have set up dependencies and compilation targets. These issues are solvable.
Stories
- Factor out serialization and schema macros from concordium-std and instead have a separate crate that can be used in normal targets (x86, system allocator)
- Integrate the resulting concordium-contracts-common and the derive macros into concordium-rust-sdk.
- Get serialiation macros in crypto-common up to par with those in concordium-contracts-common. The main thing is support for enums, and error reporting.
- Revise the CIS-1 example integration using the new integrated SDK.
smh1001 commented
Hey team! Please add your planning poker estimate with ZenHub @abizjak @smh1001 @Bargsteen @EmilLa1 @mkmks @rimbi @td202