Skip to content

Commit d64ae97

Browse files
author
Peter Anyaogu
committed
refactor(dependencies): update web3_signers to hosted version and clean up code
- Replace local path dependency for web3_signers with hosted version ^0.2.0 - Remove unused U8a extension and redundant imports - Update module provider to use wallet for module installation - Fix keypair parameter in WebauthnValidator initialization - Update README for clarity and consistency
1 parent 8a5a5c6 commit d64ae97

File tree

10 files changed

+302
-116
lines changed

10 files changed

+302
-116
lines changed

README.md

Lines changed: 208 additions & 54 deletions
Large diffs are not rendered by default.

example/lib/providers/module_provider.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class ModuleProvider extends ChangeNotifier {
3939
socialRecovery = SocialRecovery(_wallet, threshold, owners);
4040
ownableExecutor = OwnableExecutor(_wallet, _guardian1.address);
4141
if (keyPair != null) {
42-
webauthnValidator = WebauthnValidator(_wallet, BigInt.one, keyPair);
42+
webauthnValidator = WebauthnValidator(_wallet, BigInt.one, {keyPair});
4343
}
4444
}
4545

@@ -115,12 +115,14 @@ class ModuleProvider extends ChangeNotifier {
115115

116116
try {
117117
log('Installing: ${module.name}');
118-
final tx = await module.install();
118+
final tx = await _wallet.installModule(
119+
module.type, module.address, module.getInitData());
120+
final receipt = await tx.wait();
119121
log('Installed: ${module.name}');
120122

121123
await reloadModules();
122124

123-
return (true, tx, null);
125+
return (true, receipt, null);
124126
} catch (e) {
125127
String errorMessage = parseUserOperationError(e);
126128

@@ -139,12 +141,14 @@ class ModuleProvider extends ChangeNotifier {
139141

140142
try {
141143
log('Uninstalling: ${module.name}');
142-
final tx = await module.uninstall();
144+
final tx = await _wallet.uninstallModule(
145+
module.type, module.address, await module.getDeInitData());
146+
final receipt = await tx.wait();
143147
log('Uninstalled: ${module.name}');
144148

145149
await reloadModules();
146150

147-
return (true, tx, null);
151+
return (true, receipt, null);
148152
} catch (e) {
149153
String errorMessage = parseUserOperationError(e);
150154
return (false, null, ModuleInstallationException(errorMessage, e));

example/lib/providers/wallet_provider.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ class WalletProvider extends ChangeNotifier {
204204
attestersThreshold: 1,
205205
validators: List.from([
206206
ModuleInit(WebauthnValidator.getAddress(),
207-
WebauthnValidator.parseInitData(BigInt.one, keypair))
207+
WebauthnValidator.parseInitData(BigInt.one, {keypair}))
208208
]));
209209
_keyPair = keypair;
210210
break;

example/pubspec.lock

Lines changed: 75 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ packages:
2929
dependency: transitive
3030
description:
3131
name: asn1lib
32-
sha256: "1c296cd268f486cabcc3930e9b93a8133169305f18d722916e675959a88f6d2c"
32+
sha256: "0511d6be23b007e95105ae023db599aea731df604608978dada7f9faf2637623"
3333
url: "https://pub.dev"
3434
source: hosted
35-
version: "1.5.9"
35+
version: "1.6.4"
3636
async:
3737
dependency: transitive
3838
description:
@@ -45,10 +45,10 @@ packages:
4545
dependency: transitive
4646
description:
4747
name: blockchain_utils
48-
sha256: "1e4f30b98d92f7ccf2eda009a23b53871a1c9b8b6dfa00bb1eb17ec00ae5eeeb"
48+
sha256: fbddd2a7f1849d2244a35bf996b6fb00bf6bd557f0e13aed65ba0c16ad133cb7
4949
url: "https://pub.dev"
5050
source: hosted
51-
version: "3.6.0"
51+
version: "5.0.0"
5252
boolean_selector:
5353
dependency: transitive
5454
description:
@@ -137,6 +137,22 @@ packages:
137137
url: "https://pub.dev"
138138
source: hosted
139139
version: "1.0.8"
140+
device_info_plus:
141+
dependency: transitive
142+
description:
143+
name: device_info_plus
144+
sha256: "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da"
145+
url: "https://pub.dev"
146+
source: hosted
147+
version: "11.3.0"
148+
device_info_plus_platform_interface:
149+
dependency: transitive
150+
description:
151+
name: device_info_plus_platform_interface
152+
sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2"
153+
url: "https://pub.dev"
154+
source: hosted
155+
version: "7.0.2"
140156
eip1559:
141157
dependency: transitive
142158
description:
@@ -284,10 +300,10 @@ packages:
284300
dependency: "direct main"
285301
description:
286302
name: http
287-
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
303+
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
288304
url: "https://pub.dev"
289305
source: hosted
290-
version: "1.3.0"
306+
version: "1.4.0"
291307
http_parser:
292308
dependency: transitive
293309
description:
@@ -392,30 +408,54 @@ packages:
392408
url: "https://pub.dev"
393409
source: hosted
394410
version: "1.0.0"
411+
package_info_plus:
412+
dependency: transitive
413+
description:
414+
name: package_info_plus
415+
sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191"
416+
url: "https://pub.dev"
417+
source: hosted
418+
version: "8.3.0"
419+
package_info_plus_platform_interface:
420+
dependency: transitive
421+
description:
422+
name: package_info_plus_platform_interface
423+
sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
424+
url: "https://pub.dev"
425+
source: hosted
426+
version: "3.2.0"
395427
passkeys:
396428
dependency: transitive
397429
description:
398430
name: passkeys
399-
sha256: "30c515d467f02ee3e70824f3ecdbf46c57286f8260bf53f453a99d54a83b0d46"
431+
sha256: "5ebfc2f28c203e47992a64bad72f4c4632690317d20175391e23f3c8f339c232"
400432
url: "https://pub.dev"
401433
source: hosted
402-
version: "2.7.1"
434+
version: "2.9.0"
403435
passkeys_android:
404436
dependency: transitive
405437
description:
406438
name: passkeys_android
407-
sha256: "3e6f9e1a529cf1c74e0ea3de268e639923e6bba2eb41e96ac67c36dbfd78ab3d"
439+
sha256: "112d23b6c5a01c00c5e9e63a2d2633368546c51f0bf3a061691b8b0d77913435"
408440
url: "https://pub.dev"
409441
source: hosted
410-
version: "2.7.0"
442+
version: "2.7.1"
443+
passkeys_doctor:
444+
dependency: transitive
445+
description:
446+
name: passkeys_doctor
447+
sha256: bfd0b3fe7de6b742ecaacff51289ae6f9dcc80d55eb6ddf39622b379182607ab
448+
url: "https://pub.dev"
449+
source: hosted
450+
version: "1.0.0"
411451
passkeys_ios:
412452
dependency: transitive
413453
description:
414454
name: passkeys_ios
415-
sha256: bd3c325fa256b608d9796f7cf5019f5b9ddde2563ed6a317b6ca8ee66517475a
455+
sha256: cb5bfa4c739dbf6c2cae0d2c20642a1ed5226666d424a442166a91a1b4a204f4
416456
url: "https://pub.dev"
417457
source: hosted
418-
version: "2.6.0"
458+
version: "2.6.1"
419459
passkeys_platform_interface:
420460
dependency: transitive
421461
description:
@@ -428,10 +468,10 @@ packages:
428468
dependency: transitive
429469
description:
430470
name: passkeys_web
431-
sha256: "57d9e6cfcae41013d039cb483c81096ecd3a5735f4ce142b6966fbcba393356d"
471+
sha256: "98d28223292738a9fbb24db33cdba00609675d54521694fdde45b7e5caf59b19"
432472
url: "https://pub.dev"
433473
source: hosted
434-
version: "2.5.1"
474+
version: "2.6.0"
435475
path:
436476
dependency: transitive
437477
description:
@@ -646,7 +686,7 @@ packages:
646686
source: hosted
647687
version: "1.12.1"
648688
stream_channel:
649-
dependency: "direct overridden"
689+
dependency: transitive
650690
description:
651691
name: stream_channel
652692
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
@@ -766,9 +806,10 @@ packages:
766806
web3_signers:
767807
dependency: "direct main"
768808
description:
769-
path: "../../web3-signers"
770-
relative: true
771-
source: path
809+
name: web3_signers
810+
sha256: b56641a728639ef650ce146089f31cb9188c6d41f2be70848563c3de22eeddba
811+
url: "https://pub.dev"
812+
source: hosted
772813
version: "0.2.0"
773814
web3dart:
774815
dependency: "direct main"
@@ -778,6 +819,22 @@ packages:
778819
url: "https://pub.dev"
779820
source: hosted
780821
version: "2.7.3"
822+
win32:
823+
dependency: transitive
824+
description:
825+
name: win32
826+
sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba"
827+
url: "https://pub.dev"
828+
source: hosted
829+
version: "5.13.0"
830+
win32_registry:
831+
dependency: transitive
832+
description:
833+
name: win32_registry
834+
sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852"
835+
url: "https://pub.dev"
836+
source: hosted
837+
version: "1.1.5"
781838
xdg_directories:
782839
dependency: transitive
783840
description:

example/pubspec.yaml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ dependencies:
2525
path: ../
2626
variance_modules:
2727
path: ../../variance-modules
28-
web3_signers:
29-
path: ../../web3-signers
28+
web3_signers: ^0.2.0
3029
http: ^1.3.0
3130
flutter_dotenv: ^5.2.1
3231

@@ -41,10 +40,3 @@ flutter:
4140
assets:
4241
- assets/images/
4342
- .env
44-
45-
dependency_overrides:
46-
stream_channel: ^2.1.2
47-
variance_dart:
48-
path: ../
49-
web3_signers:
50-
path: ../../web3-signers

lib/src/4337/factory.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ class SmartWalletFactory implements SmartWalletFactoryBase {
333333
module: safeModule,
334334
initializer: initializer,
335335
),
336-
null,
336+
safeModule,
337337
);
338338
}
339339
}

lib/src/common/extensions.dart

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -147,21 +147,3 @@ extension StringExtension on String? {
147147
return true;
148148
}
149149
}
150-
151-
extension U8a on Uint8List {
152-
Uint8List padToNBytes(int n, {String direction = 'left'}) {
153-
if (length > n) {
154-
throw ArgumentError('Uint8List length exceeds $n bytes.');
155-
}
156-
if (length == n) {
157-
return this;
158-
}
159-
final padded = Uint8List(n);
160-
if (direction == 'right') {
161-
padded.setRange(0, length, this);
162-
} else {
163-
padded.setRange(n - length, n, this);
164-
}
165-
return padded;
166-
}
167-
}

lib/src/interfaces/interfaces.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
import 'dart:typed_data';
2-
1+
import 'package:flutter/foundation.dart';
32
import 'package:eip1559/eip1559.dart';
4-
import 'package:meta/meta.dart';
5-
import 'package:web3_signers/web3_signers.dart'
6-
show MSI, PassKeyPair, PassKeySigner, Uint256;
3+
import 'package:web3_signers/web3_signers.dart' show MSI, PassKeyPair, Uint256;
74
import 'package:web3dart/web3dart.dart';
85

96
import '../../variance_dart.dart'

pubspec.lock

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -707,9 +707,10 @@ packages:
707707
web3_signers:
708708
dependency: "direct main"
709709
description:
710-
path: "../web3-signers"
711-
relative: true
712-
source: path
710+
name: web3_signers
711+
sha256: b56641a728639ef650ce146089f31cb9188c6d41f2be70848563c3de22eeddba
712+
url: "https://pub.dev"
713+
source: hosted
713714
version: "0.2.0"
714715
web3dart:
715716
dependency: "direct main"

pubspec.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ dependencies:
2020
sdk: flutter
2121
web3dart: ^2.7.3
2222
http: ^1.4.0
23-
web3_signers:
24-
path: ../web3-signers
23+
web3_signers: ^0.2.0
2524
eip1559: ^0.6.2
2625

2726
dev_dependencies:

0 commit comments

Comments
 (0)