f0911765af
In this commit, we migrate all the code in `channeldb` to only reference the new `kvdb` package rather than `bbolt` directly. In many instances, we need to add two version to fetch a bucket as both read and write when needed. As an example, we add a new `fetchChanBucketRw` function. This function is identical to `fetchChanBucket`, but it will be used to fetch the main channel bucket for all _write_ transactions. We need a new method as you can pass a write transaction where a read is accepted, but not the other way around due to the stronger typing of the new `kvdb` package.
22 lines
526 B
Go
22 lines
526 B
Go
package migration_01_to_11
|
|
|
|
import "github.com/lightningnetwork/lnd/channeldb/kvdb"
|
|
|
|
// fetchPaymentStatus fetches the payment status of the payment. If the payment
|
|
// isn't found, it will default to "StatusUnknown".
|
|
func fetchPaymentStatus(bucket kvdb.ReadBucket) PaymentStatus {
|
|
if bucket.Get(paymentSettleInfoKey) != nil {
|
|
return StatusSucceeded
|
|
}
|
|
|
|
if bucket.Get(paymentFailInfoKey) != nil {
|
|
return StatusFailed
|
|
}
|
|
|
|
if bucket.Get(paymentCreationInfoKey) != nil {
|
|
return StatusInFlight
|
|
}
|
|
|
|
return StatusUnknown
|
|
}
|