59 Commits

Author SHA1 Message Date
jholdstock
ecf2baa193 Begin module dev cycles.
Upcoming changes constitute breaking public API changes to both the
client and types modules, therefore this bumps the version numbers of
both modules and adds local replacements to go.mod files such that the
new versions can be used before they are publicly tagged.
2024-05-29 11:02:50 +01:00
jholdstock
ab5e564867 build: Update to bbolt 1.3.9.
Just bugfixes, no significant new features or API changes.
2024-05-14 07:28:09 +01:00
jholdstock
90e4d96f5b build: Update to gin-gonic 1.10.0.
Picking up some bug fixes and performance improvements. No significant
API changes or new features we can take advantage of.
2024-05-14 07:28:09 +01:00
jholdstock
4ef193d63c build: Update gorilla/sessions to 1.2.2 2024-01-12 08:51:54 +00:00
David Hill
40673270fb build: bump bbolt dep 2023-11-22 12:04:37 +00:00
jholdstock
1e66b6ff59 Downgrade dcrwallet dep to v3.
This downgrade changes StakePoolTicketFee back to the version which does
not consider DCP-0012 activation.

This resolves an issue where Decrediton sometimes fails to pay VSP fees,
caused by Decrediton and vspd independently calculating the fee amount
using different versions of the algorithm.

Releasing the new algorithm will need to be more carefully coordinated,
potentially requiring both client and server sides to be updated in
sync.
2023-11-08 09:01:36 +00:00
Jamie Holdstock
81784accb6
Update main module dependencies 2023-09-26 09:23:32 +01:00
jholdstock
74729c6cc9 multi: Consider DCP0012 in VSP fee calculations.
Upgrade the dcrwallet dependency to pick up the new version of
txrules.StakePoolTicketFee which considers the status of DCP0012 in its
fee calculation.
2023-09-16 08:36:41 +01:00
jholdstock
96b99f35d7 webapi: Add expired/missed to /vspinfo. 2023-09-04 16:51:09 +01:00
jholdstock
9be203c923 multi: Find voted/revoked tickets with GCS filters
Use dcrd and GCS filters to find voted/revoked tickets rather than using
the dcrwallet TicketInfo RPC.

Using TicketInfo was a bit flakey because wallets do not always
correctly detect votes/revokes, and as a result VSP admins may notice
that with this change vspd detects some historic voted/revoked tickets
which TicketInfo never detected.
2023-08-26 09:33:30 +01:00
jholdstock
43a1b9fbdc build: Update transitive deps. 2023-06-13 09:32:14 +01:00
jholdstock
85ebeefafa build: Use tagged dcrwallet v3 2023-06-13 09:32:14 +01:00
jholdstock
9863636978 webapi: Update to gin 1.9.1. 2023-06-13 08:48:56 +01:00
jholdstock
7cb4681639 main: Use latest dcrd deps. 2023-06-11 11:42:53 +01:00
Jamie Holdstock
a5003c046b
client: Automatic fee payment from dcrwallet (#382) 2023-05-30 11:50:23 +01:00
Jamie Holdstock
08ea48f7a3
Update decred dependencies. (#378)
* webapi: Use types 2.0.0

* v3tool: Use types 2.0.0

* Update decred dependencies.
2023-04-12 08:16:29 -05:00
Jamie Holdstock
6b99c5d2b5
webapi: Use types 2.0.0 (#376)
* webapi: Use types 2.0.0

* v3tool: Use types 2.0.0
2023-04-12 08:12:53 -05:00
Jamie Holdstock
b5ac64891e
Add v3tool. (#366)
This commit adds a new executable - v3tool - a developer testing tool which hits endpoints of the vspd API.
2023-03-24 13:10:44 -05:00
jholdstock
62803147f0 webapi: Rate limit for admin login requests.
Only allow 3 requests per second. Return "429 Too Many Requests" when this rate is exceeded.
2023-03-15 10:45:54 +00:00
jholdstock
fb8c58c512 build: Update deps. 2023-02-17 20:45:01 +00:00
Jamie Holdstock
5d7d347114
Use tagged types module. (#358) 2022-11-28 11:14:58 -05:00
Jamie Holdstock
a5998264b3
Include commit ID in build info. (#357)
* ci: Update GitHub actions and linter.

* Update go deps.

* Include commit ID in build info.

Introduced in go 1.18, debug.ReadBuildInfo allows a go process to discover the git commit it was built from.
2022-11-18 15:06:00 -05:00
jholdstock
63ce069a88 Use gin 1.8.1.
Nothing interesting in the release notes, but there are a few bug fixes/minor enhancements we should pick up.
2022-06-13 14:49:34 +01:00
Jamie Holdstock
f0430f1f6c
Add 1.1.0 release note 2022-02-18 06:35:47 +00:00
Jamie Holdstock
da1cb8f916
Enable treasury vote choices. (#319)
This allows both tspend and treasury policies to be set by clients on a per-ticket basis. Preferences can be set when initially registering a ticket with `/payfee`, and can be later updated using `/setvotechoices`.

Any requests which alter treasury/tspend policy will be stored in the database using the existing accountability system.

**Note:** This does not include consistency checking, it will need to be added later when dcrwallet has an RPC to retrieve policies in batches.
2022-02-04 14:14:49 -05:00
Jamie Holdstock
040ed56f11
Use DCP-0010 status to calculate fees.
vspd will now call dcrd RPC `getblockchaininfo` to determine if DCP-0010 is active, and take that information into consideration when calculating ticket registration fee.
2022-01-20 08:54:52 +00:00
David Hill
0fd96388ce
build: bump dcr deps (#310) 2021-12-29 11:23:45 +00:00
Jamie Holdstock
0919c6db29
Update gin to 1.7.7. (#308)
This pulls a fix which enables vspd to determine remote client IP using header `X-Forwarded-For` or `X-Real-Ip`.

This depends on the reverse proxy setting those headers appropriately, which can be achieved in nginx 1.20 using the following:

```
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
```
2021-11-29 14:34:18 -05:00
Jamie Holdstock
623bb192d1
Use latest dcrd RPC version.
This commit marks the point at which vspd will stop working against dcrd 1.6 and start to target master.

The dcrwallet RPC version has not changed, so vspd continues to work with dcrwallet 1.6 or master.
2021-10-23 11:13:51 +01:00
Jamie Holdstock
ce0e28b8de
Use latest gin-gonic patch (#289) 2021-08-15 12:41:29 -05:00
Jamie Holdstock
e42b1cad33 Update dcrd and dcrwallet deps. 2021-06-15 21:54:22 +08:00
Jamie Holdstock
2b2f6177bb Update third party deps. 2021-06-15 21:54:22 +08:00
Jamie Holdstock
fd4f2b2dad Add commas for large ticket counts. 2021-06-15 10:18:25 +08:00
Jamie Holdstock
4858af2682
Upgrade deps (#239)
* Update to latest deps.

Includes using the dcrd stdaddr package instead of dcrutil.

* Use stdaddr.Hash160
2021-04-26 09:12:23 -05:00
Jamie Holdstock
79cdeaaf8b
Add parser for blockconnected notification (#238) 2021-04-25 08:22:13 -05:00
David Hill
2581f84b59
build: update dcrwallet mod (#237) 2021-03-09 15:29:26 +00:00
David Hill
4b43711b03
build: Test against Go 1.16 (#236) 2021-03-01 12:32:22 +00:00
Jamie Holdstock
91701b1a17
Update dcrd/blockchain dep (#230) 2021-01-22 19:20:53 +00:00
David Hill
7d83d6acba
build: bump dcrwallet to release (#229) 2021-01-22 14:43:14 +00:00
David Hill
bd6b2e42f4
build: upgrade deps (#210) 2020-11-25 14:52:21 +00:00
David Hill
04b07346c8 build: bump deps 2020-11-09 17:00:25 +00:00
jholdstock
1013354292 Update to latest dcrd deps 2020-10-28 12:37:03 +00:00
David Hill
c83a2a0085
rpc: verify dcrwallet's have --manualtickets set. (#187) 2020-09-25 09:55:53 +01:00
jholdstock
9d503e67ae Wallet consistency checks & setting ticket outcome 2020-07-28 20:09:23 +00:00
David Hill
b24c1a4c78
webapi: sanity check the fee transaction (#151) 2020-07-06 10:07:59 +01:00
jholdstock
c1b315bca1 Update build deps 2020-06-20 12:51:18 +00:00
jholdstock
b50615bc6f Add very basic admin page. 2020-06-08 15:24:49 +00:00
jholdstock
1270f77fd6 Return err if fee tx already received. 2020-06-03 12:45:42 +00:00
Jamie Holdstock
d5eb18f557
Add support email and pubkey to GUI (#74)
* Add support email to gui.

* Use Decred fonts

* Use Decred favicon

* Add pubkey to homepage. Use properly typed struct for template data.

* go mod tidy
2020-05-27 15:36:11 +01:00
Jamie Holdstock
e1a18804ac
Check dcrwallet and dcrd config (#70)
* Verify dcrd network and txindex

* Verify dcrwallet network
2020-05-27 14:45:06 +01:00