-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multi: Remove deprecated missed and expired tickets RPCs. #2911
multi: Remove deprecated missed and expired tickets RPCs. #2911
Conversation
As an additional point, I debated whether or not to replace the |
9559d05
to
1571ef9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, nice to see all of that removed. All of the separate commits made this really easy to follow.
1571ef9
to
8e656e5
Compare
8e656e5
to
54c41c2
Compare
This bumps the major version of the JSON RPC server in anticipation of upcoming changes to remove deprecated RPCs related to missed and expired tickets. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated missedtickets method from the JSON-RPC API documentation. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes support for the deprecated missedtickets method from the RPC client. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated missedtickets method from the RPC server. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the types and associated code for the deprecated missedtickets RPC. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated rebroadcastmissed method from the JSON-RPC API documentation. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated rebroadcastmissed method from the RPC server. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the MissedTickets method from blockchain now that it is no longer used.
This removes the type and associated code for the deprecated rebroadcastmissed RPC. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated existsmissedtickets method from the JSON-RPC API documentation. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes support for the deprecated existsmissedtickets method from the RPC client. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated existsmissedtickets method from the RPC server. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the CheckMissedTickets method from blockchain now that it is no longer used.
This removes the type and associated code for the deprecated existsmissedtickets RPC. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated existsexpiredtickets method from the JSON-RPC API documentation. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes support for the deprecated existsexpiredtickets method from the RPC client. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated existsexpiredtickets method from the RPC server. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the CheckExpiredTicket and CheckExpiredTickets methods from blockchain now that they are no longer used.
This removes the type and associated code for the deprecated existsexpiredtickets RPC. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated notifyspentandmissedtickets method and associated spentandmissedtickets notification from the JSON-RPC API documentation.
This removes support for the deprecated notifyspentandmissed method from the RPC client. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the deprecated notifyspentandmissedtickets method from the RPC server. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
This removes the NTSpentAndMissedTickets notification and associated code to send the notification now that it is no longer used. It also updates the TicketNotification struct to only include the new tickets since it is now only used for that purpose.
This removes the type and associated code for the deprecated notifyspentandmissedtickets RPC. This is part of the overall removal of deprecated RPCs related to missed and expired tickets.
54c41c2
to
0969534
Compare
This requires #2909 and #2910.Per the second phase of #2774, this removes all RPCs and associated code related to missed and expired tickets.
As stated in the original proposal, the only known way these RPCs are used is to support wallet staking statistics, but due to the automatic revocations consensus change, wallets will not really need the RPCs to calculate the vast majority of the information anymore since they can detect missed and expired tickets through a combination of seeing the revocation and comparing the number of confirmations against the ticket purchase height.
Further, these RPCs are really not something that dcrd should be maintaining by default anyway because they have some fairly significant downsides:
That final point is perhaps one of the most important ones, because the ticket database design can be significantly optimized due to the introduction of the automatic revocations consensus change so long as the RPCs in question are no longer supported.
The removals have been split into multiple commits to ease the review process and also ensure everything continues to work properly each step of the way.
The following is a high level overview of the changes:
missedtickets
rebroadcastmissed
existsmissedtickets
existsexpiredtickets
notifyspentandmissedtickets
spentandmissedtickets
rpcclient
:MissedTicketsAsync
MissedTickets
ExistsMissedTicketsAsync
ExistsMissedTickets
ExistsExpiredTicketsAsync
ExistsExpiredTickets
NotifySpentAndMissedTicketsAsync
NotifySpentAndMissedTickets
OnSpentAndMissedTickets
missedtickets
rebroadcastmissed
existsmissedtickets
existsexpiredtickets
notifyspentandmissedtickets
spentandmissedtickets
blockchain
that are no longer used as they only existed to support the RPCs:MissedTickets
CheckMissedTickets
CheckExpiredTicket
CheckExpiredTickets
NTSpentAndMissedTickets
and associated code to send the notification fromblockchain
blockchain.TicketNotificationsData
struct to remove theTicketsSpent
andTicketsMissed
fieldsrpc/jsonrpc/types
:MissedTicketsCmd
MissedTicketsResult
RebroadcastMissedCmd
ExistsMissedTicketsCmd
ExistsExpiredTicketsCmd
NotifySpentAndMissedTicketsCmd
SpentAndMissedTicketsNtfnMethod
SpentAndMissedTicketsNtfn
This closes #2774.