diff --git a/.github/actions/ci/action.yml b/.github/actions/ci/action.yml index 593d2f9..8fc67cb 100644 --- a/.github/actions/ci/action.yml +++ b/.github/actions/ci/action.yml @@ -50,7 +50,7 @@ runs: run: flutter test --dart-define=RELAY_ENDPOINT=$RELAY_ENDPOINT --dart-define=PROJECT_ID=$PROJECT_ID # Run WalletKit Unit and Integration Tests - - name: Run AppKit tests + - name: Run WalletKit tests if: inputs.type == 'integration-tests' shell: bash working-directory: packages/reown_walletkit diff --git a/packages/reown_appkit/CHANGELOG.md b/packages/reown_appkit/CHANGELOG.md index ccd38a6..a773872 100644 --- a/packages/reown_appkit/CHANGELOG.md +++ b/packages/reown_appkit/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.3.0-beta01 +## 1.3.0-beta02 - Update to flutter version 3.24.5 - Dependency updates diff --git a/packages/reown_appkit/lib/version.dart b/packages/reown_appkit/lib/version.dart index e750ff4..206f84c 100644 --- a/packages/reown_appkit/lib/version.dart +++ b/packages/reown_appkit/lib/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '1.3.0-beta01'; +const packageVersion = '1.3.0-beta02'; diff --git a/packages/reown_appkit/pubspec.yaml b/packages/reown_appkit/pubspec.yaml index b7d1841..bc1889a 100644 --- a/packages/reown_appkit/pubspec.yaml +++ b/packages/reown_appkit/pubspec.yaml @@ -1,6 +1,6 @@ name: reown_appkit description: "Reown is the onchain UX platform that provides toolkits built on top of the WalletConnect Network" -version: 1.3.0-beta01 +version: 1.3.0-beta02 homepage: https://github.com/reown-com/reown_flutter repository: https://github.com/reown-com/reown_flutter/tree/master/packages/reown_appkit documentation: https://docs.reown.com/appkit/flutter/core/installation @@ -26,12 +26,12 @@ dependencies: json_annotation: ^4.9.0 plugin_platform_interface: ^2.1.8 qr_flutter_wc: ^0.0.3 - reown_core: ^1.1.0-beta01 - # reown_core: - # path: ../reown_core/ - reown_sign: ^1.1.0-beta01 - # reown_sign: - # path: ../reown_sign/ + # reown_core: ^1.1.0-beta01 + reown_core: + path: ../reown_core/ + # reown_sign: ^1.1.0-beta01 + reown_sign: + path: ../reown_sign/ shimmer: ^3.0.0 uuid: ^4.5.1 webview_flutter: ^4.10.0 diff --git a/packages/reown_appkit/test/shared/shared_test_utils.mocks.dart b/packages/reown_appkit/test/shared/shared_test_utils.mocks.dart index fe4428e..8c58188 100644 --- a/packages/reown_appkit/test/shared/shared_test_utils.mocks.dart +++ b/packages/reown_appkit/test/shared/shared_test_utils.mocks.dart @@ -935,6 +935,16 @@ class MockMessageTracker extends _i1.Mock implements _i25.MessageTracker { ), ) as _i8.Event<_i26.StoreDeleteEvent>>); + @override + _i8.Event<_i26.StoreErrorEvent>> get onError => + (super.noSuchMethod( + Invocation.getter(#onError), + returnValue: _FakeEvent_8<_i26.StoreErrorEvent>>( + this, + Invocation.getter(#onError), + ), + ) as _i8.Event<_i26.StoreErrorEvent>>); + @override _i8.Event<_i26.StoreSyncEvent> get onSync => (super.noSuchMethod( Invocation.getter(#onSync), diff --git a/packages/reown_core/CHANGELOG.md b/packages/reown_core/CHANGELOG.md index 1a9bb30..ac23cd9 100644 --- a/packages/reown_core/CHANGELOG.md +++ b/packages/reown_core/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.1.0-beta01 +## 1.1.0-beta02 - Update to flutter version 3.24.5 - Dependency updates diff --git a/packages/reown_core/lib/connectivity/connectivity.dart b/packages/reown_core/lib/connectivity/connectivity.dart index 55cd1f6..bc1e73b 100644 --- a/packages/reown_core/lib/connectivity/connectivity.dart +++ b/packages/reown_core/lib/connectivity/connectivity.dart @@ -35,12 +35,6 @@ class ConnectivityState implements IConnectivity { if (isOnline.value != isOnlineStatus) { _core.logger.i('[$runtimeType] Connectivity changed $result'); isOnline.value = isOnlineStatus; - - if (isOnline.value && !_core.relayClient.isConnected) { - await _core.relayClient.connect(); - } else if (!isOnline.value && _core.relayClient.isConnected) { - await _core.relayClient.disconnect(); - } } } } diff --git a/packages/reown_core/lib/crypto/crypto.dart b/packages/reown_core/lib/crypto/crypto.dart index 4a93bfe..32e0a28 100644 --- a/packages/reown_core/lib/crypto/crypto.dart +++ b/packages/reown_core/lib/crypto/crypto.dart @@ -202,6 +202,7 @@ class Crypto implements ICrypto { sub: sub, aud: aud, ttl: ReownConstants.ONE_DAY, + // iat: DateTime.now().millisecondsSinceEpoch ~/ 1000, keyPair: keyPair, ); return jwt; diff --git a/packages/reown_core/lib/pairing/pairing.dart b/packages/reown_core/lib/pairing/pairing.dart index 6390ddd..e7f1dd3 100644 --- a/packages/reown_core/lib/pairing/pairing.dart +++ b/packages/reown_core/lib/pairing/pairing.dart @@ -584,7 +584,7 @@ class Pairing implements IPairing { // Resubscribe to all active pairings for (final PairingInfo pairing in pairings.getAll()) { - core.logger.i('Resubscribing to pairing topic: ${pairing.topic}'); + core.logger.i('[$runtimeType] Resubscribe to pairing: ${pairing.topic}'); await core.relayClient.subscribe(topic: pairing.topic); } } diff --git a/packages/reown_core/lib/relay_client/relay_client.dart b/packages/reown_core/lib/relay_client/relay_client.dart index d8e1c6d..df41e81 100644 --- a/packages/reown_core/lib/relay_client/relay_client.dart +++ b/packages/reown_core/lib/relay_client/relay_client.dart @@ -251,14 +251,14 @@ class RelayClient implements IRelayClient { Future _createJsonRPCProvider() async { _connecting = true; _active = true; - final auth = await core.crypto.signJWT(core.relayUrl); - core.logger.d('[$runtimeType]: Signed JWT: $auth'); + final signedJWT = await core.crypto.signJWT(core.relayUrl); + core.logger.d('[$runtimeType]: Signed JWT: $signedJWT'); final url = ReownCoreUtils.formatRelayRpcUrl( protocol: ReownConstants.CORE_PROTOCOL, version: ReownConstants.CORE_VERSION, sdkVersion: ReownConstants.SDK_VERSION, relayUrl: core.relayUrl, - auth: auth, + auth: signedJWT, projectId: core.projectId, packageName: (await ReownCoreUtils.getPackageName()), ); diff --git a/packages/reown_core/lib/store/generic_store.dart b/packages/reown_core/lib/store/generic_store.dart index c46c911..2e0f55f 100644 --- a/packages/reown_core/lib/store/generic_store.dart +++ b/packages/reown_core/lib/store/generic_store.dart @@ -23,6 +23,8 @@ class GenericStore implements IGenericStore { @override final Event> onDelete = Event(); @override + final Event> onError = Event(); + @override final Event onSync = Event(); bool _initialized = false; @@ -158,7 +160,10 @@ class GenericStore implements IGenericStore { } catch (e) { // print('Error restoring $storageKey: $e'); await storage.delete(storedVersion); - rethrow; + onError.broadcast(StoreErrorEvent( + storedVersion, + e.toString(), + )); } } } diff --git a/packages/reown_core/lib/store/i_generic_store.dart b/packages/reown_core/lib/store/i_generic_store.dart index 112d235..e5e2d17 100644 --- a/packages/reown_core/lib/store/i_generic_store.dart +++ b/packages/reown_core/lib/store/i_generic_store.dart @@ -24,6 +24,10 @@ abstract class IGenericStore { /// The event contains the key and the value of type [T]. abstract final Event> onDelete; + /// Emitted when a key is deleted from the store because of an error + /// The event contains the key and the error description. + abstract final Event> onError; + /// Emitted when the store is persisted to storage. /// This event can be used as a catchall for any creations, updates, or deletions. abstract final Event onSync; diff --git a/packages/reown_core/lib/store/store_models.dart b/packages/reown_core/lib/store/store_models.dart index 98bd956..025f995 100644 --- a/packages/reown_core/lib/store/store_models.dart +++ b/packages/reown_core/lib/store/store_models.dart @@ -30,6 +30,16 @@ class StoreDeleteEvent extends EventArgs { ); } +class StoreErrorEvent extends EventArgs { + final String key; + final T error; + + StoreErrorEvent( + this.key, + this.error, + ); +} + class StoreSyncEvent extends EventArgs { StoreSyncEvent(); } diff --git a/packages/reown_core/lib/version.dart b/packages/reown_core/lib/version.dart index bb83cf9..d2e0426 100644 --- a/packages/reown_core/lib/version.dart +++ b/packages/reown_core/lib/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '1.1.0-beta01'; +const packageVersion = '1.1.0-beta02'; diff --git a/packages/reown_core/pubspec.yaml b/packages/reown_core/pubspec.yaml index 71a0c02..4b29008 100644 --- a/packages/reown_core/pubspec.yaml +++ b/packages/reown_core/pubspec.yaml @@ -1,6 +1,6 @@ name: reown_core description: "Reown is the onchain UX platform that provides toolkits built on top of the WalletConnect Network" -version: 1.1.0-beta01 +version: 1.1.0-beta02 homepage: https://github.com/reown-com/reown_flutter repository: https://github.com/reown-com/reown_flutter/tree/master/packages/reown_core diff --git a/packages/reown_core/test/shared/shared_test_utils.mocks.dart b/packages/reown_core/test/shared/shared_test_utils.mocks.dart index 941fe2c..7a5085e 100644 --- a/packages/reown_core/test/shared/shared_test_utils.mocks.dart +++ b/packages/reown_core/test/shared/shared_test_utils.mocks.dart @@ -935,6 +935,16 @@ class MockMessageTracker extends _i1.Mock implements _i25.MessageTracker { ), ) as _i8.Event<_i26.StoreDeleteEvent>>); + @override + _i8.Event<_i26.StoreErrorEvent>> get onError => + (super.noSuchMethod( + Invocation.getter(#onError), + returnValue: _FakeEvent_8<_i26.StoreErrorEvent>>( + this, + Invocation.getter(#onError), + ), + ) as _i8.Event<_i26.StoreErrorEvent>>); + @override _i8.Event<_i26.StoreSyncEvent> get onSync => (super.noSuchMethod( Invocation.getter(#onSync), diff --git a/packages/reown_core/test/store_test.dart b/packages/reown_core/test/store_test.dart index f6cbf17..e6d83d0 100644 --- a/packages/reown_core/test/store_test.dart +++ b/packages/reown_core/test/store_test.dart @@ -2,19 +2,15 @@ import 'dart:async'; import 'package:flutter_test/flutter_test.dart'; import 'package:reown_core/pairing/i_json_rpc_history.dart'; -import 'package:reown_core/pairing/i_pairing_store.dart'; import 'package:reown_core/pairing/json_rpc_history.dart'; import 'package:reown_core/pairing/pairing_store.dart'; -import 'package:reown_core/pairing/utils/pairing_models.dart'; import 'package:reown_core/relay_client/i_message_tracker.dart'; import 'package:reown_core/relay_client/message_tracker.dart'; -import 'package:reown_core/relay_client/relay_client_models.dart'; +import 'package:reown_core/reown_core.dart'; import 'package:reown_core/store/generic_store.dart'; import 'package:reown_core/store/i_generic_store.dart'; import 'package:reown_core/store/i_store.dart'; import 'package:reown_core/store/shared_prefs_store.dart'; -import 'package:reown_core/utils/constants.dart'; -import 'package:reown_core/utils/utils.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); @@ -153,15 +149,22 @@ void main() { // Case 4: Storage data is invalid // print('case 4'); + Completer onErrorCompleter = Completer(); genericStore = GenericStore( storage: store, context: 'invalid', version: 'swag', fromJson: (value) => value as String, ); + genericStore.onError.subscribe((args) { + expect(args, isA>()); + onErrorCompleter.complete(); + }); await genericStore.init(); + await onErrorCompleter.future; expect(store.get('invalid'), {'version': 'swag'}); + expect(genericStore.has('key'), false); expect(genericStore.get('key') == null, true); }); }); diff --git a/packages/reown_sign/CHANGELOG.md b/packages/reown_sign/CHANGELOG.md index 735866b..3e1ff68 100644 --- a/packages/reown_sign/CHANGELOG.md +++ b/packages/reown_sign/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.1.0-beta01 +## 1.1.0-beta02 - Update to flutter version 3.24.5 - Dependency updates diff --git a/packages/reown_sign/lib/sign_engine.dart b/packages/reown_sign/lib/sign_engine.dart index bdb9c27..48b8046 100644 --- a/packages/reown_sign/lib/sign_engine.dart +++ b/packages/reown_sign/lib/sign_engine.dart @@ -847,7 +847,7 @@ class ReownSign implements IReownSign { // Subscribe to all the sessions for (final SessionData session in sessions.getAll()) { - core.logger.i('Resubscribing to session topic: ${session.topic}'); + core.logger.i('[$runtimeType] Resubscribe to session: ${session.topic}'); await core.relayClient.subscribe(topic: session.topic); } } diff --git a/packages/reown_sign/lib/version.dart b/packages/reown_sign/lib/version.dart index bb83cf9..d2e0426 100644 --- a/packages/reown_sign/lib/version.dart +++ b/packages/reown_sign/lib/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '1.1.0-beta01'; +const packageVersion = '1.1.0-beta02'; diff --git a/packages/reown_sign/pubspec.yaml b/packages/reown_sign/pubspec.yaml index 1f931df..91cbe8d 100644 --- a/packages/reown_sign/pubspec.yaml +++ b/packages/reown_sign/pubspec.yaml @@ -1,6 +1,6 @@ name: reown_sign description: "Reown is the onchain UX platform that provides toolkits built on top of the WalletConnect Network" -version: 1.1.0-beta01 +version: 1.1.0-beta02 homepage: https://github.com/reown-com/reown_flutter repository: https://github.com/reown-com/reown_flutter/tree/master/packages/reown_sign @@ -15,9 +15,9 @@ dependencies: freezed_annotation: ^2.4.4 http: ^1.2.2 pointycastle: ^3.9.1 - reown_core: ^1.1.0-beta01 - # reown_core: - # path: ../reown_core/ + # reown_core: ^1.1.0-beta01 + reown_core: + path: ../reown_core/ web3dart: ^2.7.3 dev_dependencies: diff --git a/packages/reown_sign/test/shared/shared_test_utils.mocks.dart b/packages/reown_sign/test/shared/shared_test_utils.mocks.dart index 234edd8..32edf5f 100644 --- a/packages/reown_sign/test/shared/shared_test_utils.mocks.dart +++ b/packages/reown_sign/test/shared/shared_test_utils.mocks.dart @@ -935,6 +935,16 @@ class MockMessageTracker extends _i1.Mock implements _i25.MessageTracker { ), ) as _i8.Event<_i26.StoreDeleteEvent>>); + @override + _i8.Event<_i26.StoreErrorEvent>> get onError => + (super.noSuchMethod( + Invocation.getter(#onError), + returnValue: _FakeEvent_8<_i26.StoreErrorEvent>>( + this, + Invocation.getter(#onError), + ), + ) as _i8.Event<_i26.StoreErrorEvent>>); + @override _i8.Event<_i26.StoreSyncEvent> get onSync => (super.noSuchMethod( Invocation.getter(#onSync), diff --git a/packages/reown_walletkit/CHANGELOG.md b/packages/reown_walletkit/CHANGELOG.md index 65ce4bc..c2e5e85 100644 --- a/packages/reown_walletkit/CHANGELOG.md +++ b/packages/reown_walletkit/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.1.0-beta01 +## 1.1.0-beta02 - Update to flutter version 3.24.5 - Dependency updates diff --git a/packages/reown_walletkit/example/lib/dependencies/chain_services/evm_service.dart b/packages/reown_walletkit/example/lib/dependencies/chain_services/evm_service.dart index cf9f575..9f40c5b 100644 --- a/packages/reown_walletkit/example/lib/dependencies/chain_services/evm_service.dart +++ b/packages/reown_walletkit/example/lib/dependencies/chain_services/evm_service.dart @@ -94,7 +94,7 @@ class EVMService { // personal_sign is handled using onSessionRequest event for demo purposes Future personalSign(String topic, dynamic parameters) async { debugPrint('[SampleWallet] personalSign request: $parameters'); - final SessionRequest pRequest = _walletKit.pendingRequests.getAll().last; + final pRequest = _walletKit.pendingRequests.getAll().last; final address = EthUtils.getAddressFromSessionRequest(pRequest); final data = EthUtils.getDataFromSessionRequest(pRequest); final message = EthUtils.getUtf8Message(data.toString()); @@ -154,6 +154,7 @@ class EVMService { Future ethSign(String topic, dynamic parameters) async { debugPrint('[SampleWallet] ethSign request: $parameters'); final pRequest = _walletKit.pendingRequests.getAll().last; + final address = EthUtils.getAddressFromSessionRequest(pRequest); final data = EthUtils.getDataFromSessionRequest(pRequest); final message = EthUtils.getUtf8Message(data.toString()); var response = JsonRpcResponse( @@ -163,6 +164,9 @@ class EVMService { if (await MethodsUtils.requestApproval( message, + method: pRequest.method, + chainId: pRequest.chainId, + address: address, transportType: pRequest.transportType.name, verifyContext: pRequest.verifyContext, )) { @@ -208,6 +212,7 @@ class EVMService { Future ethSignTypedData(String topic, dynamic parameters) async { debugPrint('[SampleWallet] ethSignTypedData request: $parameters'); final pRequest = _walletKit.pendingRequests.getAll().last; + final address = EthUtils.getAddressFromSessionRequest(pRequest); final data = EthUtils.getDataFromSessionRequest(pRequest); var response = JsonRpcResponse( id: pRequest.id, @@ -216,6 +221,9 @@ class EVMService { if (await MethodsUtils.requestApproval( data, + method: pRequest.method, + chainId: pRequest.chainId, + address: address, transportType: pRequest.transportType.name, verifyContext: pRequest.verifyContext, )) { @@ -257,6 +265,7 @@ class EVMService { Future ethSignTypedDataV4(String topic, dynamic parameters) async { debugPrint('[SampleWallet] ethSignTypedDataV4 request: $parameters'); final pRequest = _walletKit.pendingRequests.getAll().last; + final address = EthUtils.getAddressFromSessionRequest(pRequest); final data = EthUtils.getDataFromSessionRequest(pRequest); var response = JsonRpcResponse( id: pRequest.id, @@ -265,6 +274,9 @@ class EVMService { if (await MethodsUtils.requestApproval( data, + method: pRequest.method, + chainId: pRequest.chainId, + address: address, transportType: pRequest.transportType.name, verifyContext: pRequest.verifyContext, )) { @@ -305,6 +317,7 @@ class EVMService { final data = EthUtils.getTransactionFromSessionRequest(pRequest); if (data == null) return; + final address = EthUtils.getAddressFromSessionRequest(pRequest); var response = JsonRpcResponse( id: pRequest.id, @@ -315,6 +328,7 @@ class EVMService { data, method: pRequest.method, chainId: pRequest.chainId, + address: address, transportType: pRequest.transportType.name, verifyContext: pRequest.verifyContext, ); @@ -505,6 +519,7 @@ class EVMService { String? title, String? method, String? chainId, + String? address, VerifyContext? verifyContext, required String transportType, }) async { @@ -539,6 +554,7 @@ class EVMService { title: title, method: method, chainId: chainId, + address: address, transportType: transportType, verifyContext: verifyContext, extraModels: [ diff --git a/packages/reown_walletkit/example/lib/pages/settings_page.dart b/packages/reown_walletkit/example/lib/pages/settings_page.dart index 7aa98b1..831095b 100644 --- a/packages/reown_walletkit/example/lib/pages/settings_page.dart +++ b/packages/reown_walletkit/example/lib/pages/settings_page.dart @@ -187,7 +187,10 @@ class _EVMAccountsState extends State<_EVMAccounts> { GetIt.I .get(instanceName: _selectedChain!.chainId) .getBalance(address: chainKeys[_currentPage].address) - .then((value) => setState(() => _balance = value)); + .then((value) { + if (!mounted) return; + setState(() => _balance = value); + }); } @override @@ -270,7 +273,7 @@ class _EVMAccountsState extends State<_EVMAccounts> { children: [ Expanded( child: Text( - '${_balance.toStringAsFixed(3)} ETH', + '${_balance.toStringAsFixed(4)} ETH', style: TextStyle( fontSize: 15.0, fontWeight: FontWeight.bold, @@ -398,7 +401,10 @@ class _SolanaAccountsState extends State<_SolanaAccounts> { GetIt.I .get(instanceName: _selectedChain!.chainId) .getBalance(address: chainKeys.first.address) - .then((value) => setState(() => _balance = value)); + .then((value) { + if (!mounted) return; + setState(() => _balance = value); + }); } catch (e) { debugPrint(e.toString()); } diff --git a/packages/reown_walletkit/example/lib/utils/methods_utils.dart b/packages/reown_walletkit/example/lib/utils/methods_utils.dart index f129d25..abd1b13 100644 --- a/packages/reown_walletkit/example/lib/utils/methods_utils.dart +++ b/packages/reown_walletkit/example/lib/utils/methods_utils.dart @@ -96,7 +96,7 @@ class MethodsUtils { closeAfter: success ? 3 : 0, widget: Container( color: Colors.white, - height: 210.0, + height: 280.0, width: double.infinity, padding: const EdgeInsets.all(20.0), child: Column( diff --git a/packages/reown_walletkit/lib/version.dart b/packages/reown_walletkit/lib/version.dart index bb83cf9..d2e0426 100644 --- a/packages/reown_walletkit/lib/version.dart +++ b/packages/reown_walletkit/lib/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '1.1.0-beta01'; +const packageVersion = '1.1.0-beta02'; diff --git a/packages/reown_walletkit/pubspec.yaml b/packages/reown_walletkit/pubspec.yaml index e4aef39..a171a15 100644 --- a/packages/reown_walletkit/pubspec.yaml +++ b/packages/reown_walletkit/pubspec.yaml @@ -1,6 +1,6 @@ name: reown_walletkit description: "Reown is the onchain UX platform that provides toolkits built on top of the WalletConnect Network" -version: 1.1.0-beta01 +version: 1.1.0-beta02 homepage: https://github.com/reown-com/reown_flutter repository: https://github.com/reown-com/reown_flutter/tree/master/packages/reown_walletkit documentation: https://docs.reown.com/walletkit/flutter/installation @@ -12,12 +12,12 @@ dependencies: event: ^3.1.0 flutter: sdk: flutter - reown_core: ^1.1.0-beta01 - # reown_core: - # path: ../reown_core/ - reown_sign: ^1.1.0-beta01 - # reown_sign: - # path: ../reown_sign/ + # reown_core: ^1.1.0-beta01 + reown_core: + path: ../reown_core/ + # reown_sign: ^1.1.0-beta01 + reown_sign: + path: ../reown_sign/ dev_dependencies: build_runner: ^2.4.13 @@ -30,7 +30,6 @@ dev_dependencies: logger: ^2.5.0 mockito: ^5.4.4 package_info_plus: ^8.1.2 - # reown_appkit: ^1.0.2 reown_appkit: path: ../reown_appkit/ diff --git a/packages/reown_walletkit/test/shared/shared_test_utils.mocks.dart b/packages/reown_walletkit/test/shared/shared_test_utils.mocks.dart index 7f5c83e..33c93b6 100644 --- a/packages/reown_walletkit/test/shared/shared_test_utils.mocks.dart +++ b/packages/reown_walletkit/test/shared/shared_test_utils.mocks.dart @@ -935,6 +935,16 @@ class MockMessageTracker extends _i1.Mock implements _i25.MessageTracker { ), ) as _i8.Event<_i26.StoreDeleteEvent>>); + @override + _i8.Event<_i26.StoreErrorEvent>> get onError => + (super.noSuchMethod( + Invocation.getter(#onError), + returnValue: _FakeEvent_8<_i26.StoreErrorEvent>>( + this, + Invocation.getter(#onError), + ), + ) as _i8.Event<_i26.StoreErrorEvent>>); + @override _i8.Event<_i26.StoreSyncEvent> get onSync => (super.noSuchMethod( Invocation.getter(#onSync),