web3_webview 1.0.14
web3_webview: ^1.0.14 copied to clipboard
web3_webview is a powerful bridge between a DApp running inside a WebView and your Flutter application, enabling secure and seamless two-way communication between them
1.0.14 #
- Fix: static analysis 50/50 – add
lib/utils/address_utils.dart:1withtoChecksumHex()/toHex()usingeip55+dynamicfallback to handleweb3dart2.7.3 (hexEip55/hex) and 3.0.3 (eip55With0x/with0x); replacehexEip55inlib/ethereum/ethereum_provider.dart:141,186andlib/signer/private_key_signer.dart:48, replacehexinlib/signing/signing_handler.dart:53; addeip55: ^1.0.2dep and constrainweb3dart: ">=2.7.3 <3.0.0"for pana 150/160 - Fix: lint
curly_braces_in_flow_control_structuresinlib/ethereum/wallet_dialog_service.dart:206,1117,1140,1161anddart format30 files
1.0.13 #
- Feature: fully custom UI –
WalletDialogBuilders(lib/ethereum/wallet_dialog_builders.dart:12) withconnect/sign/transaction/switchNetwork/addNetworkbuilders. PassWeb3WalletConfig(dialogBuilders: WalletDialogBuilders(connect: (ctx, {address, host, appName, controller, theme}) => showDialog(...)))orWalletDialogService.instance.setBuilders(...);nullbuilder falls back to premium default. Example 4th tab “Custom” inexample/lib/main.dart:56showsAlertDialogbranding. - Docs:
README.mdnew Custom UI section,pubspec.yamlbump to1.0.13
1.0.12 #
- UI: premium redesign of confirm dialogs –
WalletDialogThemeindigo#6366F1, 20 radius, 16 card, origin chip with avatar, hero amount,FilledButton52h/14 radius;BottomSheetDialog320ms, barrier 0.42, rounded 20 - UI: auto dark mode –
WalletDialogTheme.dark()(bg #0F172A,surface #1E293B,border #334155,text #F1F5F9),Web3WalletConfig(dialogTheme:, darkDialogTheme:)auto-switches viaTheme.of(context).brightness; warning/success adapt for dark - Example:
example/lib/main.dartnowThemeModetoggle in AppBar, passeslight/darkthemes to all 3 WebViews for live preview
1.0.11 #
- Feature: make
privateKeyoptional – read-only mode when no signer (Web3WalletConfig()withoutprivateKey/signer).eth_call,eth_getBalance,eth_blockNumber,eth_estimateGas,wallet_switchEthereumChainetc. work without key; signing (personal_sign,eth_sign*,eth_sendTransaction,eth_requestAccounts) throws4100per EIP-1193 - Feature: add
Web3Signerabstraction (lib/signer/web3_signer.dart:14) +PrivateKeySigner(lib/signer/private_key_signer.dart:11). PassWeb3WalletConfig(signer: MySigner())for WalletConnect / Secure Enclave / biometrics –signertakes precedence overprivateKey - Fix:
EthereumProvider.initializelib/ethereum/ethereum_provider.dart:63nowString? privateKey, Web3Signer? signer– validates only if provided;Web3WebView._initProviderlib/web3_webview_eip1193.dart:825no longer showsinitErrorwhen key is omitted - Fix:
eth_callnow usesmakeRPCCall('eth_call')directly (was incorrectly routing throughTransactionHandler.handleTransaction);net_versionnow returns decimal string per EIP-1474 - Docs: update
README.md(architecture with Signer, 3 quick-start modes,Web3WalletConfigtable, Signer & Read-only section),example/lib/main.dart(3 demos), bumppubspec.yamlto1.0.11
1.0.10 #
- Docs: fix
libraryconflict (web3_webviewvsweb3_webview_eip1193), add dartdoc for 80% coverage (230/287), addexample/(example/lib/main.dart) - Analysis: replace
withOpacitywithwithValues, fixBuildContextasync gaps,use_super_parameters,unnecessary_import,prefer_const_constructors; removeunnecessary_library_name, addanalysis_optionstweaks;dart formatclean - Deps: widen
web3dartto>=2.7.3 <4.0.0(compatible with 3.0.3), keephex, removeclipboard/pointycastle, bumpflutter_lintsto^6.0.0, bump version to1.0.10
1.0.9 #
- Security: validate
privateKey(64 hex,0xoptional) inEthereumProvider.initializeandWeb3WebView._initProvider; show inline initError instead ofEthPrivateKey.fromHex('')crash; addWalletException.codewith EIP-1193-32601/-32602/4001/4200 - Security: XSS-safe JS injection via
jsonEncodeinProviderScriptGenerator(chainId/accounts/info),Web3Result.sendError/sendResult/sendResults/setAddress, andEthereumProvider._emit/_updateProviderScript - Security:
onPermissionRequestdefaultDENY(wasGRANTall);AppUtils.copyToClipboardviaflutter/serviceswithout logging sensitive text - Bridge:
Web3WebView(ethereumRequest) no longer swallows errors – mapsWalletExceptionto{code,message}thrown to JS, invokesonErrorwithJsonRpcMethod.tryFromString, correctly surfaces4200for unknown methods - Transaction:
TransactionHandler.handleTransaction(waitForConfirmation:false)returns hash immediately (EIP-1193), fire-and-forget polling;estimateGasbuffered +20% with BigInt arithmetic (notoDoubleloss) - Signing: fix
getEncryptionPublicKeyprecedence and 65-byte0x04handling; EIP-712bool/address/bytesNnow 32-byte ABI padded - Lifecycle:
Web3WebViewadds_providerInitialized/_initError,_initProviderasync,dispose()closesWeb3Client+ClientviaEthereumProvider.dispose;LoadingHelperrefCount +whenComplete; removeclipboard/pointycastledeps, keephex - Docs: rewrite
README.md(architecture, RPC table, error codes, security), updateSECURITY.md(supported1.0.x), bumppubspec.yamlto1.0.9
1.0.8 #
- Fix sign message, dialog,...
- Fix UI/UX
1.0.7 #
- Fix bug
1.0.6 #
- Fix bug
1.0.5 #
- Fix bug
1.0.4 #
- FIx UI
1.0.3 #
- Update README.md
1.0.2 #
- Fix bug
1.0.1 #
- Fix bug
1.0.0 #
- Big update
- Using ethers.js [6.7.0] instead of web3.js
- Dialog for connect wallet
- Dialog for approve transaction
- Dialog for sign transaction
- Dialog for sign message
0.0.3 #
- Fix bug custom provider
0.0.2 #
- Remove decimal, fix required version of intl
0.0.1 #
- init plugin