// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

package signalservice;

message ProvisioningUuid {
 optional string uuid = 1;
}


message ProvisionEnvelope {
  optional bytes publicKey = 1;
  optional bytes body      = 2; // Encrypted ProvisionMessage
}

message ProvisionMessage {
  optional bytes   aciIdentityKeyPublic = 1;
  optional bytes   aciIdentityKeyPrivate = 2;
  optional bytes   pniIdentityKeyPublic = 11;
  optional bytes   pniIdentityKeyPrivate = 12;
  optional string  aci = 8;
  optional string  pni = 10;
  optional string  number = 3;
  optional string  provisioningCode = 4;
  optional string  userAgent = 5;
  optional bytes   profileKey = 6;
  optional bool    readReceipts = 7;
  optional uint32  ProvisioningVersion = 9;
  optional bytes   masterKey = 13;
  optional bytes   ephemeralBackupKey = 14; // 32 bytes
  optional string  accountEntropyPool = 15;
  optional bytes   mediaRootBackupKey = 16; // 32-bytes
}

enum ProvisioningVersion {
  option allow_alias = true;

  INITIAL        = 0;
  TABLET_SUPPORT = 1;
  CURRENT        = 1;
}
