| 243 | return "Deleted address book entry for %s if it existed" % address |
| 244 | |
| 245 | def HandleCreateRandomAddress(self, params): |
| 246 | if len(params) == 0: |
| 247 | raise APIError(0, 'I need parameters!') |
| 248 | elif len(params) == 1: |
| 249 | label, = params |
| 250 | eighteenByteRipe = False |
| 251 | nonceTrialsPerByte = BMConfigParser().get( |
| 252 | 'bitmessagesettings', 'defaultnoncetrialsperbyte') |
| 253 | payloadLengthExtraBytes = BMConfigParser().get( |
| 254 | 'bitmessagesettings', 'defaultpayloadlengthextrabytes') |
| 255 | elif len(params) == 2: |
| 256 | label, eighteenByteRipe = params |
| 257 | nonceTrialsPerByte = BMConfigParser().get( |
| 258 | 'bitmessagesettings', 'defaultnoncetrialsperbyte') |
| 259 | payloadLengthExtraBytes = BMConfigParser().get( |
| 260 | 'bitmessagesettings', 'defaultpayloadlengthextrabytes') |
| 261 | elif len(params) == 3: |
| 262 | label, eighteenByteRipe, totalDifficulty = params |
| 263 | nonceTrialsPerByte = int( |
| 264 | defaults.networkDefaultProofOfWorkNonceTrialsPerByte * totalDifficulty) |
| 265 | payloadLengthExtraBytes = BMConfigParser().get( |
| 266 | 'bitmessagesettings', 'defaultpayloadlengthextrabytes') |
| 267 | elif len(params) == 4: |
| 268 | label, eighteenByteRipe, totalDifficulty, smallMessageDifficulty = params |
| 269 | nonceTrialsPerByte = int( |
| 270 | defaults.networkDefaultProofOfWorkNonceTrialsPerByte * totalDifficulty) |
| 271 | payloadLengthExtraBytes = int( |
| 272 | defaults.networkDefaultPayloadLengthExtraBytes * smallMessageDifficulty) |
| 273 | else: |
| 274 | raise APIError(0, 'Too many parameters!') |
| 275 | label = self._decode(label, "base64") |
| 276 | try: |
| 277 | unicode(label, 'utf-8') |
| 278 | except: |
| 279 | raise APIError(17, 'Label is not valid UTF-8 data.') |
| 280 | queues.apiAddressGeneratorReturnQueue.queue.clear() |
| 281 | streamNumberForAddress = 1 |
| 282 | queues.addressGeneratorQueue.put(( |
| 283 | 'createRandomAddress', 4, streamNumberForAddress, label, 1, "", eighteenByteRipe, nonceTrialsPerByte, payloadLengthExtraBytes)) |
| 284 | return queues.apiAddressGeneratorReturnQueue.get() |
| 285 | |
| 286 | def HandleCreateDeterministicAddresses(self, params): |
| 287 | if len(params) == 0: |