Skip to content

RHP3 Renewal RPC

Christopher Schinnerl requested to merge chris/rhp3-renewal into master

MERGE REQUEST

MR Guidelines

Overview

This MR adds a new RPC for renewing a contract atomically. That means the final revision of the renewed contract and the new contract will be part of the same transaction and are therefore guaranteed to be mined together.

That way we can be sure that once renewed, a contract won't be revised anymore. It also means we can't end up in a situation anymore where a revision has reached the max revision number but the contractor isn't aware of the new contract yet, therefore potentially reducing some host churn.

NOTE: This MR doesn't hook the new RPC up to the contract maintenance. It just adds it and some basic unit testing as that's already quite a bit of new code to review.

Checklist

Review and complete the checklist to ensure that the MR is complete before assigned to an approver.

  • All new methods or updated methods have clear docstrings
  • Testing added or updated for new methods
  • Any new packages are added to Makefile and .gitlab-ci.yml
  • API documentation updated for API updates
  • Module README.md updated for changes to workflow
  • Issue added to Sia-UI repo for new supporting features
  • Changelog File Created

Merge request reports