// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
package network;
option optimize_for = LITE_RUNTIME;
import "public.proto";
// A TrustTokenIssuerConfig message represents persistent state scoped
// to a single Trust Tokens issuer origin.
message TrustTokenIssuerConfig {
// Any signed-but-unspent tokens received from the issuer.
repeated TrustToken tokens = 3;
// The time of the most recent issuance for this pair.
optional Timestamp last_issuance = 4;
}
// A top-level domain’s config currently just stores
// the issuers with which the domain has associated itself.
message TrustTokenToplevelConfig {
repeated string associated_issuers = 1;
}
// An TrustTokenIssuerToplevelPairConfig stores state scoped to
// (issuer origin, top-level page origin) pairs.
message TrustTokenIssuerToplevelPairConfig {
// The time of the most recent redemption for this pair. Used for
// rate-limiting and expiration.
optional Timestamp last_redemption = 1;
// The redemption record cached for this pair, if any.
optional TrustTokenRedemptionRecord redemption_record = 2;
// The time of the redemption before last for this pair. Used for
// rate-limiting.
optional Timestamp penultimate_redemption = 3;
}