Repo structure
The Meemaw repo is organised in a few folders :
- server: implements the server of Meemaw including the transport layer, and uses the
utils/tss
package - client: implements the SDKs for the clients of Meemaw
- client.go: implements the
client
package, responsible for the common processes used by all clients, including the transport layer, and uses theutils/tss
andutils/tx
packages - web:
- wasm: implements the wasm module of the Meemaw Javascript SDK, using the
client
package - meemaw-js: uses the wasm module to expose the actual Meemaw Javascript SDK
- wasm: implements the wasm module of the Meemaw Javascript SDK, using the
- ios:
- ios.go: Swift specific glue code around the
client
package - meemaw-ios: Swift package exposing the Meemaw iOS SDK, using a
gomobile
build ofios.go
as resource
- ios.go: Swift specific glue code around the
- android: (empty for now)
- client.go: implements the
- utils:
- tss: contains the code for all TSS specific functions and helpers
- tx: contains the code for the Ethereum transaction specific helpers
- types: contains some agnostic types used in multiple packages (e.g. error types)
- docs: sources for the docs and blog, compiled into static pages for the website you're currently looking at
- test: integration tests, for example testing a full dkg process between server and client (note: unit tests live in their respective packages)