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
}
}
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)
}
}
// 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}
}
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) {
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 {
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) {