Skip to content

Integrate contractset

David Vorick requested to merge integrate-contractset into master

This pull request takes the contracts of the contractor and moves them to a stateful object in the proto package. The job of the proto package (which may be renamed) is to manage individual contracts, and perform simple upload/download operations on those contracts.

The biggest advantage here is clean separation of the contracts from all the rest of the state of the contractor. The contracts also now have strict safety properties, which will eliminate the race conditions that we were running into. Finally, the contracts have been moved to a highly scalable 'one file per contract' model, which means we can perform all contract operations with ACID guarantees in a constant number of disk operations, without needing to amortize any expensive operations at all.

Once this is merged and tested, we should be ready to release RC2.

Merge request reports