Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

Commit

Permalink
cmd: Do not panic on failed preimage oracle ctor
Browse files Browse the repository at this point in the history
  • Loading branch information
Inphi committed May 3, 2023
1 parent 0a99e0c commit 05097d3
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,18 +104,18 @@ type ProcessPreimageOracle struct {
cmd *exec.Cmd
}

func NewProcessPreimageOracle(name string, args []string) *ProcessPreimageOracle {
func NewProcessPreimageOracle(name string, args []string) (*ProcessPreimageOracle, error) {
if name == "" {
return &ProcessPreimageOracle{}
return &ProcessPreimageOracle{}, nil
}

pClientRW, pOracleRW, err := preimage.CreateBidirectionalChannel()
if err != nil {
panic(err)
return nil, err
}
hClientRW, hOracleRW, err := preimage.CreateBidirectionalChannel()
if err != nil {
panic(err)
return nil, err
}

cmd := exec.Command(name, args...)
Expand All @@ -132,7 +132,7 @@ func NewProcessPreimageOracle(name string, args []string) *ProcessPreimageOracle
hCl: preimage.NewHintWriter(hClientRW),
cmd: cmd,
}
return out
return out, nil
}

func (p *ProcessPreimageOracle) Hint(v []byte) {
Expand Down Expand Up @@ -205,7 +205,10 @@ func Run(ctx *cli.Context) error {
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 {
return fmt.Errorf("failed to start pre-image oracle server: %w", err)
}
Expand Down

0 comments on commit 05097d3

Please sign in to comment.