Skip to content
Snippets Groups Projects
eliot.py 2.85 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Copyright 2020 PrivateStorage.io, LLC
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    """
    Eliot field, message, and action definitions for ZKAPAuthorizer.
    """
    
    
    Tom Prince's avatar
    Tom Prince committed
    from eliot import ActionType, Field, MessageType
    
    
    PRIVACYPASS_MESSAGE = Field(
    
        "message",
        str,
        "The PrivacyPass request-binding data associated with a pass.",
    
    INVALID_REASON = Field(
    
        "reason",
        str,
        "The reason given by the server for rejecting a pass as invalid.",
    
    PASS_COUNT = Field(
    
        "count",
    
        "A number of passes.",
    
    )
    
    GET_PASSES = MessageType(
    
        "zkapauthorizer:get-passes",
    
        [PRIVACYPASS_MESSAGE, PASS_COUNT],
    
        "An attempt to spend passes is beginning.",
    
    )
    
    SPENT_PASSES = MessageType(
    
        "zkapauthorizer:spent-passes",
    
        "An attempt to spend passes has succeeded.",
    
    )
    
    INVALID_PASSES = MessageType(
    
        "zkapauthorizer:invalid-passes",
    
        [INVALID_REASON, PASS_COUNT],
    
        "An attempt to spend passes has found some to be invalid.",
    
    )
    
    RESET_PASSES = MessageType(
    
        "zkapauthorizer:reset-passes",
    
        "Some passes involved in a failed spending attempt have not definitely been spent and are being returned for future use.",
    
    )
    
    SIGNATURE_CHECK_FAILED = MessageType(
    
        "zkapauthorizer:storage-client:signature-check-failed",
    
        "Some passes the client tried to use were rejected for having invalid signatures.",
    
    )
    
    CALL_WITH_PASSES = ActionType(
    
        "zkapauthorizer:storage-client:call-with-passes",
    
        "A storage operation is being started which may spend some passes.",
    
        "current_sizes",
    
        "A dictionary mapping the numbers of existing shares to their existing sizes.",
    
        "tw_vectors_summary",
    
        "A dictionary mapping share numbers from tw_vectors to test and write vector summaries.",
    
        "new_sizes",
    
        "A dictionary like that of CURRENT_SIZES but for the sizes computed for the shares after applying tw_vectors.",
    
        "new_passes",
    
        "The number of passes computed as being required for the change in size.",
    
    )
    
    MUTABLE_PASSES_REQUIRED = MessageType(
    
        "zkapauthorizer:storage:mutable-passes-required",
    
        [CURRENT_SIZES, TW_VECTORS_SUMMARY, NEW_SIZES, NEW_PASSES],
    
        "Some number of passes has been computed as the cost of updating a mutable.",