feat: support typed errors over RPC

This commit is contained in:
Aayush
2022-07-18 12:36:51 -04:00
committed by Łukasz Magiera
parent a0f2ddb920
commit 27880ece2b
16 changed files with 127 additions and 24 deletions

29
api/api_errors.go Normal file
View File

@ -0,0 +1,29 @@
package api
import (
"github.com/filecoin-project/go-jsonrpc"
)
const (
EOutOfGas = iota + jsonrpc.FirstUserCode
EActorNotFound
)
type ErrOutOfGas struct{}
func (e ErrOutOfGas) Error() string {
return "call ran out of gas"
}
type ErrActorNotFound struct{}
func (e ErrActorNotFound) Error() string {
return "actor not found"
}
var RPCErrors = jsonrpc.NewErrors()
func init() {
RPCErrors.Register(EOutOfGas, new(ErrOutOfGas))
RPCErrors.Register(EActorNotFound, new(ErrActorNotFound))
}