From 8e8a3b657ee74cd4fbcb5076bf9794fb602d3480 Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Thu, 19 Sep 2019 10:50:53 -0400
Subject: [PATCH] Get the announcement into the client resource-created
 redeemer as well.

Although ... the client resource doesn't really the part of the redeemer that
needs the announcement.  Maybe that part of the redeemer belongs somewhere
else.  Probably.
---
 src/_zkapauthorizer/_plugin.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/_zkapauthorizer/_plugin.py b/src/_zkapauthorizer/_plugin.py
index b6e230c..6a68a1a 100644
--- a/src/_zkapauthorizer/_plugin.py
+++ b/src/_zkapauthorizer/_plugin.py
@@ -77,6 +77,7 @@ class ZKAPAuthorizer(object):
     """
     name = attr.ib(default=u"privatestorageio-zkapauthz-v1")
     _stores = attr.ib(default=attr.Factory(WeakValueDictionary))
+    _announcement = attr.ib(default=None)
 
     def _get_store(self, node_config):
         """
@@ -126,6 +127,9 @@ class ZKAPAuthorizer(object):
         managed by this plugin in the node directory that goes along with
         ``node_config``.
         """
+        # XXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........................ :(
+        self._announcement = announcement
+
         from twisted.internet import reactor
         redeemer = self._get_redeemer(node_config, announcement, reactor)
         extract_unblinded_tokens = self._get_store(node_config).extract_unblinded_tokens
@@ -142,7 +146,7 @@ class ZKAPAuthorizer(object):
 
     def get_client_resource(self, node_config):
         # XXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........................ :(
-        announcement = {}
+        announcement = self._announcement
         from twisted.internet import reactor
         return resource_from_configuration(
             node_config,
-- 
GitLab