forked from Snipa22/nodejs-pool
-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy pathbase.sql
More file actions
416 lines (410 loc) · 49 KB
/
base.sql
File metadata and controls
416 lines (410 loc) · 49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
CREATE DATABASE pool;
CREATE USER pool@`127.0.0.1` IDENTIFIED WITH mysql_native_password BY '98erhfiuehw987fh23d';
CREATE USER pool@`172.17.0.1` IDENTIFIED WITH mysql_native_password BY '98erhfiuehw987fh23d';
CREATE USER pool@localhost IDENTIFIED WITH mysql_native_password BY '98erhfiuehw987fh23d';
GRANT ALL ON pool.* TO pool@`127.0.0.1`;
GRANT ALL ON pool.* TO pool@`172.17.0.1`;
GRANT ALL ON pool.* TO pool@localhost;
FLUSH PRIVILEGES;
USE pool;
ALTER DATABASE pool DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `balance` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`last_edited` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`payment_address` varchar(128) DEFAULT NULL,
`payment_id` varchar(128) DEFAULT NULL,
`pool_type` varchar(64) DEFAULT NULL,
`amount` bigint(26) DEFAULT '0',
`pending_batch_id` bigint(20) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `balance_payment_address_pool_type_payment_id_uindex` (`payment_address`,`pool_type`,`payment_id`),
KEY `balance_payment_address_payment_id_index` (`payment_address`,`payment_id`),
KEY `balance_pending_batch_id_index` (`pending_batch_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `paid_blocks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`paid_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`found_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`port` int NOT NULL,
`hex` varchar(128) NOT NULL,
`amount` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `paid_blocks_paid_time` (`paid_time`),
UNIQUE KEY `paid_blocks_hex` (`hex`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `block_balance` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`hex` varchar(128) NOT NULL,
`payment_address` varchar(128) DEFAULT NULL,
`payment_id` varchar(128) DEFAULT NULL,
`amount` float(53) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `block_balance_hex_payment_address_payment_id_uindex` (`hex`, `payment_address`,`payment_id`),
KEY `block_balance_payment_address_payment_id_index` (`payment_address`,`payment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `bans` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip_address` varchar(40) DEFAULT NULL,
`mining_address` varchar(200) DEFAULT NULL,
`reason` varchar(200) DEFAULT NULL,
`active` tinyint(1) DEFAULT '1',
`ins_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `notifications` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mining_address` varchar(200) DEFAULT NULL,
`message` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `config` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`module` varchar(32) DEFAULT NULL,
`item` varchar(32) DEFAULT NULL,
`item_value` mediumtext,
`item_type` varchar(64) DEFAULT NULL,
`Item_desc` varchar(512) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `config_module_item_uindex` (`module`,`item`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `payments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`unlocked_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`paid_time` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
`pool_type` varchar(64) DEFAULT NULL,
`payment_address` varchar(125) DEFAULT NULL,
`transaction_id` int(11) DEFAULT NULL COMMENT 'Transaction ID in the transactions table',
`amount` bigint(20) DEFAULT NULL,
`block_id` int(11) DEFAULT NULL,
`payment_id` varchar(128) DEFAULT NULL,
`transfer_fee` bigint(20) DEFAULT '0',
PRIMARY KEY (`id`),
KEY `payments_transactions_id_fk` (`transaction_id`),
KEY `payments_payment_address_payment_id_index` (`payment_address`,`payment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `payment_batches` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`status` varchar(32) NOT NULL,
`batch_type` varchar(32) NOT NULL,
`total_gross` bigint(26) NOT NULL DEFAULT '0',
`total_net` bigint(26) NOT NULL DEFAULT '0',
`total_fee` bigint(26) NOT NULL DEFAULT '0',
`destination_count` int(11) NOT NULL DEFAULT '0',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`submit_started_at` timestamp NULL DEFAULT NULL,
`submitted_at` timestamp NULL DEFAULT NULL,
`finalized_at` timestamp NULL DEFAULT NULL,
`released_at` timestamp NULL DEFAULT NULL,
`last_reconciled_at` timestamp NULL DEFAULT NULL,
`reconcile_attempts` int(11) NOT NULL DEFAULT '0',
`reconcile_clean_passes` int(11) NOT NULL DEFAULT '0',
`tx_hash` varchar(128) DEFAULT NULL,
`tx_key` text,
`transaction_id` int(11) DEFAULT NULL,
`last_error_text` text,
PRIMARY KEY (`id`),
KEY `payment_batches_status_created_at_index` (`status`,`created_at`),
KEY `payment_batches_transaction_id_index` (`transaction_id`),
UNIQUE KEY `payment_batches_tx_hash_uindex` (`tx_hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `payment_batch_items` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`batch_id` bigint(20) unsigned NOT NULL,
`balance_id` int(11) NOT NULL,
`destination_order` int(11) NOT NULL,
`pool_type` varchar(64) DEFAULT NULL,
`payment_address` varchar(128) DEFAULT NULL,
`gross_amount` bigint(26) NOT NULL DEFAULT '0',
`net_amount` bigint(26) NOT NULL DEFAULT '0',
`fee_amount` bigint(26) NOT NULL DEFAULT '0',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `payment_batch_items_batch_destination_order_uindex` (`batch_id`,`destination_order`),
UNIQUE KEY `payment_batch_items_batch_balance_id_uindex` (`batch_id`,`balance_id`),
KEY `payment_batch_items_balance_id_index` (`balance_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `pools` (
`id` int(11) NOT NULL,
`ip` varchar(72) NOT NULL,
`last_checkin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`active` tinyint(1) NOT NULL,
`blockID` int(11) DEFAULT NULL,
`blockIDTime` timestamp NULL DEFAULT NULL,
`hostname` varchar(128) DEFAULT NULL,
`port` int DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `pool_workers` (
`id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT,
`pool_id` int(11) NOT NULL,
`worker_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `pool_workers_id_uindex` (`pool_id`, `worker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `port_config` (
`poolPort` int(11) NOT NULL,
`difficulty` int(11) DEFAULT '1000',
`portDesc` varchar(128) DEFAULT NULL,
`portType` varchar(16) DEFAULT NULL,
`hidden` tinyint(1) DEFAULT '0',
`ssl` tinyint(1) DEFAULT '0',
PRIMARY KEY (`poolPort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `ports` (
`pool_id` int(11) DEFAULT NULL,
`network_port` int(11) DEFAULT NULL,
`starting_diff` int(11) DEFAULT NULL,
`port_type` varchar(64) DEFAULT NULL,
`description` varchar(256) DEFAULT NULL,
`hidden` tinyint(1) DEFAULT '0',
`ip_address` varchar(256) DEFAULT NULL,
`lastSeen` timestamp NULL DEFAULT NULL,
`miners` int(11) DEFAULT NULL,
`ssl_port` tinyint(1) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `transactions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(128) DEFAULT NULL,
`payment_id` varchar(128) DEFAULT NULL,
`xmr_amt` bigint(26) DEFAULT NULL,
`transaction_hash` varchar(128) DEFAULT NULL,
`submitted_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`mixin` int(11) DEFAULT NULL,
`fees` bigint(26) DEFAULT NULL,
`payees` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `transactions_transaction_hash_uindex` (`transaction_hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(256) NOT NULL,
`pass` varchar(64) DEFAULT NULL,
`email` varchar(256) DEFAULT NULL,
`payout_threshold` bigint(16) DEFAULT '0',
`enable_email` tinyint(1) DEFAULT '1',
`payout_threshold_lock` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `users_username_uindex` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `payment_batches`
ADD CONSTRAINT `payment_batches_transaction_id_fk`
FOREIGN KEY (`transaction_id`) REFERENCES `transactions` (`id`);
ALTER TABLE `payments`
ADD CONSTRAINT `payments_transaction_id_fk`
FOREIGN KEY (`transaction_id`) REFERENCES `transactions` (`id`);
ALTER TABLE `payment_batch_items`
ADD CONSTRAINT `payment_batch_items_batch_id_fk`
FOREIGN KEY (`batch_id`) REFERENCES `payment_batches` (`id`);
ALTER TABLE `payment_batch_items`
ADD CONSTRAINT `payment_batch_items_balance_id_fk`
FOREIGN KEY (`balance_id`) REFERENCES `balance` (`id`);
ALTER TABLE `balance`
ADD CONSTRAINT `balance_pending_batch_id_fk`
FOREIGN KEY (`pending_batch_id`) REFERENCES `payment_batches` (`id`);
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'minerTimeout', '900', 'int', 'Length of time before a miner is flagged inactive.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'banEnabled', 'true', 'bool', 'Enables/disabled banning of "bad" miners.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'banLength', '-15m', 'string', 'Ban duration except perma-bans');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'targetTime', '30', 'int', 'Time in seconds between share finds');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'trustThreshold', '30', 'int', 'Number of shares before miner trust can kick in.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'banPercent', '25', 'int', 'Percentage of shares that need to be invalid to be banned.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'banThreshold', '30', 'int', 'Number of shares before bans can begin');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'trustedMiners', 'true', 'bool', 'Enable the miner trust system');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'minerThrottleSharePerSec', '5', 'int', 'Number of shares per second (per thread) after pool will throttle shares');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'minerThrottleShareWindow', '5', 'int', 'Length of share throttle window in seconds');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'workerMax', '1000', 'int', 'Max number of worker connection before pool starts to issue bans');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'socketAuthTimeout', '15', 'int', 'Seconds an unauthenticated miner socket may stay open before being closed.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'minerFirstShareTimeout', '600', 'int', 'Seconds an authenticated miner may stay connected without a valid share before being closed.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'maxConnectionsPerIP', '256', 'int', 'Maximum simultaneous pool connections accepted from one IP address.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'maxConnectionsPerSubnet', '1024', 'int', 'Maximum simultaneous pool connections accepted from one IPv4 /24 subnet.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'loginRateLimitPerSecond', '5', 'int', 'Refill rate for the per-IP login token bucket.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'loginRateLimitBurst', '100', 'int', 'Burst size for the per-IP login token bucket.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'submitRateLimitPerSecond', '250', 'int', 'Refill rate for the per-IP submit token bucket.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'submitRateLimitBurst', '5000', 'int', 'Burst size for the per-IP submit token bucket.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'keepaliveRateLimitPerSecond', '2', 'int', 'Refill rate for the per-IP keepalive token bucket.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'keepaliveRateLimitBurst', '20', 'int', 'Burst size for the per-IP keepalive token bucket.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'jobRequestRateLimitPerSecond', '5', 'int', 'Refill rate for the per-IP getjob/getjobtemplate bucket before the miner submits a valid share.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'jobRequestRateLimitBurst', '20', 'int', 'Burst size for the per-IP getjob/getjobtemplate bucket before the miner submits a valid share.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'rpcRateLimitBucketIdle', '600', 'int', 'Seconds an idle RPC rate-limit bucket is retained in memory.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'rpcRateLimitBucketMaxEntries', '20000', 'int', 'Maximum number of RPC rate-limit buckets stored in memory.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'protocolErrorLimit', '4', 'int', 'Number of parser/protocol errors allowed on one socket before it is closed.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'invalidJobIdLimitBeforeShare', '4', 'int', 'Number of invalid job_id submits allowed before the miner submits a valid share.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'shareAccTime', '60', 'int', 'Length of time shares are accumulated in seconds');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'trustChange', '1', 'int', 'Change in the miner trust in percent');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'trustMin', '20', 'int', 'Minimum level of miner trust');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'trustPenalty', '30', 'int', 'Number of shares that must be successful to be trusted, reset to this value if trust share is broken');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'retargetTime', '60', 'int', 'Time between difficulty retargets');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'address', '127.0.0.1', 'string', 'Monero Daemon RPC IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'port', '18081', 'int', 'Monero Daemon RPC Port');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'basicAuth', '', 'string', 'Basic auth header if needed by daemon');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'X-API-KEY', '', 'string', 'Turtle wallet API auth header');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'pollInterval', '100', 'int', 'Time in ms between pool daemon checks for new blocks');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'pollBlockInterval', '5000', 'int', 'Time in ms between pool daemon checks for block template updates');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'maxBlockKeepTime', '30', 'int', 'Mix block template update time in seconds on the same height');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorRYO', '0', 'float', 'Ryo algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorSUMO', '0', 'float', 'SUMO algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorLOKI', '0', 'float', 'Loki algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXRN', '0', 'float', 'Saronite algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXTNC', '0', 'float', 'XtendCash algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorWOW', '0', 'float', 'Wownero algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorTUBE', '0', 'float', 'BitTube algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXHV', '0', 'float', 'Haven algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorAEON', '0', 'float', 'Aeon algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorMSR', '0', 'float', 'Masari algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXLA', '0', 'float', 'Scala algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorLTHN', '0', 'float', 'Lethean algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorGRFT', '0', 'float', 'Graft algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorTRTL', '0', 'float', 'Turtle algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorARQ', '0', 'float', 'ArqMa algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXMV', '0', 'float', 'MoneroV algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXWP', '0', 'float', 'Swap algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorCCX', '0', 'float', 'Conceal algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXTA', '0', 'float', 'Italocoin algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorDERO', '0', 'float', 'Dero algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXMC', '0', 'float', 'XMC algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorRVN', '0', 'float', 'RVN algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorETH', '0', 'float', 'ETH algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorETC', '0', 'float', 'ETC algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorBLOC', '0', 'float', 'BLOC algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorERG', '0', 'float', 'ERG algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorRTM', '0', 'float', 'RTM algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorKCN', '0', 'float', 'KCN algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorBTRM', '0', 'float', 'BTRM algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorZEPH', '0', 'float', 'ZEPH algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXNA', '0', 'float', 'XNA algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorSAL', '0', 'float', 'SAL algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXTM-T', '0', 'float', 'XTM-T algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'coinHashFactorXTM-C', '0', 'float', 'XTM-C algo hash price factor relative to coinHashFactor');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'enableAlgoSwitching', 'false', 'bool', 'Enable smart miners (need additional altblock_manager module)');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('daemon', 'verifyHost', '', 'string', 'Use to extra daemon height verify check');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'address', '127.0.0.1', 'string', 'Default Daemon RPC Wallet IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'address_18082', '127.0.0.1', 'string', 'Monero Daemon RPC Wallet IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'address_8545', '127.0.0.1', 'string', 'ETH Daemon RPC Wallet IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'address_8645', '127.0.0.1', 'string', 'ETC Daemon RPC Wallet IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'address_8766', '127.0.0.1', 'string', 'RVN Daemon RPC Wallet IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'address_9053', '127.0.0.1', 'string', 'ERG Daemon RPC Wallet IP');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('wallet', 'port', '18082', 'int', 'Monero Daemon RPC Wallet Port');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('rpc', 'https', 'false', 'bool', 'Enable RPC over SSL');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'maxDifficulty', '10000000000000', 'int', 'Maximum difficulty for VarDiff');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'minDifficulty', '10000', 'int', 'Minimum difficulty for VarDiff');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'pplnsFee', '.6', 'float', 'Fee charged for the usage of the PPLNS pool');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'exchangeMin', '.1', 'float', 'Minimum XMR balance for payout to exchange/payment ID');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'walletMin', '.01', 'float', 'Minimum XMR balance for payout to personal wallet');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'defaultPay', '.1', 'float', 'Default XMR balance for payout');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'devDonation', '3', 'float', 'Donation to XMR core development');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'poolDevDonation', '3', 'float', 'Donation to pool developer');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'denom', '.000001', 'float', 'Minimum balance that will be paid out to.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'blocksRequired', '30', 'int', 'Blocks required to validate a payout before it''s performed.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'anchorRound', '1', 'int', 'Round anchor height to group payment block pre-calc better. 1 - no round, 2 - round to every even block, 3 - round to every 3-rd block, etc.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'sigDivisor', '1000000000000', 'int', 'Divisor for turning coin into human readable amounts ');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'feesForTXN', '10', 'int', 'Amount of XMR that is left from the fees to pay miner fees.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'coinCode', 'XMR', 'string', 'Coin code exposed by the API and payout layer.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'mixIn', '10', 'int', 'Mixin count for coins that support such things.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'ethWalletPass', '', 'string', 'Ethereum wallet password');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'statsBufferLength', '1001', 'int', 'Number of items to be cached in the stats buffers.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'statsBufferHours', '72', 'int', 'Number of hours to be cached in the stats buffers.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pplns', 'shareMulti', '2', 'int', 'Multiply this times difficulty to set the N in PPLNS');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'blockCleaner', 'true', 'bool', 'Enable the deletion of blocks or not.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address', '', 'string', 'Address to mine to, this should be the wallet-rpc address.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_19734', '', 'string', 'Address to mine to for 19734 (SUMO) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_26968', '', 'string', 'Address to mine to for 26968 (ETN) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_18981', '', 'string', 'Address to mine to for 18981 (GRFT) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_38081', '', 'string', 'Address to mine to for 38081 (MSR) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_48782', '', 'string', 'Address to mine to for 48782 (ITNS) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_34568', '', 'string', 'Address to mine to for 34568 (WOW) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_19281', '', 'string', 'Address to mine to for 19281 (XMV) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_12211', '', 'string', 'Address to mine to for 12211 (RYO) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_11181', '', 'string', 'Address to mine to for 11181 (Aeon) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_17750', '', 'string', 'Address to mine to for 17750 (Haven) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_25182', '', 'string', 'Address to mine to for 25182 (BitTube) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_11812', '', 'string', 'Address to mine to for 11812 (Scala) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_22023', '', 'string', 'Address to mine to for 22023 (Loki) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_31014', '', 'string', 'Address to mine to for 31014 (Saronite) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_33124', '', 'string', 'Address to mine to for 33124 (XtendCash) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_11898', '', 'string', 'Address to mine to for 11898 (Turtle) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_19994', '', 'string', 'Address to mine to for 19994 (ArqMa) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_19950', '', 'string', 'Address to mine to for 19950 (Swap) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_13102', '', 'string', 'Address to mine to for 13102 (Italocoin) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_20206', '', 'string', 'Address to mine to for 20206 (Dero) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_18181', '', 'string', 'Address to mine to for 18181 (XMC) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_16000', '', 'string', 'Address to mine to for 16000 (CCX) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_8766', '', 'string', 'Address to mine to for 8766 (Ravencoin) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_8545', '', 'string', 'Address to mine to for 8545 (Ethereum) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_8645', '', 'string', 'Address to mine to for 8645 (Ethereum Classic) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_2086', '', 'string', 'Address to mine to for 2086 (BLOC) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_9053', '', 'string', 'Address to mine to for 9053 (ERG) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_9998', '', 'string', 'Address to mine to for 9998 (RTM) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_5110', '', 'string', 'Address to mine to for 5110 (KCN) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_17767', '', 'string', 'Address to mine to for 17767 (ZEPH) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_10225', '', 'string', 'Address to mine to for 10225 (BTRM) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_19001', '', 'string', 'Address to mine to for 19001 (Neurai) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_19081', '', 'string', 'Address to mine to for 19081 (SAL) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pool', 'address_18146', '', 'string', 'Address to mine to for 18146 (XTM-T) port.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'feeAddress', '', 'string', 'Address that pool fees are sent to.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'cmcKey', '', 'string', 'CMC API Key for notification');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'mailgunKey', '', 'string', 'MailGun API Key for notification');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'mailgunURL', '', 'string', 'MailGun URL for notifications');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'mailgunNoCert', 'false', 'bool', 'Disable certificate check for MailGun');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'emailFrom', '', 'string', 'From address for the notification emails');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'testnet', 'false', 'bool', 'Does this pool use testnet?');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'blockCleanWarning', '360', 'int', 'Blocks before long_runner cleaner module will start to warn.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('pplns', 'enable', 'true', 'bool', 'Enable PPLNS on the pool.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'feeSlewAmount', '.0001', 'float', 'Amount to charge for the txn fee');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'feeSlewEnd', '4', 'float', 'Value at which txn fee amount drops to 0');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'maxPaymentTxns', '15', 'int', 'Maximum number of transactions in a single payment');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'shareHost', 'http://localhost/leafApi', 'string', 'Host that receives share information');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'adminEmail', '', 'string', 'Email of pool admin for alert notification stuff');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'emailBrand', 'MoneroOcean', 'string', 'Brand name for miner notification email subjects and bodies.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'emailSig', 'MoneroOcean Admin Team', 'string', 'Signature line for miner notification emails.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'emailUnsubscribeBaseUrl', 'https://api.moneroocean.stream', 'string', 'Base URL for miner email unsubscribe links.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'unsubscribeFooter', 'Unsubscribe: %(unsubscribe_url)s', 'string', 'Footer appended to miner emails with an unsubscribe link.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'unsubscribeSuccessHtml', '<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Email unsubscribed</title><style>body{font-family:Arial,sans-serif;margin:0;background:#f6f8fb;color:#16202a}.wrap{max-width:520px;margin:0 auto;padding:48px 20px}.panel{background:#fff;border:1px solid #dbe3ec;border-radius:8px;padding:28px;overflow-wrap:anywhere}h1{font-size:24px;margin:0 0 12px}p{line-height:1.5;margin:0 0 12px}.wallet{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-word}.muted{color:#5d6b7a;font-size:14px}</style></head><body><main class="wrap"><section class="panel"><h1>Email unsubscribed</h1><p>Email notifications for <span class="wallet">%(wallet)s</span> have been disabled.</p><p class="muted">%(email)s will no longer receive miner notifications for this wallet.</p></section></main></body></html>', 'string', 'HTML page shown after a successful miner email unsubscribe.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'unsubscribeErrorHtml', '<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Unsubscribe link expired</title><style>body{font-family:Arial,sans-serif;margin:0;background:#f6f8fb;color:#16202a}.wrap{max-width:520px;margin:0 auto;padding:48px 20px}.panel{background:#fff;border:1px solid #dbe3ec;border-radius:8px;padding:28px}h1{font-size:24px;margin:0 0 12px}p{line-height:1.5;margin:0;color:#5d6b7a}</style></head><body><main class="wrap"><section class="panel"><h1>Unable to unsubscribe</h1><p>This unsubscribe link is invalid, expired, or no longer matches the current email subscription.</p></section></main></body></html>', 'string', 'HTML page shown when a miner email unsubscribe link cannot be used.');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerNotHashingSubject', 'Worker stopped hashing: %(worker)s', 'string', 'Subject of email sent to miner when worker stops hashing');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerNotHashingBody', 'Worker status changed\n\nPool: %(pool)s\nStatus: stopped\nWorker: %(worker)s\nWallet: %(wallet)s\nTime (UTC): %(timestamp)s\nNotice delay: %(notice_delay)s\n\nNo action is required if this was expected.', 'string', 'Email sent to the miner when their worker stops hashing');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerStartHashingSubject', 'Worker started hashing: %(worker)s', 'string', 'Subject of email sent to miner when worker starts hashing');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerStartHashingBody', 'Worker status changed\n\nPool: %(pool)s\nStatus: started\nWorker: %(worker)s\nWallet: %(wallet)s\nTime (UTC): %(timestamp)s\n\nNo action is required if this was expected.', 'string', 'Email sent to the miner when their worker starts hashing');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'paymentPerformedSubject', 'Payment sent: %(payment_amount)s %(coin)s', 'string', 'Subject of email sent to miner when payment is performed');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'paymentPerformedBody', 'Payment sent\n\nPool: %(pool)s\nStatus: confirmed\nCoin: %(coin)s\nPaid amount: %(payment_amount)s %(coin)s\nFee charged: %(fee)s %(coin)s\nBalance decrease: %(amount)s %(coin)s\nDestination: %(address)s\nPaid at (UTC): %(paid_at)s\n\nTransaction hash: %(tx_hash)s\nTransaction key: %(tx_key)s\nProof URL: %(proof_url)s', 'string', 'Email sent to miner when payment is performed');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'paymentFailStopSubject', 'Payment runtime fail-stop', 'string', 'Subject of payment runtime fail-stop admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'paymentFailStopBody', 'The payment runtime entered fail-stop: %(message)s.\nPlease review batches and restart payments after resolving the issue.', 'string', 'Body of payment runtime fail-stop admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerLmdbFullSubject', 'Worker module paused due to LMDB full', 'string', 'Subject of worker LMDB full admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerLmdbFullBody', 'worker paused after LMDB reported map full while %(scope)s: %(detail)s.', 'string', 'Body of worker LMDB full admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerDbWriteSubject', 'Pool DB write failed', 'string', 'Subject of worker DB write admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerDbWriteBody', 'Cannot write to pool DB: %(error)s', 'string', 'Body of worker DB write admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerPoolChangeSubject', 'FYI: Pool hashrate/workers changed significantly', 'string', 'Subject of worker pool state admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerPoolChangeBody', 'Pool hashrate changed from %(old_hashrate)s to %(new_hashrate)s (%(hashrate_ratio)s)\nPool number of workers changed from %(old_workers)s to %(new_workers)s (%(workers_ratio)s)\n', 'string', 'Body of worker pool state admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerRestartSubject', 'Restarting worker module', 'string', 'Subject of worker restart admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'workerRestartBody', 'Restarted worker module!', 'string', 'Body of worker restart admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'remoteShareLmdbSubject', 'remote_share rejecting new work due to LMDB full', 'string', 'Subject of remote_share LMDB full admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'remoteShareLmdbBody', 'remote_share is rejecting new share and block frames after LMDB reported map full while %(scope)s: %(detail)s.', 'string', 'Body of remote_share LMDB full admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrBalanceSubject', 'block_manager unable to make balance increase', 'string', 'Subject of block_manager balance admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrBalanceBody', 'The block_manager module has hit an issue making a balance increase: %(message)s. Please investigate and restart block_manager as appropriate', 'string', 'Body of block_manager balance admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrPaymentSubject', 'block_manager unable to make blockPayments', 'string', 'Subject of block_manager payment admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrPaymentBody', 'The block_manager module has hit an issue making blockPayments with block %(block_hash)s', 'string', 'Body of block_manager payment admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrNoSharesSubject', 'FYI: No shares to pay block, so it was corrected by using the top height', 'string', 'Subject of block_manager no shares admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrNoSharesBody', 'PPLNS payout cycle for %(block_hashes)s block does not have any shares so will be redone using top height', 'string', 'Body of block_manager no shares admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrPayoutWindowSubject', 'Warning: Not enough shares to pay block correctly, so it was corrected by upscaling miner rewards!', 'string', 'Subject of block_manager payout window admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrPayoutWindowBody', 'PPLNS payout cycle complete on block: %(block_height)s Payout Percentage: %(corrected_percent)s% (precisely %(total_payments)s / %(pay_window)s)\n(This PPLNS payout cycle complete on block was corrected: %(block_height)s Payout Percentage: %(default_percent)s% (precisely %(total_payments)s / %(default_window)s))', 'string', 'Body of block_manager payout window admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrZeroValueSubject', 'FYI: block_manager saw zero value locked block', 'string', 'Subject of block_manager zero value admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'blockMgrZeroValueBody', 'The block_manager module saw zero value locked block %(block_hash)s', 'string', 'Body of block_manager zero value admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'statsDaemonFailSubject', 'Failed to query daemon for %(port)s port for last block header', 'string', 'Subject of pool_stats daemon failure admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'statsDaemonFailBody', 'The worker failed to return last block header for %(port)s port. Please verify if the daemon is running properly.', 'string', 'Body of pool_stats daemon failure admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'statsDaemonRecoverSubject', 'Querying daemon for %(port)s port for last block header is back to normal', 'string', 'Subject of pool_stats daemon recovery admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'statsDaemonRecoverBody', 'A warning was sent to you indicating that the worker failed to return the last block header for %(port)s port. The issue seems to be solved now.', 'string', 'Body of pool_stats daemon recovery admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'statsBehindBlocksSubject', 'Pool node %(node)s is %(lag)s blocks behind', 'string', 'Subject of pool_stats behind blocks admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'statsBehindBlocksBody', 'Pool node %(node)s is %(lag)s blocks behind for %(port)s port', 'string', 'Body of pool_stats behind blocks admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'longRunnerStuckSubject', 'long_runner stuck', 'string', 'Subject of long_runner stuck admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'longRunnerStuckBody', '%(stuck_count)s', 'string', 'Body of long_runner stuck admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'longRunnerCleanSubject', 'long_runner module can not clean DB good enough', 'string', 'Subject of long_runner cleanup warning admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'longRunnerCleanBody', 'long_runner can not clean %(blocks)s block from DB!', 'string', 'Body of long_runner cleanup warning admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'uplinkBacklogSubject', 'FYI: Pool uplink backlog', 'string', 'Subject of pool remote uplink backlog admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('email', 'uplinkBacklogBody', 'Queued shares: %(queued)s\nRunning sends: %(running)s\nTarget: %(target)s\nHost: %(host)s\n', 'string', 'Body of pool remote uplink backlog admin email');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'timer', '120', 'int', 'Number of minutes between main payment daemon cycles');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'timerRetry', '25', 'int', 'Number of minutes between payment daemon retrying due to not enough funds');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('payout', 'priority', '1', 'int', 'Payout priority setting. 0 = use default (4x fee); 1 = low prio (1x fee)');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'allowStuckPoolKill', 'false', 'bool', 'Allow to kill the pool in case of stuck block template');
INSERT INTO pool.config (module, item, item_value, item_type, Item_desc) VALUES ('general', 'dbSizeGB', '20', 'int', 'LMDB size in GBs');
INSERT INTO pool.port_config (poolPort, difficulty, portDesc, portType, hidden, `ssl`) VALUES (3333, 1000, 'Low-End Hardware (Up to 30-40 h/s)', 'pplns', 0, 0);
INSERT INTO pool.port_config (poolPort, difficulty, portDesc, portType, hidden, `ssl`) VALUES (5555, 5000, 'Medium-Range Hardware (Up to 160 h/s)', 'pplns', 0, 0);
INSERT INTO pool.port_config (poolPort, difficulty, portDesc, portType, hidden, `ssl`) VALUES (7777, 10000, 'High-End Hardware (Anything else!)', 'pplns', 0, 0);