// NetParams is the correspondence between chain_id and Params
var NetParams = map[string]Params{
- "mainnet": MainNetParams,
- "wisdom": TestNetParams,
"vapor": VaporNetParams,
"solonet": SoloNetParams,
}
-// MainNetParams is the config for bytom main-net
-var MainNetParams = Params{
- Name: "main",
- Bech32HRPSegwit: "bm",
- DefaultPort: "46657",
- DNSSeeds: []string{"www.mainnetseed.bytom.io"},
- Checkpoints: []Checkpoint{},
-}
-
-// TestNetParams is the config for bytom test-net
-var TestNetParams = Params{
- Name: "test",
- Bech32HRPSegwit: "tm",
- DefaultPort: "46656",
- DNSSeeds: []string{"www.testnetseed.bytom.io"},
- Checkpoints: []Checkpoint{},
-}
-
// VaporNetParams is the config for vapor-net
var VaporNetParams = Params{
Name: "vapor",
switch {
case segwit.IsP2WPKHScript(prog):
if pubHash, err := segwit.GetHashFromStandardProg(prog); err == nil {
- fromAddress = wallet.BuildP2PKHAddress(pubHash, &vaporConsensus.MainNetParams)
+ fromAddress = wallet.BuildP2PKHAddress(pubHash, &btmConsensus.MainNetParams)
toAddress = wallet.BuildP2PKHAddress(pubHash, &vaporConsensus.VaporNetParams)
}
+
case segwit.IsP2WSHScript(prog):
if scriptHash, err := segwit.GetHashFromStandardProg(prog); err == nil {
- fromAddress = wallet.BuildP2SHAddress(scriptHash, &vaporConsensus.MainNetParams)
+ fromAddress = wallet.BuildP2SHAddress(scriptHash, &btmConsensus.MainNetParams)
toAddress = wallet.BuildP2SHAddress(scriptHash, &vaporConsensus.VaporNetParams)
}
}
"fmt"
"time"
+ btmConsensus "github.com/bytom/consensus"
"github.com/jinzhu/gorm"
log "github.com/sirupsen/logrus"
switch {
case segwit.IsP2WPKHScript(outputCP):
if pubHash, err := segwit.GetHashFromStandardProg(outputCP); err == nil {
- toAddress = wallet.BuildP2PKHAddress(pubHash, &consensus.MainNetParams)
+ toAddress = wallet.BuildP2PKHAddress(pubHash, &btmConsensus.MainNetParams)
}
+
case segwit.IsP2WSHScript(outputCP):
if scriptHash, err := segwit.GetHashFromStandardProg(outputCP); err == nil {
- toAddress = wallet.BuildP2SHAddress(scriptHash, &consensus.MainNetParams)
+ toAddress = wallet.BuildP2SHAddress(scriptHash, &btmConsensus.MainNetParams)
}
}
"encoding/json"
"fmt"
+ btmCommon "github.com/bytom/common"
btmConsensus "github.com/bytom/consensus"
log "github.com/sirupsen/logrus"
return ""
}
-func BuildP2PKHAddress(pubHash []byte, netParams *consensus.Params) string {
- address, err := common.NewAddressWitnessPubKeyHash(pubHash, netParams)
- if err != nil {
- return ""
- }
+// BuildP2PKHAddress create P2PKH address
+func BuildP2PKHAddress(pubHash []byte, netParams interface{}) string {
+ switch netParams.(type) {
+ case *consensus.Params:
+ params := netParams.(*consensus.Params)
+ address, err := common.NewAddressWitnessPubKeyHash(pubHash, params)
+ if err != nil {
+ return ""
+ }
+ return address.EncodeAddress()
- return address.EncodeAddress()
+ case *btmConsensus.Params:
+ params := netParams.(*btmConsensus.Params)
+ address, err := btmCommon.NewAddressWitnessPubKeyHash(pubHash, params)
+ if err != nil {
+ return ""
+ }
+ return address.EncodeAddress()
+ }
+ return ""
}
-func BuildP2SHAddress(scriptHash []byte, netParams *consensus.Params) string {
- address, err := common.NewAddressWitnessScriptHash(scriptHash, netParams)
- if err != nil {
- return ""
- }
+// BuildP2SHAddress create P2SH address
+func BuildP2SHAddress(scriptHash []byte, netParams interface{}) string {
+ switch netParams.(type) {
+ case *consensus.Params:
+ params := netParams.(*consensus.Params)
+ address, err := common.NewAddressWitnessScriptHash(scriptHash, params)
+ if err != nil {
+ return ""
+ }
+ return address.EncodeAddress()
- return address.EncodeAddress()
+ case *btmConsensus.Params:
+ params := netParams.(*btmConsensus.Params)
+ address, err := btmCommon.NewAddressWitnessScriptHash(scriptHash, params)
+ if err != nil {
+ return ""
+ }
+ return address.EncodeAddress()
+ }
+ return ""
}
// BuildAnnotatedOutput build the annotated output.