diff --git a/bumble/device.py b/bumble/device.py index 72fd755..def02f5 100644 --- a/bumble/device.py +++ b/bumble/device.py @@ -3088,7 +3088,16 @@ class Device(CompositeEventEmitter): def on_pairing_start(self, connection: Connection) -> None: connection.emit('pairing_start') - def on_pairing(self, connection: Connection, keys: PairingKeys, sc: bool) -> None: + def on_pairing( + self, + connection: Connection, + identity_address: Address, + keys: PairingKeys, + sc: bool, + ) -> None: + if identity_address is not None: + connection.peer_resolvable_address = connection.peer_address + connection.peer_address = identity_address connection.sc = sc connection.authenticated = True connection.emit('pairing', keys) diff --git a/bumble/smp.py b/bumble/smp.py index f3fbf27..79ae578 100644 --- a/bumble/smp.py +++ b/bumble/smp.py @@ -1805,7 +1805,9 @@ class Manager(EventEmitter): self.device.abort_on('flush', store_keys()) # Notify the device - self.device.on_pairing(session.connection, keys, session.sc) + self.device.on_pairing( + session.connection, identity_address, keys, session.sc + ) def on_pairing_failure(self, session: Session, reason: int) -> None: self.device.on_pairing_failure(session.connection, reason)