@@ -32,27 +32,16 @@ func newMailboxSession() *mailboxSession {
3232}
3333
3434func (m * mailboxSession ) start (session * Session ,
35- serverCreator GRPCServerCreator , authData []byte ,
36- onUpdate func (sess * Session ) error ) error {
35+ serverCreator GRPCServerCreator , authData []byte ) error {
3736
3837 tlsConfig := & tls.Config {}
3938 if session .DevServer {
4039 tlsConfig = & tls.Config {InsecureSkipVerify : true }
4140 }
4241
43- ecdh := & keychain.PrivKeyECDH {PrivKey : session .LocalPrivateKey }
44-
45- keys := mailbox .NewConnData (
46- ecdh , session .RemotePublicKey , session .PairingSecret [:],
47- authData , func (key * btcec.PublicKey ) error {
48- session .RemotePublicKey = key
49- return onUpdate (session )
50- }, nil ,
51- )
52-
5342 // Start the mailbox gRPC server.
5443 mailboxServer , err := mailbox .NewServer (
55- session .ServerAddr , keys ,
44+ session .ServerAddr , session . PairingSecret [:] ,
5645 grpc .WithTransportCredentials (credentials .NewTLS (tlsConfig )),
5746 grpc .WithKeepaliveParams (keepalive.ClientParameters {
5847 Time : 2 * time .Minute ,
@@ -62,7 +51,10 @@ func (m *mailboxSession) start(session *Session,
6251 return err
6352 }
6453
65- noiseConn := mailbox .NewNoiseGrpcConn (keys )
54+ ecdh := & keychain.PrivKeyECDH {PrivKey : session .LocalPrivateKey }
55+ noiseConn := mailbox .NewNoiseGrpcConn (
56+ ecdh , authData , session .PairingSecret [:],
57+ )
6658 m .server = serverCreator (grpc .Creds (noiseConn ))
6759
6860 m .wg .Add (1 )
@@ -103,8 +95,8 @@ func NewServer(serverCreator GRPCServerCreator) *Server {
10395 }
10496}
10597
106- func (s * Server ) StartSession (session * Session , authData []byte ,
107- onUpdate func ( sess * Session ) error ) ( chan struct {}, error ) {
98+ func (s * Server ) StartSession (session * Session , authData []byte ) ( chan struct {} ,
99+ error ) {
108100
109101 s .activeSessionsMtx .Lock ()
110102 defer s .activeSessionsMtx .Unlock ()
@@ -120,9 +112,7 @@ func (s *Server) StartSession(session *Session, authData []byte,
120112 sess := newMailboxSession ()
121113 s .activeSessions [id ] = sess
122114
123- return sess .quit , sess .start (
124- session , s .serverCreator , authData , onUpdate ,
125- )
115+ return sess .quit , sess .start (session , s .serverCreator , authData )
126116}
127117
128118func (s * Server ) StopSession (localPublicKey * btcec.PublicKey ) error {
0 commit comments