Skip to content

Commit be10602

Browse files
committed
tackle lighter error properly
1 parent 9b0865c commit be10602

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

protocol/lighter/api.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ type LighterTx struct {
3636
Transfer *Transfer
3737
}
3838

39+
type LighterError struct {
40+
Code uint64 `json:"code"`
41+
Message string `json:"message"`
42+
}
43+
44+
func (e *LighterError) Error() error {
45+
return fmt.Errorf("lighter error: code %d, message: %s", e.Code, e.Message)
46+
}
47+
3948
func (tx *LighterTx) UnmarshalJSON(data []byte) error {
4049
type t LighterTx
4150
if err := json.Unmarshal(data, (*t)(tx)); err != nil {
@@ -85,7 +94,11 @@ func (a *LighterAPI) GetTx(hash string) (*LighterTx, error) {
8594

8695
s := new(LighterTx)
8796
if err := json.Unmarshal(body, s); err != nil {
88-
return nil, fmt.Errorf("failed to unmarshal response body: %s, with error: %w", string(body), err)
97+
e := new(LighterError)
98+
if err := json.Unmarshal(body, e); err != nil {
99+
return nil, fmt.Errorf("failed to unmarshal response body: %s, with error: %w", string(body), err)
100+
}
101+
return nil, e.Error()
89102
}
90103

91104
return s, nil

0 commit comments

Comments
 (0)