MCPcopy Index your code
hub / github.com/Bitmessage/PyBitmessage / HandleCreateRandomAddress

Method HandleCreateRandomAddress

src/api.py:245–284  ·  view source on GitHub ↗
(self, params)

Source from the content-addressed store, hash-verified

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:

Callers

nothing calls this directly

Calls 6

_decodeMethod · 0.95
BMConfigParserClass · 0.90
APIErrorClass · 0.85
clearMethod · 0.80
putMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected