mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-26 09:42:22 +00:00
state: always marshal applog exception into JSON, fix #2869
Fortunately, this is backwards-compatible in any direction. See
98b5e2b353
also.
This commit is contained in:
parent
5ad1fcd321
commit
817f64f9fe
1 changed files with 9 additions and 3 deletions
|
@ -218,7 +218,7 @@ type executionAux struct {
|
|||
GasConsumed int64 `json:"gasconsumed,string"`
|
||||
Stack json.RawMessage `json:"stack"`
|
||||
Events []NotificationEvent `json:"notifications"`
|
||||
FaultException string `json:"exception,omitempty"`
|
||||
FaultException *string `json:"exception"`
|
||||
}
|
||||
|
||||
// MarshalJSON implements the json.Marshaler interface.
|
||||
|
@ -235,13 +235,17 @@ func (e Execution) MarshalJSON() ([]byte, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var exception *string
|
||||
if e.FaultException != "" {
|
||||
exception = &e.FaultException
|
||||
}
|
||||
return json.Marshal(&executionAux{
|
||||
Trigger: e.Trigger.String(),
|
||||
VMState: e.VMState.String(),
|
||||
GasConsumed: e.GasConsumed,
|
||||
Stack: st,
|
||||
Events: e.Events,
|
||||
FaultException: e.FaultException,
|
||||
FaultException: exception,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -280,7 +284,9 @@ func (e *Execution) UnmarshalJSON(data []byte) error {
|
|||
e.VMState = state
|
||||
e.Events = aux.Events
|
||||
e.GasConsumed = aux.GasConsumed
|
||||
e.FaultException = aux.FaultException
|
||||
if aux.FaultException != nil {
|
||||
e.FaultException = *aux.FaultException
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue