DeclarationRecord constructor

const DeclarationRecord({
  1. @Default.new('com.germnetwork.declaration') String $type,
  2. required String version,
  3. required Map<String, dynamic> currentKey,
  4. @MessageMeConverter() MessageMe? messageMe,
  5. Map<String, dynamic>? keyPackage,
  6. List<Map<String, dynamic>>? continuityProofs,
  7. Map<String, dynamic>? $unknown,
})

Implementation

@JsonSerializable(includeIfNull: false)
const factory DeclarationRecord({
  @Default('com.germnetwork.declaration') String $type,

  /// Semver version number, without pre-release or build information, for the format of opaque content
  required String version,

  /// Opaque value, an ed25519 public key prefixed with a byte enum
  required Map<String, dynamic> currentKey,

  /// Controls who can message this account
  @MessageMeConverter() MessageMe? messageMe,

  /// Opaque value, contains MLS KeyPackage(s), and other signature data, and is signed by the currentKey
  Map<String, dynamic>? keyPackage,
  List<Map<String, dynamic>>? continuityProofs,

  Map<String, dynamic>? $unknown,
}) = _DeclarationRecord;