From 74f51e77f3eb69f34493402cac9bda83401aa292 Mon Sep 17 00:00:00 2001 From: jMyles Date: Mon, 11 Dec 2017 14:43:51 -0800 Subject: [PATCH] New deposit logic for grant: Alice can supply a deposit, look at her default deposit, or, if implemented in her network client, find a competitive rate. --- nkms/characters.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nkms/characters.py b/nkms/characters.py index a564a5931..9ae1d5676 100644 --- a/nkms/characters.py +++ b/nkms/characters.py @@ -231,7 +231,7 @@ class Alice(Character): setter = self.server.set(dht_key, b"trmap" + dht_value) return setter, encrypted_treasure_map, dht_value, signature_for_bob, signature_for_ursula - def grant(self, bob, uri, networky_stuff, m=None, n=None, expiration=None, deposit=NON_PAYMENT): + def grant(self, bob, uri, networky_stuff, m=None, n=None, expiration=None, deposit=None): if not m: # TODO: get m from config raise NotImplementedError @@ -241,6 +241,12 @@ class Alice(Character): if not expiration: # TODO: check default duration in config raise NotImplementedError + if not deposit: + default_deposit = None # TODO: Check default deposit in config. + if not default_deposit: + deposit = networky_stuff.get_competitive_rate() + if deposit == NotImplemented: + deposit = NON_PAYMENT policy_group = self.policy_manager.create_policy_group(bob, uri, m, n) offer = policy_group.craft_offer(deposit, expiration)