mirror of
https://github.com/aljazceru/breez-lnd.git
synced 2025-12-18 14:44:22 +01:00
amp: add Merge and Zero to Sharer interface
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
type sharerTest struct {
|
||||
name string
|
||||
numShares int
|
||||
merge bool
|
||||
}
|
||||
|
||||
var sharerTests = []sharerTest{
|
||||
@@ -25,6 +26,16 @@ var sharerTests = []sharerTest{
|
||||
name: "many shares",
|
||||
numShares: 10,
|
||||
},
|
||||
{
|
||||
name: "merge 4 shares",
|
||||
numShares: 4,
|
||||
merge: true,
|
||||
},
|
||||
{
|
||||
name: "merge many shares",
|
||||
numShares: 20,
|
||||
merge: true,
|
||||
},
|
||||
}
|
||||
|
||||
// TestSharer executes the end-to-end derivation between sender and receiver,
|
||||
@@ -71,10 +82,27 @@ func testSharer(t *testing.T, test sharerTest) {
|
||||
|
||||
// Compute the final share and finalize the sharing.
|
||||
child := sharer.Child(0)
|
||||
sharer = sharer.Zero()
|
||||
|
||||
assertChildShare(t, child, 0)
|
||||
children = append(children, child)
|
||||
|
||||
// If we are testing merging, merge half of the created children back
|
||||
// into the sharer.
|
||||
if test.merge {
|
||||
for i := len(children) / 2; i < len(children); i++ {
|
||||
sharer = sharer.Merge(children[i])
|
||||
}
|
||||
children = children[:len(children)/2]
|
||||
|
||||
// We must create a new last child from what we just merged
|
||||
// back.
|
||||
child := sharer.Child(0)
|
||||
|
||||
assertChildShare(t, child, 0)
|
||||
children = append(children, child)
|
||||
}
|
||||
|
||||
assertReconstruction(t, children...)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user