##274 by @chris124567
In the old ForEachFileContractElement interface, the revision was provided as a pointer to a (V2)FileContractElement. In the new system of diffs, the revision is only provided as a (V2)FileContract. There are multiple places where it is useful to have the revision as an element, and in all of these places more or less the same code will be duplicated unless we create this helper.
Adds an RPC to RHP4 that enables renters to set a target balance instead of first fetching the current balance and then funding the account with the difference. This is primarily to speed up account funding and reduce round trips when managing a large number of accounts.
- Fix Siafund ClaimStart not being recorded
##270 by @lukechampine
This replaces the ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of a ForEach
callback), but it ended up significantly simplifying most MidState
-related code: it consolidated the interrelated maps within MidState
, and enabled a much saner rewrite of the update JSON types.
I originally left the ForEach
methods in place (with a // Deprecated
warning), but later removed them entirely; we're going to update all the callsites in coreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used by explored
.)
An error will now be returned when trying to encode a transaction with an unset SpendPolicy
- Fix account JSON encoding
- Add host public key to AccountToken
- Add helper for generating account tokens
- Allow v1 contracts to be resolved immediately
Adds two additional flags to the RPCLatestRevision response. The Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. The Renewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID
to get the ID of the new contract.
- Update
golang.org/x/crypto
from 0.30.0 to 0.31.0
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.
- Include storage cost in renter renewal cost
- Automate releases