pub enum ChatDelegateRequestMsg {
Show 15 variants
StoreRequest {
key: ChatDelegateKey,
value: Vec<u8>,
},
GetRequest {
key: ChatDelegateKey,
},
DeleteRequest {
key: ChatDelegateKey,
},
ListRequest,
StoreSigningKey {
room_key: RoomKey,
signing_key_bytes: [u8; 32],
},
GetPublicKey {
room_key: RoomKey,
},
SignMessage {
room_key: RoomKey,
request_id: RequestId,
message_bytes: Vec<u8>,
},
SignMember {
room_key: RoomKey,
request_id: RequestId,
member_bytes: Vec<u8>,
},
SignBan {
room_key: RoomKey,
request_id: RequestId,
ban_bytes: Vec<u8>,
},
SignConfig {
room_key: RoomKey,
request_id: RequestId,
config_bytes: Vec<u8>,
},
SignMemberInfo {
room_key: RoomKey,
request_id: RequestId,
member_info_bytes: Vec<u8>,
},
SignSecretVersion {
room_key: RoomKey,
request_id: RequestId,
record_bytes: Vec<u8>,
},
SignEncryptedSecret {
room_key: RoomKey,
request_id: RequestId,
secret_bytes: Vec<u8>,
},
SignUpgrade {
room_key: RoomKey,
request_id: RequestId,
upgrade_bytes: Vec<u8>,
},
EnsureRoomSubscription {
room_owner_vk: RoomKey,
contract_id: [u8; 32],
},
}Expand description
Messages sent from the App to the Chat Delegate
Variants§
StoreRequest
GetRequest
Fields
key: ChatDelegateKeyDeleteRequest
Fields
key: ChatDelegateKeyListRequest
StoreSigningKey
Store a signing key for a room (room_key = owner’s verifying key bytes)
GetPublicKey
Get the public key for a stored signing key
SignMessage
Sign a message (MessageV1 serialized)
SignMember
Sign a member invitation (Member serialized)
SignBan
Sign a ban (BanV1 serialized)
SignConfig
Sign a room configuration (Configuration serialized)
SignMemberInfo
Sign member info (MemberInfo serialized)
SignSecretVersion
Sign a secret version record (SecretVersionRecordV1 serialized)
SignEncryptedSecret
Sign an encrypted secret for member (EncryptedSecretForMemberV1 serialized)
SignUpgrade
Sign a room upgrade (RoomUpgrade serialized)
EnsureRoomSubscription
Ask the delegate to subscribe to a room contract so the delegate can drive secret rotation when the membership set changes.
contract_id is the 32-byte ContractInstanceId for the room contract,
computed by the UI as BLAKE3(room_contract_wasm_hash || params) where
params is the cbor-serialised ChatRoomParametersV1 { owner: room_owner_vk }.
We pass it explicitly rather than recomputing it inside the delegate so
that the delegate WASM doesn’t need to bundle the room-contract WASM.
Trait Implementations§
Source§impl Clone for ChatDelegateRequestMsg
impl Clone for ChatDelegateRequestMsg
Source§fn clone(&self) -> ChatDelegateRequestMsg
fn clone(&self) -> ChatDelegateRequestMsg
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more