enum2contract (cargo): enum2contract is a no_std compatible rust derive macro that lets users specify contracts for pub/sub style messaging using strongly typed rust enums.  Conversion methods for JSON and binary are created for the generated payloads. 
Keywords: enum|macro|contract