From: Paladz Date: Wed, 17 Jul 2019 03:48:12 +0000 (+0800) Subject: consensus should be able to change (#300) X-Git-Tag: v1.0.5~123 X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=commitdiff_plain;h=312e5053f0a820931cb5b0c68d418f8614f426b9;ds=sidebyside consensus should be able to change (#300) --- diff --git a/blockchain/txbuilder/actions.go b/blockchain/txbuilder/actions.go index 8021f355..f5b40bc0 100644 --- a/blockchain/txbuilder/actions.go +++ b/blockchain/txbuilder/actions.go @@ -168,7 +168,7 @@ func (a *crossOutAction) Build(ctx context.Context, b *TemplateBuilder) error { return MissingFieldsError(missing...) } - address, err := common.DecodeAddress(a.Address, &consensus.BytomMainNetParams) + address, err := common.DecodeAddress(a.Address, consensus.BytomMainNetParams(&consensus.ActiveNetParams)) if err != nil { return err } diff --git a/blockchain/txbuilder/txbuilder_test.go b/blockchain/txbuilder/txbuilder_test.go index 76035ed6..bc85f8ff 100644 --- a/blockchain/txbuilder/txbuilder_test.go +++ b/blockchain/txbuilder/txbuilder_test.go @@ -88,7 +88,7 @@ func TestBuildIntra(t *testing.T) { } func newCrossOutAction(assetAmt bc.AssetAmount, redeemContract []byte) *crossOutAction { - address, err := common.NewAddressWitnessPubKeyHash(redeemContract, &consensus.BytomMainNetParams) + address, err := common.NewAddressWitnessPubKeyHash(redeemContract, consensus.BytomMainNetParams(&consensus.ActiveNetParams)) if err != nil { panic(err) } diff --git a/consensus/general.go b/consensus/general.go index bc311b25..0a399c2e 100644 --- a/consensus/general.go +++ b/consensus/general.go @@ -206,7 +206,13 @@ func BlockSubsidy(height uint64) uint64 { } // BytomMainNetParams is the config for bytom mainnet -var BytomMainNetParams = Params{ - Name: "main", - Bech32HRPSegwit: "bm", +func BytomMainNetParams(vaporParam *Params) *Params { + bech32HRPSegwit := "sm" + switch vaporParam.Name { + case "main": + bech32HRPSegwit = "bm" + case "test": + bech32HRPSegwit = "tm" + } + return &Params{Bech32HRPSegwit: bech32HRPSegwit} } diff --git a/toolbar/federation/synchron/mainchain_keeper.go b/toolbar/federation/synchron/mainchain_keeper.go index 37d5aeb1..37cb7471 100644 --- a/toolbar/federation/synchron/mainchain_keeper.go +++ b/toolbar/federation/synchron/mainchain_keeper.go @@ -68,7 +68,7 @@ func (m *mainchainKeeper) Run() { func (m *mainchainKeeper) createCrossChainReqs(db *gorm.DB, crossTransactionID uint64, tx *types.Tx, statusFail bool) error { prog := tx.Inputs[0].ControlProgram() - fromAddress := common.ProgToAddress(prog, &consensus.BytomMainNetParams) + fromAddress := common.ProgToAddress(prog, consensus.BytomMainNetParams(&consensus.ActiveNetParams)) toAddress := common.ProgToAddress(prog, &consensus.MainNetParams) for i, rawOutput := range tx.Outputs { if !bytes.Equal(rawOutput.OutputCommitment.ControlProgram, m.federationProg) { diff --git a/toolbar/federation/synchron/sidechain_keeper.go b/toolbar/federation/synchron/sidechain_keeper.go index f60b4af0..9cb22be2 100644 --- a/toolbar/federation/synchron/sidechain_keeper.go +++ b/toolbar/federation/synchron/sidechain_keeper.go @@ -84,7 +84,7 @@ func (s *sidechainKeeper) createCrossChainReqs(db *gorm.DB, crossTransactionID u AssetAmount: rawOutput.OutputCommitment().AssetAmount.Amount, Script: hex.EncodeToString(prog), FromAddress: fromAddress, - ToAddress: common.ProgToAddress(prog, &consensus.BytomMainNetParams), + ToAddress: common.ProgToAddress(prog, consensus.BytomMainNetParams(&consensus.ActiveNetParams)), } if err := db.Create(req).Error; err != nil { diff --git a/wallet/annotated.go b/wallet/annotated.go index b6bf0165..50746ce4 100644 --- a/wallet/annotated.go +++ b/wallet/annotated.go @@ -192,7 +192,7 @@ func (w *Wallet) BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInp func (w *Wallet) getAddressFromControlProgram(prog []byte, isMainchain bool) string { netParams := &consensus.ActiveNetParams if isMainchain { - netParams = &consensus.BytomMainNetParams + netParams = consensus.BytomMainNetParams(&consensus.ActiveNetParams) } if segwit.IsP2WPKHScript(prog) {