chain33 icon indicating copy to clipboard operation
chain33 copied to clipboard

平行链执行器地址格式兼容

Open bysomeone opened this issue 2 years ago • 1 comments

// CheckTx  default:,tx.To address points to the contract address
func (d *DriverBase) CheckTx(tx *types.Transaction, index int) error {
	execer := string(tx.Execer)
	if ExecAddress(execer) != tx.To {
		return types.ErrToAddrNotSameToExecAddr
	}
	return nil
}
  • 交易执行器地址, 采用默认的地址格式计算
  • 平行链交易结构To字段, 需要于对应的执行器地址一致, 在主链交易检查阶段校验
  • 当主链和平行链配置的默认地址格式不一致,主链计算出的执行器地址和平行链交易中的To不一致,交易失败

bysomeone avatar Apr 10 '23 07:04 bysomeone

可以解析平行链交易To地址格式,主链计算对应格式的执行器地址并进行检验, 需要增加fork处理

bysomeone avatar Apr 10 '23 11:04 bysomeone