|
|
|
@ -508,24 +508,29 @@ class SchDynamicPage1(QWizardPage): |
|
|
|
sN = ['Starting mixdepth', 'Average number of counterparties', |
|
|
|
sN = ['Starting mixdepth', 'Average number of counterparties', |
|
|
|
'How many mixdepths to tumble through', |
|
|
|
'How many mixdepths to tumble through', |
|
|
|
'Average wait time between transactions, in minutes', |
|
|
|
'Average wait time between transactions, in minutes', |
|
|
|
'Average number of transactions per mixdepth'] |
|
|
|
'Average number of transactions per mixdepth', |
|
|
|
|
|
|
|
'Max relative fee per counterparty (e.g. 0.005)', |
|
|
|
|
|
|
|
'Max fee per counterparty, satoshis (e.g. 10000)'] |
|
|
|
#Tooltips |
|
|
|
#Tooltips |
|
|
|
sH = ["The starting mixdepth can be decided from the Wallet tab; it must " |
|
|
|
sH = ["The starting mixdepth can be decided from the Wallet tab; it must " |
|
|
|
"have coins in it, but it's OK if some coins are in other mixdepths.", |
|
|
|
"have coins in it, but it's OK if some coins are in other mixdepths.", |
|
|
|
"How many other participants are in each coinjoin, on average; but " |
|
|
|
"How many other participants are in each coinjoin, on average; but " |
|
|
|
"each individual coinjoin will have a number that's slightly varied " |
|
|
|
"each individual coinjoin will have a number that's varied according to " |
|
|
|
"from this, randomly", |
|
|
|
"settings on the next page", |
|
|
|
"For example, if you start at mixdepth 1 and enter 4 here, the tumble " |
|
|
|
"For example, if you start at mixdepth 1 and enter 4 here, the tumble " |
|
|
|
"will move coins from mixdepth 1 to mixdepth 5", |
|
|
|
"will move coins from mixdepth 1 to mixdepth 5", |
|
|
|
"This is the time waited *after* 1 confirmation has occurred, and is " |
|
|
|
"This is the time waited *after* 1 confirmation has occurred, and is " |
|
|
|
"varied randomly.", |
|
|
|
"varied randomly.", |
|
|
|
"Will be varied randomly, with a minimum of 1 per mixdepth"] |
|
|
|
"Will be varied randomly, see advanced settings next page", |
|
|
|
|
|
|
|
"A decimal fraction (e.g. 0.001 = 0.1%) (this AND next must be violated to reject", |
|
|
|
|
|
|
|
"Integer number of satoshis (this AND previous must be violated to reject)"] |
|
|
|
#types |
|
|
|
#types |
|
|
|
sT = [int, int, int, float, int] |
|
|
|
sT = [int, int, int, float, int, float, int] |
|
|
|
#constraints |
|
|
|
#constraints |
|
|
|
sMM = [(0, jm_single().config.getint("GUI", "max_mix_depth") - 1), (3, 20), |
|
|
|
sMM = [(0, jm_single().config.getint("GUI", "max_mix_depth") - 1), (3, 20), |
|
|
|
(1, 5), (0.00000001, 100.0, 8), (2, 10)] |
|
|
|
(1, 5), (0.00000001, 100.0, 8), (2, 10), (0.000001, 0.25, 6), |
|
|
|
sD = ['', '', '', '', ''] |
|
|
|
(0, 10000000)] |
|
|
|
|
|
|
|
sD = ['0', '4', '4', '0.25', '3', '0.005', '10000'] |
|
|
|
for x in zip(sN, sH, sT, sD, sMM): |
|
|
|
for x in zip(sN, sH, sT, sD, sMM): |
|
|
|
ql = QLabel(x[0]) |
|
|
|
ql = QLabel(x[0]) |
|
|
|
ql.setToolTip(x[1]) |
|
|
|
ql.setToolTip(x[1]) |
|
|
|
@ -541,11 +546,13 @@ class SchDynamicPage1(QWizardPage): |
|
|
|
layout.addWidget(x[0], i + 1, 0) |
|
|
|
layout.addWidget(x[0], i + 1, 0) |
|
|
|
layout.addWidget(x[1], i + 1, 1, 1, 2) |
|
|
|
layout.addWidget(x[1], i + 1, 1, 1, 2) |
|
|
|
self.setLayout(layout) |
|
|
|
self.setLayout(layout) |
|
|
|
self.registerField("mixdepthsrc*", results[0][1]) |
|
|
|
self.registerField("mixdepthsrc", results[0][1]) |
|
|
|
self.registerField("makercount*", results[1][1]) |
|
|
|
self.registerField("makercount", results[1][1]) |
|
|
|
self.registerField("mixdepthcount*", results[2][1]) |
|
|
|
self.registerField("mixdepthcount", results[2][1]) |
|
|
|
self.registerField("timelambda*", results[3][1]) |
|
|
|
self.registerField("timelambda", results[3][1]) |
|
|
|
self.registerField("txcountparams*", results[4][1]) |
|
|
|
self.registerField("txcountparams", results[4][1]) |
|
|
|
|
|
|
|
self.registerField("maxrelfee", results[5][1]) |
|
|
|
|
|
|
|
self.registerField("maxabsfee", results[6][1]) |
|
|
|
|
|
|
|
|
|
|
|
class SchDynamicPage2(QWizardPage): |
|
|
|
class SchDynamicPage2(QWizardPage): |
|
|
|
|
|
|
|
|
|
|
|
@ -692,6 +699,9 @@ class ScheduleWizard(QWizard): |
|
|
|
self.opts['timelambda'] = float(self.field("timelambda").toString()) |
|
|
|
self.opts['timelambda'] = float(self.field("timelambda").toString()) |
|
|
|
self.opts['waittime'] = float(self.field("waittime").toString()) |
|
|
|
self.opts['waittime'] = float(self.field("waittime").toString()) |
|
|
|
self.opts['mincjamount'] = int(self.field("mincjamount").toString()) |
|
|
|
self.opts['mincjamount'] = int(self.field("mincjamount").toString()) |
|
|
|
|
|
|
|
relfeeval = float(self.field("maxrelfee").toString()) |
|
|
|
|
|
|
|
absfeeval = int(self.field("maxabsfee").toString()) |
|
|
|
|
|
|
|
self.opts['maxcjfee'] = (relfeeval, absfeeval) |
|
|
|
#needed for Taker to check: |
|
|
|
#needed for Taker to check: |
|
|
|
jm_single().mincjamount = self.opts['mincjamount'] |
|
|
|
jm_single().mincjamount = self.opts['mincjamount'] |
|
|
|
return get_tumble_schedule(self.opts, self.destaddrs) |
|
|
|
return get_tumble_schedule(self.opts, self.destaddrs) |
|
|
|
|