انتقل إلى المحتوى الرئيسي

Variable: IdentifierPublishAuditPayloadV2

const IdentifierPublishAuditPayloadV2: TObject<{ assertionKeyIds: TArray<TString>; commitsTo: TOptional<TString>; did: TOptional<TString>; identifierId: TString; method: TUnsafe<"webvh" | "web">; reason: TOptional<TUnsafe<"document-mismatch" | "agent-refused" | "host-unverified" | "host-taken">>; signedBy: TOptional<TString>; version: TInteger; versionId: TOptional<TString>; }>

Defined in: packages/contracts/src/schemas/audit-issuance.ts:355

The identifier.publish payload every producer writes (plan 3a, ruling 1): the version, and each key by the part it played.

It is told from IdentifierPublishAuditPayloadV1 by method, which is required here and absent there; both objects are closed, so no record fits both. A numbered version field, as access.deny uses, was not available: version already means the identifier's.

  • version is the version published, or on a denied record the one that was not;
  • did is absent only on a denied record written before a did:webvh identifier has its first entry, because its DID is derived from that entry and does not exist yet. A host-unverified refusal of a first publication is that case;
  • versionId is the log entry's, so it is absent for web, which has no log, and on a denied record when no entry was made;
  • signedBy is the update key that signed the entry and commitsTo the next update key the entry commits to in advance. Both are absent for web, where nothing signs the document, and on a denied record when no entry was made. After a successful publication signedBy is spent, and the identifier.key-discard record that follows says it was destroyed;
  • assertionKeyIds are the assertion keys that are live once the record is written: the one this version publishes and, for an update, the one it replaced. The list is empty on the denied record of a first publication that failed, whose keys go;
  • reason is present on a denied record and absent on success.

An update whose gate fails is not recorded here. It is one identifier.update record with outcome denied, under the operation the person asked for, so that a count of refused publications never mixes first publications with updates (ruling 23 of the wave 3 hand-out).