cnct: add new from reader resolver initializers

This commit is contained in:
Joost Jager
2019-11-01 10:24:33 +01:00
parent ff63a680a1
commit 1e5eec990e
6 changed files with 96 additions and 81 deletions

View File

@@ -469,54 +469,38 @@ func (b *boltArbitratorLog) FetchUnresolvedContracts() ([]ContractResolver, erro
switch resType {
case resolverTimeout:
timeoutRes := &htlcTimeoutResolver{}
if err := timeoutRes.Decode(resReader); err != nil {
return err
}
res = timeoutRes
res, err = newTimeoutResolverFromReader(
resReader, resolverCfg,
)
case resolverSuccess:
successRes := &htlcSuccessResolver{}
if err := successRes.Decode(resReader); err != nil {
return err
}
res = successRes
res, err = newSuccessResolverFromReader(
resReader, resolverCfg,
)
case resolverOutgoingContest:
outContestRes := &htlcOutgoingContestResolver{
htlcTimeoutResolver: htlcTimeoutResolver{},
}
if err := outContestRes.Decode(resReader); err != nil {
return err
}
res = outContestRes
res, err = newOutgoingContestResolverFromReader(
resReader, resolverCfg,
)
case resolverIncomingContest:
inContestRes := &htlcIncomingContestResolver{
htlcSuccessResolver: htlcSuccessResolver{},
}
if err := inContestRes.Decode(resReader); err != nil {
return err
}
res = inContestRes
res, err = newIncomingContestResolverFromReader(
resReader, resolverCfg,
)
case resolverUnilateralSweep:
sweepRes := &commitSweepResolver{}
if err := sweepRes.Decode(resReader); err != nil {
return err
}
res = sweepRes
res, err = newCommitSweepResolverFromReader(
resReader, resolverCfg,
)
default:
return fmt.Errorf("unknown resolver type: %v", resType)
}
res.AttachConfig(resolverCfg)
if err != nil {
return err
}
contracts = append(contracts, res)
return nil
})