Commit Graph

14 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun 800eea931f
build+multi: switch from bolt to bbolt
In this commit, we switch from boltbd/bolt to coreos/bbolt as the
former is no longer being actively maintained.
2018-03-10 19:01:13 -08:00
Daniel McNally 8543497dcc multi: fixing it's/its typos in comments 2018-02-06 19:13:07 -08:00
practicalswift a93736d21e multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
Olaoluwa Osuntokun 239416f242
htlcswitch: update to use new event stream from the chainWatcher 2018-01-22 19:19:51 -08:00
Olaoluwa Osuntokun 5758a4e1af
nursery_store: reject duplicate registrations for an output 2018-01-22 19:19:46 -08:00
Olaoluwa Osuntokun fc8a6568c9
nursery_store: detect Late Registrations when promoting to kindergarten
In this commit, we aim to address a lingering bug caused by a Late
Registration of a kid output from preschool to kindergarten. In this
scenario, an output is promoted, but *after* it’s target maturity
period, meaning that we won’t graduate the output until we restart. To
avoid this, we’ll now detect this case, and bump the graduation height
by one to ensure that when the new block arrives, we properly handle
the output.
2018-01-22 19:19:45 -08:00
Olaoluwa Osuntokun d0f8b5f194
nursery_store: update IncubateOutputs to take a slice of kid outputs 2018-01-22 19:19:45 -08:00
Conner Fromknecht ed0c3dbc58
nursery_store: tracks last graduated and adds HeightsBelowOrEqual
This commit removes the use of a purge height from the nursery
 store, instead tracking the last graduated height. This serves
 to indicate the last height that the nursery store successfully
 graduated. It also adds a method for retrieving the set of all active
 heights below a particular threshold, e.g. the last graduated height,
 allowing the utxo nursery to replay these heights on startup for the
 specific purpose of re-registering for confirmations of outputs in the
 height index.
2017-11-16 16:16:04 -08:00
Conner Fromknecht d0155f3128
nursery_store: make GraduateKinder only accept height + list channels 2017-11-06 17:01:17 -08:00
Conner Fromknecht 0ed5f83dce
nursery_store: adds kindergarten txn finalization 2017-11-06 17:01:17 -08:00
Conner Fromknecht ef81f0064c
nursery_store: tightens up height index pruning and formatting 2017-11-06 17:01:17 -08:00
Conner Fromknecht 23e36a58f0
nursery_store: refactors ifaces to be more atomic
Also includes:
 * improved error handling when pruning channels
 * more aggressively signals errors when enumerating height outputs
 * removes use of variadic functions in Incubate, AwardDiplomas
 * renames AwardDiplomas to GraduateKinder
 * short circuits channel maturity test after finding 1 non-grad output
 * replaces prefixed outputs in height buckets with files, instead of
     empty buckets
2017-11-06 17:01:17 -08:00
Conner Fromknecht f02f1355e7
nursery_store: adds graduating state and proper finalization 2017-11-06 17:01:16 -08:00
Conner Fromknecht a8450875f6
nursery_store: adds a new file for utxon database
This commit introduces a new type called a NurseryStore
  which abstract many of the persistent operations required
  by the utxo nursery. The code in this commit is
  intentionally introduced as dead code, as the utxo
  nursery will later be modified to hook into the new
  database. It is designed to support incubation of
  commitment and htlc outputs, and includes full
  chain segmentation!
2017-11-06 17:01:16 -08:00