code: func (s *Session) pair(secret []byte) (smartcardPairing, error) {
  	err := s.Channel.Pair(secret)
  	if err != nil {
  		return smartcardPairing{}, err
  	}
  
  	return smartcardPairing{
  		PublicKey:    s.Wallet.PublicKey,
  		PairingIndex: s.Channel.PairingIndex,
  		PairingKey:   s.Channel.PairingKey,
  		Accounts:     make(map[common.Address]accounts.DerivationPath),
  	}, nil
  }
docs: // pair establishes a new pairing over this channel, using the provided secret.