164 Commits

Author SHA1 Message Date
jholdstock
03a5ef4fd1 Modernize homepage 2020-06-18 20:18:17 +00:00
jholdstock
600cd7bf9b Use modern logo and colours. 2020-06-18 20:18:17 +00:00
jholdstock
13c4f4faea Protect cached vsp stats with mutex. 2020-06-16 14:23:35 +00:00
jholdstock
5a1a1b487e Dont use byte slices outside of db tx. 2020-06-16 13:29:32 +00:00
jholdstock
a9d70abb93 Handle fee tx already exists in mempool. 2020-06-15 13:43:07 +00:00
jholdstock
3a76d44113 Extra ticket hash validation before using db/rpc.
Provides extra protection against DoS.
2020-06-15 13:32:51 +00:00
jholdstock
5af2f595ac Remove //TODOs which are already resolved. 2020-06-15 13:32:05 +00:00
jholdstock
29268467f9 Delete tickets with no information. 2020-06-15 13:31:35 +00:00
jholdstock
9ade20bf1c Mention admin features in docs. 2020-06-13 23:40:05 +00:00
Jamie Holdstock
bfeddd25d1 Download db backup from admin page. 2020-06-12 13:35:43 +00:00
jholdstock
d53676a907 Use middleware to check admin status. 2020-06-12 13:35:43 +00:00
jholdstock
2f7c46e5f8 Misc front end improvements.
- Use bootstrap to improve layout.
- Add warning banners for webserver debug mode and vspd closed.

Admin page:
- Replace listing of all tickets with form to search by ticket hash
2020-06-12 13:35:43 +00:00
jholdstock
a95b214b3f Clean up duplicate database code and add tests. 2020-06-12 13:24:50 +00:00
jholdstock
78692fea88 Let background processing finish before shutting down 2020-06-12 13:23:55 +00:00
jholdstock
82dc5f5ba1 Don't log an error if context is cancelled. 2020-06-12 13:23:55 +00:00
jholdstock
72c16ad2c7 Close RPC connections after the web server is stopped.
Previously all of the shutdown tasks were running concurrently, which meant the RPC connections be closed before the webserver is finished using them.
2020-06-12 13:23:55 +00:00
jholdstock
a304fc9890 Close the database after web server is stopped.
Previously all of the shutdown tasks were running concurrently, which meant the db could be closed before the webserver is finished using it.
2020-06-12 13:23:55 +00:00
jholdstock
4f2766352b Improve handling of fee status.
- Fee tx status is now tracked using a dedicated field, with values none/received/broadcast/confirmed/error.
- Fee tx hex and hash are now both set in /payfee. The absense of txhash is no longer used to determine if a fee tx has been broadcast or not.
- setvotechoices can no longer be called before a fee is received.
- Remove `binding:required` from response types. It has no effect on responses, it is only needed on request types which are validated by gin.
2020-06-09 14:17:43 +00:00
jholdstock
6caaac0442 Remove global dcrd/dcrwallet clients 2020-06-09 13:12:43 +00:00
jholdstock
591437658d Don't shutdown if dcrd or dcrwallet rpc fails 2020-06-09 13:12:43 +00:00
jholdstock
10258f9c29 Mention ssl in deployment docs. 2020-06-09 13:11:46 +00:00
David Hill
83514385d6
change feeamount from float64 to int64/atoms (#121) 2020-06-09 08:08:14 +01:00
David Hill
873d89e412
remove fee transactions if dcrd rejects it. (#114) 2020-06-08 17:31:22 +01:00
jholdstock
9f48bae78e Return parsable error codes instead of just a string.
Also
- Check if VSP is closed before /payfee
2020-06-08 15:33:06 +00:00
jholdstock
b50615bc6f Add very basic admin page. 2020-06-08 15:24:49 +00:00
jholdstock
144060c3cb Add adminpass config item. 2020-06-08 15:24:49 +00:00
jholdstock
9f02063c86 Sign error responses. 2020-06-08 15:21:23 +00:00
jholdstock
0318eded95 Move feeAddressExpiration into webapi package. 2020-06-08 12:27:45 +00:00
jholdstock
443db9a7b9 Log dcrutil.Amount rather than float 2020-06-06 23:15:19 +00:00
jholdstock
3136038746 Shorten db keys 2020-06-05 17:21:26 +00:00
jholdstock
4d47bc6df8 Handle "transaction already exists" error 2020-06-05 16:19:46 +00:00
jholdstock
e3d7ab6e75 Run background tasks immediately on startup. 2020-06-05 16:17:43 +00:00
David Hill
eeaefab280
webapi: validate script version in fee transaction (#112) 2020-06-05 17:00:13 +01:00
jholdstock
1c92856303 Ensure provided private key matches ticket 2020-06-05 15:33:56 +00:00
jholdstock
a6d9b79619 Tolerate dcrwallet connection failures.
If at least 1 wallet connection succeeds, vspd should proceed to use the connected wallet(s). Only error out if all wallet connections fail.
2020-06-04 15:56:43 +00:00
jholdstock
c7835e8811 Update log level and add some TODOs 2020-06-04 15:04:39 +00:00
jholdstock
8a4053f29f Reinstate check for confirmed tickets. 2020-06-04 15:04:39 +00:00
jholdstock
fc5749545d Reverse order of addtx and importprivkey 2020-06-04 15:04:39 +00:00
Jamie Holdstock
d407af35c0
Accept feexpub once at startup. (#97) 2020-06-03 18:10:30 +01:00
jholdstock
dcfc2e969d Check if fee already paid before checking if ticket is votable 2020-06-03 15:48:21 +00:00
jholdstock
fb4dd039d8 Prompt before wiping harness directory 2020-06-03 15:46:57 +00:00
jholdstock
7da79c7561 Simplify dcrd and dcrwallet client creation. 2020-06-03 15:46:24 +00:00
jholdstock
fb6ea54f15 Add tmux test harness. 2020-06-03 12:50:16 +00:00
jholdstock
381cf9e5a2 Add deployment guide. 2020-06-03 12:49:43 +00:00
jholdstock
4feed5e884 Fix off-by-one 2020-06-03 12:49:14 +00:00
jholdstock
81a6bf1ea8 Reject unvotable tickets.
/payfee and /getaddress will now only accept tickets which are immature or live.
2020-06-03 12:49:14 +00:00
jholdstock
1270f77fd6 Return err if fee tx already received. 2020-06-03 12:45:42 +00:00
jholdstock
2488623435 Make default config match docs. 2020-06-03 12:43:14 +00:00
jholdstock
2a476d9589 Validate fee config 2020-06-03 12:43:14 +00:00
jholdstock
85a806fb3a Tidy docs 2020-05-29 19:09:25 +00:00