Commit 05097d36 authored by inphi's avatar inphi

cmd: Do not panic on failed preimage oracle ctor

parent 0a99e0ca
...@@ -104,18 +104,18 @@ type ProcessPreimageOracle struct { ...@@ -104,18 +104,18 @@ type ProcessPreimageOracle struct {
cmd *exec.Cmd cmd *exec.Cmd
} }
func NewProcessPreimageOracle(name string, args []string) *ProcessPreimageOracle { func NewProcessPreimageOracle(name string, args []string) (*ProcessPreimageOracle, error) {
if name == "" { if name == "" {
return &ProcessPreimageOracle{} return &ProcessPreimageOracle{}, nil
} }
pClientRW, pOracleRW, err := preimage.CreateBidirectionalChannel() pClientRW, pOracleRW, err := preimage.CreateBidirectionalChannel()
if err != nil { if err != nil {
panic(err) return nil, err
} }
hClientRW, hOracleRW, err := preimage.CreateBidirectionalChannel() hClientRW, hOracleRW, err := preimage.CreateBidirectionalChannel()
if err != nil { if err != nil {
panic(err) return nil, err
} }
cmd := exec.Command(name, args...) cmd := exec.Command(name, args...)
...@@ -132,7 +132,7 @@ func NewProcessPreimageOracle(name string, args []string) *ProcessPreimageOracle ...@@ -132,7 +132,7 @@ func NewProcessPreimageOracle(name string, args []string) *ProcessPreimageOracle
hCl: preimage.NewHintWriter(hClientRW), hCl: preimage.NewHintWriter(hClientRW),
cmd: cmd, cmd: cmd,
} }
return out return out, nil
} }
func (p *ProcessPreimageOracle) Hint(v []byte) { func (p *ProcessPreimageOracle) Hint(v []byte) {
...@@ -205,7 +205,10 @@ func Run(ctx *cli.Context) error { ...@@ -205,7 +205,10 @@ func Run(ctx *cli.Context) error {
args = []string{""} args = []string{""}
} }
po := NewProcessPreimageOracle(args[0], args[1:]) po, err := NewProcessPreimageOracle(args[0], args[1:])
if err != nil {
return fmt.Errorf("failed to create pre-image oracle process: %w", err)
}
if err := po.Start(); err != nil { if err := po.Start(); err != nil {
return fmt.Errorf("failed to start pre-image oracle server: %w", err) return fmt.Errorf("failed to start pre-image oracle server: %w", err)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment