mirror of
https://github.com/alexgo-io/gaze-indexer.git
synced 2026-01-12 08:34:28 +08:00
* feat: add fractal support for runes * chore: remove common.HalvingInterval * fix: update starting block height * refactor: move network-genesis-rune definition to constants * fix: use logger.Panic() instead of panic() * fix: golangci-lint * fix: missing return
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package common
|
|
|
|
import (
|
|
"github.com/btcsuite/btcd/chaincfg"
|
|
"github.com/gaze-network/indexer-network/pkg/logger"
|
|
)
|
|
|
|
type Network string
|
|
|
|
const (
|
|
NetworkMainnet Network = "mainnet"
|
|
NetworkTestnet Network = "testnet"
|
|
NetworkFractalMainnet Network = "fractal-mainnet"
|
|
NetworkFractalTestnet Network = "fractal-testnet"
|
|
)
|
|
|
|
var supportedNetworks = map[Network]struct{}{
|
|
NetworkMainnet: {},
|
|
NetworkTestnet: {},
|
|
NetworkFractalMainnet: {},
|
|
NetworkFractalTestnet: {},
|
|
}
|
|
|
|
var chainParams = map[Network]*chaincfg.Params{
|
|
NetworkMainnet: &chaincfg.MainNetParams,
|
|
NetworkTestnet: &chaincfg.TestNet3Params,
|
|
NetworkFractalMainnet: &chaincfg.MainNetParams,
|
|
NetworkFractalTestnet: &chaincfg.MainNetParams,
|
|
}
|
|
|
|
func (n Network) IsSupported() bool {
|
|
_, ok := supportedNetworks[n]
|
|
return ok
|
|
}
|
|
|
|
func (n Network) ChainParams() *chaincfg.Params {
|
|
return chainParams[n]
|
|
}
|
|
|
|
func (n Network) String() string {
|
|
return string(n)
|
|
}
|
|
|
|
func (n Network) HalvingInterval() uint64 {
|
|
switch n {
|
|
case NetworkMainnet, NetworkTestnet:
|
|
return 210_000
|
|
case NetworkFractalMainnet, NetworkFractalTestnet:
|
|
return 2_100_000
|
|
default:
|
|
logger.Panic("invalid network")
|
|
return 0
|
|
}
|
|
}
|