Currently it is not possible to use serialization derivation macros in off-chain code since it is part of concordium-std-derive, which is not meant to be used by off-chain code (it essentially depends on concordium-std and its imports).
We should split out the serialization macros into its own crate and change the imports to use concordium-contracts-common instead.
This will allow using them from off-chain code. This crate should live in concordium-contracts-common repository.
Sub-tasks
[ ] split out the serialization macros
[ ] re-export appropriately from concordium-std so there is no API change there.
Task description
Currently it is not possible to use serialization derivation macros in off-chain code since it is part of concordium-std-derive, which is not meant to be used by off-chain code (it essentially depends on concordium-std and its imports).
We should split out the serialization macros into its own crate and change the imports to use concordium-contracts-common instead. This will allow using them from off-chain code. This crate should live in concordium-contracts-common repository.
Sub-tasks