Rust Client/Witness SDK

The source for this project can be found here. This SDK enables creating server-side "Witness" (Verifiable Credential issuing) services over HTTP as well as creating corresponding clients. Because it is developed in Rust, it can by called by many languages through FFIs and can compile to WebAssembly (WASM) for use in the browser (available in this package).
This repository combines all of the flows defined in the Core Library into a single WitnessFlow struct found in this file, with all flows being optional. A witness service can then configure as many or as few of the flows as they so choose. A good example of usage of this configuration is found in the CF worker project linked above.
Each time a new flow is added, the WitnessFlow and it's Flow<...> definition must be updated to make the new flow available to consumers of the library.
To make use of witnesses developed by this library in websites, see Rebase Client for the Typescript+WASM implementation of the client defined here.