web3_webview 1.0.11
web3_webview: ^1.0.11 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.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