code: func NewSignerAPI(am *accounts.Manager, chainID int64, noUSB bool, ui UIClientAPI, validator Validator, advancedMode bool, credentials storage.Storage) *SignerAPI {
  	if advancedMode {
  		log.Info("Clef is in advanced mode: will warn instead of reject")
  	}
  	signer := &SignerAPI{big.NewInt(chainID), am, ui, validator, !advancedMode, credentials}
  	if !noUSB {
  		signer.startUSBListener()
  	}
  	return signer
  }
docs: // NewSignerAPI creates a new API that can be used for Account management.
  // ksLocation specifies the directory where to store the password protected private
  // key that is generated when a new Account is created.
  // noUSB disables USB support that is required to support hardware devices such as
  // ledger and trezor.