Changeset 275
- Timestamp:
- 04/23/09 17:43:38 (3 years ago)
- Location:
- trunk/sandbox/jhb/oc2
- Files:
-
- 3 modified
-
documentation.py (modified) (2 diffs)
-
mint.py (modified) (4 diffs)
-
protocols.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/sandbox/jhb/oc2/documentation.py
r273 r275 682 682 True 683 683 684 Lets try to double spend 685 >>> import messages 686 >>> bobblank = bobwallet._makeBlank(cdd,mkc) 687 >>> bobsecret, bobblind = key.blindBlank(bobblank) 688 >>> blinds = [[mkc.keyId,bobblind]] 689 >>> bobtid = wallet.makeSerial() 690 >>> clientside = protocols.TransferRequest(transport,tid,blinds = blinds, coins = coins) 691 >>> testserver.run_once(port,issuer=issuer,mint=mint) 692 >>> clientside.run().header 693 'TransferReject' 684 694 685 695 … … 722 732 723 733 734 ############################################################################### 735 736 >>> bobtid = wallet.makeSerial() 737 >>> clientside = protocols.TransferRequest(transport,tid,target='foo', coins = [bobcoin]) 738 >>> testserver.run_once(port,issuer=issuer,mint=mint) 739 >>> clientside.run().header 740 'TransferAccept' 741 742 743 ############################################################################### 744 745 746 724 747 4. References 725 748 -
trunk/sandbox/jhb/oc2/mint.py
r274 r275 54 54 return key.verifyContainerSignature(message) 55 55 56 def handleMintingRequest(self,authorizedMessage):57 58 if not self.validateAuthorization(authorizedMessage):59 return messages.TransferReject()60 61 message = authorizedMessage.message62 blinds = message.blinds63 return self._mintBlinds(message)64 65 66 56 def validateCoins(self,coins): 67 57 problems = [] … … 88 78 89 79 80 def handleMintingRequest(self,authorizedMessage): 81 82 if not self.validateAuthorization(authorizedMessage): 83 return messages.TransferReject() 84 85 message = authorizedMessage.message 86 blinds = message.blinds 87 return self._mintBlinds(message) 90 88 91 89 … … 115 113 return reject 116 114 115 for coin in coins: 116 self.addToDSDB(coin) 117 117 118 118 return self._mintBlinds(message) 119 119 120 121 def handleRedeemRequest(self,message): 122 target = message.target 123 tid = message.transactionId 124 coins = message.coins 125 126 result = self.validateCoins(coins) 127 if result != True: 128 reject = messages.TransferReject() 129 reject.reason = 'coins' 130 reject.coins = result 131 return reject 132 133 amount = sum([int(coin.denomination) for coin in coins]) 134 for coin in coins: 135 self.addToDSDB(coin) 136 self.addRedeemed(target,tid,amount) 137 return messages.TransferAccept() 138 120 139 def _mintBlinds(self,message): 121 140 … … 152 171 def inDSDB(self,coin): 153 172 return coin.serial in self.storage.setdefault('dsdb',[]) 173 174 def addRedeemed(self,target,tid,amount): 175 self.storage.setdefault('redeemed',[]).append((target,tid,amount)) -
trunk/sandbox/jhb/oc2/protocols.py
r273 r275 121 121 elif requesttype == 'exchange': 122 122 return self.mint.handleExchangeRequest(message) 123 124 elif requesttype == 'redeem': 125 return self.mint.handleRedeemRequest(message) 123 126 124 127 else:
