code: func (lp *LocalProfile) deployChequebook(ctx context.Context, backend chequebook.Backend, path string) error {
  	opts := bind.NewKeyedTransactor(lp.privateKey)
  	opts.Value = lp.AutoDepositBuffer
  	opts.Context = ctx
  
  	log.Info(fmt.Sprintf("Deploying new chequebook (owner: %v)", opts.From.Hex()))
  	address, err := deployChequebookLoop(opts, backend)
  	if err != nil {
  		log.Error(fmt.Sprintf("unable to deploy new chequebook: %v", err))
  		return err
  	}
  	log.Info(fmt.Sprintf("new chequebook deployed at %v (owner: %v)", address.Hex(), opts.From.Hex()))
  
  	// need to save config at this point
  	lp.lock.Lock()
  	lp.Contract = address
  	err = lp.newChequebookFromContract(path, backend)
  	lp.lock.Unlock()
  	if err != nil {
  		log.Warn(fmt.Sprintf("error initialising cheque book (owner: %v): %v", opts.From.Hex(), err))
  	}
  	return err
  }
docs: // deployChequebook deploys the localProfile Chequebook