From d12a51ecaa2bcf5c1e765851ed0c2e5578a3e094 Mon Sep 17 00:00:00 2001 From: Juampi Q Date: Tue, 7 Jun 2022 22:39:24 -0300 Subject: [PATCH 1/2] Fix for session storage when approving dapp request --- lib/src/walletconnect.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/walletconnect.dart b/lib/src/walletconnect.dart index c666bc0..53388ec 100644 --- a/lib/src/walletconnect.dart +++ b/lib/src/walletconnect.dart @@ -240,6 +240,8 @@ class WalletConnect { await _sendResponse(response); session.connected = true; + // Store session + await sessionStorage?.store(session); // Notify listeners _eventBus.fire(Event( From 2615c34d2c032deb2813bd5da37dac20826c82ed Mon Sep 17 00:00:00 2001 From: Juampi Q Date: Tue, 7 Jun 2022 22:58:15 -0300 Subject: [PATCH 2/2] Fix wallet connect session serialization: PeerMeta attributes were not being serialized with toJson internally --- lib/src/session/wallet_connect_session.dart | 2 +- lib/src/session/wallet_connect_session.g.dart | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/session/wallet_connect_session.dart b/lib/src/session/wallet_connect_session.dart index ccdeb13..94f7f10 100644 --- a/lib/src/session/wallet_connect_session.dart +++ b/lib/src/session/wallet_connect_session.dart @@ -8,7 +8,7 @@ import 'package:walletconnect_dart/src/utils/key_converter.dart'; part 'wallet_connect_session.g.dart'; -@JsonSerializable() +@JsonSerializable(explicitToJson: true) class WalletConnectSession { String protocol; int version; diff --git a/lib/src/session/wallet_connect_session.g.dart b/lib/src/session/wallet_connect_session.g.dart index 8a41f09..b86f523 100644 --- a/lib/src/session/wallet_connect_session.g.dart +++ b/lib/src/session/wallet_connect_session.g.dart @@ -42,9 +42,9 @@ Map _$WalletConnectSessionToJson( 'bridge': instance.bridge, 'key': const KeyConverter().toJson(instance.key), 'clientId': instance.clientId, - 'clientMeta': instance.clientMeta, + 'clientMeta': instance.clientMeta?.toJson(), 'peerId': instance.peerId, - 'peerMeta': instance.peerMeta, + 'peerMeta': instance.peerMeta?.toJson(), 'handshakeId': instance.handshakeId, 'handshakeTopic': instance.handshakeTopic, 'networkId': instance.networkId,