mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 01:43:16 +01:00
aliasmgr: export alias start and end ranges
Because we restrict custom SCID aliases to be in a specific range, we export the range start and end values so a user of the RPCs we're going to add in the next commits can adjust their values to fit within the range.
This commit is contained in:
parent
466f550ddb
commit
604bd81100
@ -58,17 +58,18 @@ var (
|
|||||||
// operations.
|
// operations.
|
||||||
byteOrder = binary.BigEndian
|
byteOrder = binary.BigEndian
|
||||||
|
|
||||||
// startBlockHeight is the starting block height of the alias range.
|
// AliasStartBlockHeight is the starting block height of the alias
|
||||||
startingBlockHeight uint32 = 16_000_000
|
// range.
|
||||||
|
AliasStartBlockHeight uint32 = 16_000_000
|
||||||
|
|
||||||
// endBlockHeight is the ending block height of the alias range.
|
// AliasEndBlockHeight is the ending block height of the alias range.
|
||||||
endBlockHeight uint32 = 16_250_000
|
AliasEndBlockHeight uint32 = 16_250_000
|
||||||
|
|
||||||
// StartingAlias is the first alias ShortChannelID that will get
|
// StartingAlias is the first alias ShortChannelID that will get
|
||||||
// assigned by RequestAlias. The starting BlockHeight is chosen so that
|
// assigned by RequestAlias. The starting BlockHeight is chosen so that
|
||||||
// legitimate SCIDs in integration tests aren't mistaken for an alias.
|
// legitimate SCIDs in integration tests aren't mistaken for an alias.
|
||||||
StartingAlias = lnwire.ShortChannelID{
|
StartingAlias = lnwire.ShortChannelID{
|
||||||
BlockHeight: startingBlockHeight,
|
BlockHeight: AliasStartBlockHeight,
|
||||||
TxIndex: 0,
|
TxIndex: 0,
|
||||||
TxPosition: 0,
|
TxPosition: 0,
|
||||||
}
|
}
|
||||||
@ -547,7 +548,9 @@ func (m *Manager) RequestAlias() (lnwire.ShortChannelID, error) {
|
|||||||
nextAlias = getNextScid(nextAlias)
|
nextAlias = getNextScid(nextAlias)
|
||||||
|
|
||||||
// Abort if we've reached the end of the range.
|
// Abort if we've reached the end of the range.
|
||||||
if nextAlias.BlockHeight >= endBlockHeight {
|
if nextAlias.BlockHeight >=
|
||||||
|
AliasEndBlockHeight {
|
||||||
|
|
||||||
return fmt.Errorf("range for custom " +
|
return fmt.Errorf("range for custom " +
|
||||||
"aliases exhausted")
|
"aliases exhausted")
|
||||||
}
|
}
|
||||||
@ -581,7 +584,7 @@ func (m *Manager) RequestAlias() (lnwire.ShortChannelID, error) {
|
|||||||
nextAlias = getNextScid(nextAlias)
|
nextAlias = getNextScid(nextAlias)
|
||||||
|
|
||||||
// Abort if we've reached the end of the range.
|
// Abort if we've reached the end of the range.
|
||||||
if nextAlias.BlockHeight >= endBlockHeight {
|
if nextAlias.BlockHeight >= AliasEndBlockHeight {
|
||||||
return fmt.Errorf("range for custom " +
|
return fmt.Errorf("range for custom " +
|
||||||
"aliases exhausted")
|
"aliases exhausted")
|
||||||
}
|
}
|
||||||
@ -665,10 +668,10 @@ func getNextScid(last lnwire.ShortChannelID) lnwire.ShortChannelID {
|
|||||||
|
|
||||||
// IsAlias returns true if the passed SCID is an alias. The function determines
|
// IsAlias returns true if the passed SCID is an alias. The function determines
|
||||||
// this by looking at the BlockHeight. If the BlockHeight is greater than
|
// this by looking at the BlockHeight. If the BlockHeight is greater than
|
||||||
// startingBlockHeight and less than endBlockHeight, then it is an alias
|
// AliasStartBlockHeight and less than AliasEndBlockHeight, then it is an alias
|
||||||
// assigned by RequestAlias. These bounds only apply to aliases we generate.
|
// assigned by RequestAlias. These bounds only apply to aliases we generate.
|
||||||
// Our peers are free to use any range they choose.
|
// Our peers are free to use any range they choose.
|
||||||
func IsAlias(scid lnwire.ShortChannelID) bool {
|
func IsAlias(scid lnwire.ShortChannelID) bool {
|
||||||
return scid.BlockHeight >= startingBlockHeight &&
|
return scid.BlockHeight >= AliasStartBlockHeight &&
|
||||||
scid.BlockHeight < endBlockHeight
|
scid.BlockHeight < AliasEndBlockHeight
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ func TestGetNextScid(t *testing.T) {
|
|||||||
name: "starting alias",
|
name: "starting alias",
|
||||||
current: StartingAlias,
|
current: StartingAlias,
|
||||||
expected: lnwire.ShortChannelID{
|
expected: lnwire.ShortChannelID{
|
||||||
BlockHeight: startingBlockHeight,
|
BlockHeight: AliasStartBlockHeight,
|
||||||
TxIndex: 0,
|
TxIndex: 0,
|
||||||
TxPosition: 1,
|
TxPosition: 1,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user