Fix panic on nil DataType in transaction.
@@ -155,6 +155,7 @@ func (tx *transactionV3) Verify() error {
}
// Checkups by data types
+ if tx.DataType != nil {
switch *tx.DataType {
case dataTypeCall:
// element check
@@ -184,6 +185,7 @@ func (tx *transactionV3) Verify() error {
return ErrInvalidValueValue
}
}
+ }
// signature verification
if err := tx.verifySignature(); err != nil {
@@ -253,6 +255,7 @@ func (tx *transactionV3) PreValidate(wc WorldContext, update bool) error {
}
// checkups by data types
+ if tx.DataType != nil {
switch *tx.DataType {
case dataTypeCall:
// check if contract is active and not blacklisted
@@ -291,6 +294,7 @@ func (tx *transactionV3) PreValidate(wc WorldContext, update bool) error {
}
}
}
+ }
return nil
}
