DIDComm API Rust vs Python 1. DIDDoc: - [DONE] **Rust**: add DID field: OK - DIDDoc services: DIDComm VS all: SOLVED - create a ticket - keep all in Rust; - keep did comm only in Python - Verification method public key: just str in Python SOLVED - keep field name public_key - [DONE] in **Python**: add Enum with key types and VerificationMaterial type - [DONE] in **Rust**: rename public key enum to verification material - DIDDoc: verification_methods SOLVED - [DONE] **Python**: verification_methods 2. Resolvers as separate params SOLVED - keep impl-dependent 2. DID Resolver: SOLVED - DID only or DID + DID URL? DID only [DONE]**Python** [DONE] **Rust** 3. Secrets Resolver: SOLVED - [DONE] **Python** get_keys(self, kids: List[DID_URL]) - **Rust**: get_keys(self, kids: List[DID_URL]) 4. Errors - DIDNotFound VS DIDNotResolvedError: SOLVED - Have two errors: DIDDocNotResolvedError and DIDUrlNotFoundError? - OK - [DONE] **Python**: two errors - [DONE] **Rust**: two errors - Common DIDCommError SOLVED - SecretNotFound VS notResolved SOLVED - [DONE] **Python**: SecretNotFound - UnsatisfiedConstraintError [DONE] **Python** **Rust** 5. hide instead of protect SOLVED [Done] **Rust**: protect_sender_id 6. Message SOLVED - Message VS Plaintext - [DONE]**Python**: Message - pack/unpack methods of Message OK - no from prior in **Rust** 7. pack/unpack SOLVED - forward_headers **Rust**: check in Rust 8. Forward API: TBD for Rust