All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Released with 1.0.0-beta.37 code base.
websocketdependency fixed (#2971, #2976)requestOptionsadded toWebsocketProvider(#2979)- Node >= v8.0.0 support (#2938)
- localStorage support detection added (#3031)
- getNetworkType method extended with Görli testnet (#3095)
- supportsSubscriptions method added to providers (#3116)
- Add
eth.getChainIdmethod (#3113) - Minified file added to web3 package (#3131)
- The transaction confirmation workflow can now be configured (#3130)
- Additional parameters for accounts.signTransaction added (docs) (#3141)
- Emit
connectedevent on subscription creation (#3028) - TypeScript type definitions added for all modules (#3132)
- Bloom filters added to web3.utils (#3137)
- Fix allow
0as a validfromBlockortoBlockfilter param (#1100) - Fix randomHex returning inconsistent string lengths (#1490)
- Fix make isBN minification safe (#1777)
- Fix incorrect references to BigNumber in utils.fromWei and utils.toWei error messages (#2468)
- Fix error incorrectly thrown when receipt.status is
null(#2183) - Fix incorrectly populating chainId param with
net_versionwhen signing txs (#2378) - regeneratorRuntime error fixed (#3058)
- Fix accessing event.name where event is undefined (#3014)
- fixed Web3Utils toHex() for Buffer input (#3021)
- Fix bubbling up tx signing errors (#2063, #3105)
- HttpProvider: CORS issue with Firefox and Safari (#2978)
- Ensure the immutability of the
txobject passed to functionsignTransaction(#2190) - Gas check fixed (#2381)
- Signing issues #1998, #2033, and #1074 fixed (#3125)
- Fix hexToNumber and hexToNumberString prefix validation (#3086)
- The receipt will now returned on a EVM error (this got removed on beta.18) (#3129)
- Fixes transaction confirmations with the HttpProvider (#3140)
- Fix perfect gas usage causes tx to error (#3175)
- Fix regenerator runtime error in web3.min.js (#3155)
- Fix TS types for eth.subscribe syncing, newBlockHeaders, pendingTransactions (#3159)
- Improve web3-eth-abi decodeParameters error message (#3134)
- Fix npm installation error for scrypt-shim and websocket (#3210)
eth_requestAccountsasrequestAccountsadded to web3-eth package (#3219)sha3RawandsoliditySha3Rawadded to web3-utils package (#3226)eth_getProofasgetProofadded to web3-eth package (#3220)BNandBigNumberobjects are now supported by theabi.encodeParameter(s)method (#3238)getPendingTransactionsadded to web3-eth package (#3239)- Revert instruction handling added which can get activated with the
handleRevertmodule property (#3248) - The
receiptdoes now exist as property on the error object for transaction related errors (#3259) internalTypeadded toAbiInputTS interface inweb3-utils(#3279)- Agent option added to the
HttpProvideroptions (#2980)
eth-libdependency updated (0.2.7 => ^0.2.8) (#3242)
- Fix crash when decoding events with identical signatures, differently indexed args (#3272)
- Fix user supplied callback not fired in eth.accounts.signTransaction (#3283)
- Fix minified bundle (#3256)
defaultBlockproperty handling fixed (#3247)clearSubscriptionsdoes no longer throw an error if no running subscriptions do exist (#3246)- callback type definition for
Accounts.signTransactionfixed (#3280) - fix: export bloom functions on the index.js
- Prefer receipt status to code availability on contract deployment (#3298)
- Görli testnet ENS registry added to the known registries (#3338)
- ENS registry addresses updated (#3353, https://medium.com/the-ethereum-name-service/ens-registry-migration-bug-fix-new-features-64379193a5a)
- Add revert reason support to sendSignedTransaction (#3345)
- ENS module extended with the possibility to add a custom registry (#3301)
- Missing ENS Registry methods and Resolver.supportsInterface method added (#3325)
- Add optional gas type to AbiItem typescript definitions (for ABIs generated by Vyper) (#3437)
- Add görli testnet ENS registry to the known registries (#3252)
- Add auto-reconnect option for Websockets (#3092, #1085, #1391, #1558, #1852, #1646)
- Ensure '0x' prefix is existing for Accounts.sign and Accounts.privateKeyToAccount (#3041)
- Repository cleanup (#3443)
- Removed old
docs/_buildfolder - Removed old bower and meteor artifacts
- Moved logo assets to own folder
- Moved github assets to own folder
- Remove @types/node from (non-dev) dependency tree (#3965, #3227)
- Removed old
- Please note: Geth v1.9.12 contains a breaking change for
eth_callthat will not default to your first account anymore iffromis not set. If a sender is not explicitly defined, theeth_callwill be executed fromaddress(0). (#3467)- This was done to avoid the same input behaving differently in different environments. You should never do
eth_callwithout explicitly setting a sender. - This means that if you're calling
viewmethods that refer to amsg.senderwithout explicitly setting afromaddress in your request options, you may see unexpected behavior. - In
web3.js, thefromaddress can be specified on a per-call basis or by setting thedefaultAccountproperty.
- This was done to avoid the same input behaving differently in different environments. You should never do
- Add missing subscription.on('connected') TS type definition (#3319)
- Add missing bignumber.js dependency for TS types (#3386)
- Upgrade swarm-js to 0.1.40 to remove npm vulnerability warning (#3399)
- Upgrade devDeps to resolve security warnings (#3464)
- dtslint 0.4.2 => 3.4.1
- definitelytyped-header-parser 1.0.1 => 3.9.0
- Race-condition when subscribing to historical logs as first client request (#3389)
- Fix crash when using Web-Workers by removing any-promise dependency (#3377 #2211 #1774)
- MaxListenersExceededWarning event emitter warning mitigated (#1648)
- Introduce review and release guidelines. (#3460)
- Add EIP-1193 compatible provider to
AbstractProviderinterface. (#3499) - Add Typescript definitions for contract
methodsandcall. (#3454) - Update AbstractProvider and contract.methods TS definitions (#3521)
- Add support for ENS contenthash methods. (#3392, #2782)
- Change CI provider from Travis to Github Actions. (#3468)
- Update
web3-eth-abiABICoder dependency. (#3490) - Update AbiCoder param formatting (#3522)
- Improve code clarity of HttpProvider keepAlive option setting. (#3463)
- Updated type definitions for Web3 HTTP Provider. (#3482)
- Fix indentation of web3-eth documentation. (#3478)
- Fix intermittent CI build issues with
dtslint. (#3479) - Fix WSS credentials Base64 encoding (for browser) (#3508)
- Fire provider "error" and/or "end" events when Websocket provider disconnects. (#3485)
- Remove web3-eth revert error return types to squash TS compilation errors. (#3496)
- Backfill event subscriptions when WS connection dropped across multiple blocks. (#3491)
- Stop swallowing errors when WS connection has died after exhausting reconnection attempts. (#3492)
- Fix setContenthash docs formatting (#3511)
- Add
sendingandsentevents for tx submissions (#3438) - Add
latestBlockHasharg toconfirmationevent handler payload (#3438) - Make socket providers' max listeners threshold configurable (#3469)
- Documentation about testing & ci resources for Web3.js development (#3528)
- More detailed documentation about how to use
method.encodeABI(#3549) - Integration tests for
transactionPollingTimeout(#3513)
- Websocket package from @web3-js/websocket@1.0.29 to websocket@1.0.31 (#3371)
- Upgrade
@web3-js/scrypt-shim@0.1.0toscrypt-js@3.0.1 - sendSignedTransaction revert handling synthesizes tx without network call (#3457)
- Make docs grammar more idiomatic, normalize punctuation (#3543)
- Size property de-referencing crash when calling web3.eth.clearSubscriptions (#3527)
- Abi param encoding for tuple arrays (#3538)
account.hashMessagewith non-ASCII characters (#3523)- Subscription support check in method confirmations loop (#3432)
- TS bindings for
handleRevertadded (#3452) - Docs: spelling of pre-defined block number (#3539)
- Docs: missing defaultBlock param option in
method.calldescription (#3558)
- Add support for EIP-1193 provider
requestmethod (#3625)
- Upgrade minified bundle build process (from gulp to webpack) (#3618)
- CI improvements: add dependency caching, netlify browser test preview (#3598, #3602)
- Remove references to
genesisblock in 1.x documentation (#3594) - Disallow setting
toBlockwhen subscribing to contract events (#3207)
- Extend
_txInputFormatterwith hex prefix check (#3317) - Extract revert reason string for geth >= 1.9.15 (#3520)
- Fix Incorrect param encoding of BN object in arrayed inputs (#3592)
- Remove mis-encoded whitespace characters from web3-utils files (#3601)
- Fix incompatibilities with webpack Buffer polyfill for wallet.encrypt/decrypt (#3580)
- Fix misformatted
fromBlockvalue when re-subscribing to events over WS (#3596) - Support
Functiontype log parameter decoding (#2826) - Add undefined callback check to websocket provider response queue (#3574)
- Fix WS clientConfig type (#3563)
- Fix Provider.request response (#3647)
- Add unit tests for isHex and isHexStrict (#3622)
- Support for typescript files (.ts) to be written alongside regular .js files (#3652)
- Add compareBlock function that allows for complex block comparisons (#3682)
- Improve RequestManager send method (#3649)
npm run buildnow uses TSC to compile (.js allowed) and the build folder is now located underlib(#3652)- Modernized web3-core to use newer es syntax (#3652)
- Bumped
web3-providers-ipcoboeversion to 2.1.5 (#3661) - Bump lodash from 4.17.15 to 4.17.19 (#3641)
- Bump websocket version which removes node-gyp from web3.js (#3685)
- Fix parsing of non-
eth_subscriptionprovider events (#3660) - Fix parsedUrl problem of websocket provider (#3666)
- Fix return value for
clearSubscriptions(#3689)
- Add
web3-eth2-corepackage (#3743) (renamed toweb3-eth2-base) - Add
web3-eth2-beaconchainpackage (#3743) (renamed toweb3-eth2-beacon) - Add
stripHexPrefixmethod toweb3-utilspackage (#3776)
- bump utils 0.10.0^ -> 0.12.0 (#3733)
- Removed post-install script in
packages/web3. Added documentation to root README (#3717)
- Fix possible unhandled promise rejection when sending a transaction (#3708)
- Fixed decoding bytes and string parameters for logs emitted with solc 0.4.x (#3724, #3738)
- Grammar changes to inputAddressFormatter error message
- Fixed vulnerable dependencies
- Fix EIP-1193 provider subscriptions (#3864)
- Update
distto latest release (1.3.2) (#3875)
- Fixed mutation of inputs to encoding and decoding functions (#3748)
- Fix default value for
fromBlockoption forlogssubscriptions (defaults tolatest) (#3883) - ethjs-signer test (#3876)
- Rename
web3-eth2-basetoweb3-eth2-coreandweb3-eth2-beacontoweb3-eth2-beaconchain(#3833) - Bump
ts-nodefrom version^8.10.2to^9.0.0(#3856) - Ran
npm audit fixwhich fixed 4 vulnerabilities (#3856) - Correct
web3-eth2-beaconchaintype declarations (#3859) and (#3865) - Move interfaces
IBaseAPISchemaandIBaseAPIMethodSchematoindex.d.tsforweb3-eth2-core(#3878) - Update dependencies for
web3-eth2-core(#3878)
- Remove
notImplementedflag from ETH2 Beacon Chain package methods schema (#3861) - Removes
IETH2BeaconChaininterface in favor of exporting a class type:ETH2BeaconChain(#3878) - Remove
index.d.tsfiles in favor oftypes.tsforweb3-eth2-coreandweb3-eth2-beaconchain(#3878) schema.tsfromweb3-eth2-core(#3878)dtslintnpm command fromweb3-eth2-coreandweb3-eth2-beaconchainasindex.d.tsfiles were removed (#3878)
- Add
ETH2Coreclass export toindex.d.tsforweb3-eth2-core(#3878) - Deprecation of bzz warning (#3872)
- Deprecation of shh warning (#3888)
- Github action for running tests for
web3-eth2-coreandweb3-eth2-beaconchainpackages (#3892) - Added description to documentation on how to connect using a remote node provider (#3884)
- Added Security risk warning to docs for
web3.utils.soliditySha3(#3908) .nvmrcfile using Node.js versionv.14.15.1(#3817)- Add commitment to semantic versioning since version
1.3.0and onwards (#3961)
- Unified babel compiler for
web3-eth2-coreandweb3-eth2-beaconchain(#3892) - Renamed the
tscscript in all packages tocompile; updates the correspondinglerna runusage in the mainpackage.json(#3894) - moved deprecation warnings to postinstall scripts (#3917)
- Upgrade
@chainsafe/geth-dev-assistantfrom0.1.5to0.1.9(#3950) - Replaced hardcoded infura link with Github Secret for some tests (#3943)
- Bump
ellipticfrom6.5.3to6.5.4forweb3-eth-accounts(#3941) - Bump
ellipticfrom6.5.3to6.5.4forweb3-bzz(#3940) - Bump
ellipticfrom6.5.3to6.5.4forweb3-core-requestmanager(#3945) - Rewrite
web3-eth-ibanin ES6 (#3955)
- Bump
underscorepackage from1.9.1to1.12.1(#4051) - Bump
@ensdomains/enspackage from^0.4.5to^0.6.0(#4059) - Bump
etherspackage from^5.0.18to^5.1.4(#4059)
- Accidental commit (yarn-error.log) (#4062)
- Berlin Transaction Support (#4083)
- When signing a transaction, common object now defaults to berlin instead of petersburg
- Changed Geth Docker verision from
stableto1.10.3ine2e.geth.instamine.shandscripts/e2e.geth.automine.sh(#4154)
- Removing the underscore package
- London transaction support (#4155)
- RPC support
eth_feehistorycall (#4191) - Add
toNumbermethod toweb3.utils(#4191)
- Grammar fix (#4088) and updated Swarm (#4151)and Whisper doc links (#4170)
- Removed deprecation notice for HttpProvider (#4008)
- Nonce added to send options in documentation and types (#4052)
- Updated Solidity example to modern syntax (#4147)
- Changing web3 connection example from lets to const (#3967)
- Updated the documentation for the transaction object to include EIP-2718 and EIP-1559 options (#4188)
maxPriorityFeePerGasandmaxFeePerGasnow included in_txInputFormatter(#4217)- If
maxPriorityFeePerGasofmaxFeePerGaspresent_txInputFormatterdeletestx.gasPrice(fixes #4211) (#4217) - Add block tag support (e.g.
latest,pending,earliest) togetFeeHistory(#4224) - Support for EIP-1559 to
web3.eth.sendTransaction(#4220)
- Remove transaction
typedefaulting foreth.sendTransaction,eth.sendRawTransaction(#4241) type: 0x0was being added to legacy transaction when usingeth.signTransaction(#4241)
- Unable to send legacy transaction if network supported EIP-1559 (#4277)
- Fixed bug in sending transaction with providers not support "newBlockHeaders" event (#3891)
- ethers from 5.1.4 to 5.4.4 (#4231)
- karma from 5.2.3 to 6.3.4 (#4231)
- lerna from 3.22.1 to 4.0.0 (#4231)
- Dropped build tests in CI for Node v8 and v10, and added support for Node v14 (#4231)
- Change default value for
maxPriorityFeePerGasfrom1 Gweito2.5 Gwei(#4284) - Fixed bug in signTransaction (#4295)
- Partially replace usage of eth-lib with ethereumjs-util (#4390)
- Support for
eth_createAccessListas both an rpc call (web3.eth.createAccessList) and property of contract method wrappers (contractInstance.methods.getValue().createAccessList) (#4332)
- Not considering
tx.chainIdiftx.common.customChain.chainIdis provided forweb3.eth.accounts.signTransactionfunction (#4293) - Added missing PromiEvent handler types (#4194)
- Updated README to include Webpack 5 angular support instructions (#4174)
- Updated the documentation for the
Web3.utils, removed context for_(underscore lib) (#4403) - Emit subscription id with connect event when creating a subscription (#4300)
- Introduced new configuration "blockHeaderTimeout" for waiting of block headers for transaction receipt (#3891)
- Format
block.baseFeePerGasto number (#4330) - Correct
web3-eth-personal.sendTransactionexample in documentation (#4409) - Updated README to include Webpack 5 angular support instructions (#4174)
- Fix 1.6.1 build size issue with removing static asset files (#4506)
- Correct
web3.rstexample in documentation (#4511) - Correct
BlockHeadertyping (receiptRoot->receiptsRoot) (#4452)
maxPriorityFeePerGasandmaxFeePerGasadded toTransactionandTransactionConfiginterfaces (#4232) (#4585)
- Fix readthedoc's build for web3js documentation (#4425)
- Fix response sorting for batch requests (#4250)
- Changed getFeeHistory first parameter type from
numbertohexaccording to the spec (#4529)
transactionPollingIntervaladded to web3, contract and method constructor options. defaults to 1 second. (#4584)- Add example import for package level types (#4611)
- Fix a typo in the documentation for
methods.myMethod.send(#4599) - Use globalThis to locate global object if possible (#4613)
- Fix typos in web3-utils.rst (#4662)
- Added effectiveGasPrice to TransactionReceipt (#4692)
- Correction in documentation for
web3.eth.accounts.signTransaction(#4576) - Updated README to include Webpack 5 create-react-app support instructions (#4173)
- Update the documentation for
methods.myMethod.estimateGas(#4702) - Fix typos in REVIEW.md and TESTING.md (#4691)
- Fix encoding for "0x" string values (#4512)
- Muted E2E gnosis dex tests in CI until fix for issue #4436 is applied (#4701)
- Removed deprecated Morden testnet code (#4339)
- Ran
npm audit fixto address vulnerabilities and update libraries (#4719) (#4728)
- Remove deprecated
closeevent listener (#4825) (#4839)
npm audit fixto update libraries (#4860)
- Fix jsonrpc payload and response types (#4743) (#4761)
- Allowed more flexibility in typing the overly constrained
provider.disconnectfunction (#4833)
- Fixed build issues of 1.7.2
- Fix dead link in web3-eth.rst (#4916)
- Fix web3-core-method throws on
f.call = this.callwhen intrinsic is frozen (#4918) (#4938) - Fix static tuple encoding (#4673) (#4884)
- Fix bug in handleRevert logic for eth_sendRawTransaction (#4902)
- Fix resolve type of getBlock function (#4911)
- Web3-utils BN fix (#5132)
- Replace deprecated String.prototype.substr() (#4855)
- Exporting AbiCoder as coder (#4937)
- Github build workflow updated min build for node.js 12 and tests for 12, 14 and 16 (#5014)
- Updated libraries using BN and the BN library (#5072)
- Exposing
web3.eth.Contract.setProvider()as per public documentation (#4822) (#5001) - Improve npm script commands for development purposes (#4848)
npm audit fixto address vulnerabilities and update libraries (#5014)
- Replace xhr2-cookies deps to cross-fetch for web3-providers-http (#5085)
- Documentation details about
maxFeePerGasandmaxPriorityFeePerGas(#5121) - Added
createAccessListtypes in web3.eth (#5146)
- Improving
AbstractProviderinterface (#5150) - Fix typos in web3-eth-accounts.rst & TESTING.md (#5047)
- Fix remove wallet using an index when an account address and address lowercase are equal (#5049)
- Improve README.md & Fix typos (#4848)
- Add optional hex formatting parameter for getTransactionReceipt (#5153)
- Fix transactionRoot -> transactionsRoot in BlockHeader (#5083)
- Fix Promise in Accounts.signTransaction() throwing errors that cannot be caught (#4724)
- Fixed unit tests & removed dead code for web3-providers-http (#5228)
- Updated
gotlib version and fixed other libs using npm audit fix (#5178) (#5254)
Note: Yarn is resolving to some old deprecated package versions for 4.0.0-alpha.0 instead of latest alpha versions. A patch bump is posted so yarn users should use 4.0.1-alpha.0 for testing.
web3-errorsnew package is created, it has Web3 Error codes and classes
web3-typesnew package is created, it provides the common data structures and interfaces for web3 modules
web3-validatornew package is created, it has JSON-Schema compatible validator functionality for Web3
- This Package is deprecated
- This Package is deprecated
- This Package is removed,
errorsare moved toweb3-errorspackage and formatters are moved inweb3-corepackage
- This Package is removed, and
web3-core-methodfunctionality is moved toweb3-ethpackage
- This Package is removed, and core promi events functionality is moved to
web3-corepackage
- This Package is removed, batch requests and request manager functionality is moved to
web3-corepackage
- This Package is removed, and core subscription functionality is moved to
web3-corepackage
- Passing callbacks to functions is no longer supported, except for event listeners.
- Method
extendis deprecated
- The function
outputBigNumberFormatterinweb3-core-helperrenamed tooutputBigIntFormatterunderweb3-core - Removed
this.defaultBlockcontext frominputDefaultBlockNumberFormatterinweb3-core-helperand converted to additional parameter - Removed
this.defaultBlockcontext frominputTransactionFormatterinweb3-core-helperand converted to additional parameter
- The following functions
soliditySha3soliditySha3RawencodePackednow includes type validation and requires type specification, instead of guessing the value type - The functions
soliditySha3,soliditySha3RawandencodePackeddid not support BN; But, now supportsBigInt - The functions
flattenTypesandjsonInterfaceMethodToStringmoved to theweb3-eth-abipackage - The function
isAddressnow includes an optional parametercheckChecksumtype boolean isBooleannow accept1, and0as valid values to test. Ref:web3-validator
createfunction does not take in the optional parameterentropyWallet.createfunction doesn't acceptentropyparam
isBooleannow accept1, and0as valid values to test.
- Event logs do not support types for indexed properties, but named properties are supported.
- Types for overloaded ABI functions are not yet supported.
signTransactionwill not fill any default values, and it will only sign and return result. For filling default values, useweb3-ethpackagerecoverfunction's last param is booleanhashed, it is used to indicate if data provided is already hashed or not. By default, this function will assume data is not hashed.- The
Walletno longer supports address/number indexing. Have to usewallet.getinstead. Wallet.createfunction doesn't acceptentropyparamcontract.method.send()will resolve to transaction receipt instead oftransactionHash. User can usereceipt.transactionHashinstead.
- Package will not support web3.bzz.net and web3.shh.net
- IBAN constructor now has validation checks for indirect/direct iban.
isDirect,isValid,isIndirectare now also included as static methods.
setMultihashis not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver (https://github.com/ensdomains/resolvers/blob/master/contracts/PublicResolver.sol)setContentis not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver (https://github.com/ensdomains/resolvers/blob/master/contracts/PublicResolver.sol)getContentis not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver.getMultihashis not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver.
internalTypewas renamed tobaseTypein all abi types
givenProviderdefault value is undefineddefaultHardforkdefault value is 'london'defaultAccountdefault value is undefineddefaultNetworkIddefault value is undefined- When sending a transaction, if Ethereum Node does not respond within
transactionSendTimeout, throw an Error.
clearSubscriptionsInstead of returningtrue,clearSubscriptionsnow returns array of subscription's ids
givenProviderdefault value is undefinedcurrentProviderdefault value is undefined
- Dependency tree cannot be resolved by Yarn due to old deprecated packages picked by yarn - fixed (#5382)
- If the response error was
execution reverted, raiseContractExecutionErrorand pass the response error to it in order to be set asinnerError(this innerError will be decoded at web3-eth-contract if its ABI was provided according to EIP-838). (#5434) - Added a new configuration variable
enableExperimentalFeatures. (#5481) registerPluginmethod toWeb3Context(#5393)Web3PluginBaseexported abstract class (#5393)Web3EthPluginBaseexported abstract class (#5393)
- Add optional
innerErrorproperty to the abstract classWeb3Error. ThisinnerErrorcould beError,Error[]orundefined. (#5435) (#5434) - The class
Web3ContractErroris moved to this package fromweb3-eth-contract. (#5434) - Added the error code
ERR_TX_SIGNINGand used it insideTransactionSigningError(#5462) - Added the error code
ERR_TX_GAS_MISMATCHand used it insideTransactionGasMismatchError(#5462) - Added
SignatureErrortoweb3-errors/src/errors/signature_errors.ts(moved fromweb3-eth/src/errors.ts) (#5462) - Added the errors' classes to
web3-errors/src/errors/transaction_errors.tsfromweb3-eth/src/errors.ts(#5462) - Added
TransactionBlockTimeoutErrorclass and its error codeERR_TX_BLOCK_TIMEOUT(#5294) ExistingPluginNamespaceErrorclass and it's error codeERR_EXISTING_PLUGIN_NAMESPACE(#5393)
web3-rpc-methodsdependency (#5441)- Added chain and hardfork validation for transaction and transaction.common object in
validateTransactionForSigning
- If an error happens when decoding a value, preserve that exception at
innerErrorinside the error classAbiError. (#5435) - Add basic functionality that is used, by
web3-eth-contract, when decoding error data according to EIP-838. (#5434)
- Decoding error data, using Error ABI if available, according to EIP-838. (#5434)
- The class
Web3ContractErroris moved from this package toweb3-error. (#5434)
- Example plugin for wrapping contract methods to provide custom functionality (#5393)
- Example plugin for custom RPC methods using the
requestManager(#5393)
- Added and exported three reusable utility functions:
pollTillDefined,rejectIfTimeoutandrejectIfConditionAtIntervalwhich are useful when dealing with promises that involves polling, rejecting after timeout or rejecting if a condition was met when calling repeatably at every time intervals.
web3-rpc-methodsdependency (#5441)
web3-rpc-methodsdependency (#5441)
- Show error message and return dummy promise if socket is not writable (#5294)
- web3-rpc-methods package added
Web3EthExecutionAPIexport (#5441)Web3NetAPIexport (#5441)EthPersonalAPIexport (#5441)
- Default value for
APIgeneric forWeb3ContextObjectfromanytounknown(#5393) - Default value for
APIgeneric forWeb3ContextInitOptionsfromanytounknown(#5393) - Added validation when
defaultHardforkanddefaultCommon.hardforkare different in web3config - Added validation when
defaultChainanddefaultCommon.basechainare different in web3config - Added a new configuration variable
enableExperimentalFeatures. (#5481)
- Moved
SignerErrorfromweb3-errors/src/errors/signature_errors.tstoweb3-errors/src/errors/transaction_errors.ts, and renamed it toTransactionSigningError(#5462) - Corrected the error code for
JSONRPC_ERR_UNAUTHORIZEDto be4100(#5462)
Web3EthExecutionAPIis now imported viaweb3-typesinstead ofweb3_eth_execution_api.ts(#5441)- Replace the imported methods from
rpc_methods.tswithethRpcMethodsimports fromweb3-rpc-methods(#5441) Web3NetAPIis now imported fromweb3-typesinstead ofweb3-net(#5441)- Moved
rpc_methodstests toweb3-rpc-methods(#5441) - Implemented the logic for
transactionBlockTimeout(#5294) - Use subscription at
rejectIfBlockTimeoutwhen the provider supports subscription. Implement this as an experimental feature (ifuseSubscriptionWhenCheckingBlockTimeoutatenableExperimentalFeaturesistrue). (#5481) - At some test cases, optimized some codes. (#5481)
signTransactionandprivateKeyToAccountwill throwTransactionSigningErrorinstead ofSignerErrornow (#5462)
Web3NetAPIis now imported fromweb3-typesinstead ofweb3-net(#5441)
- Import
EthPersonalAPIfromweb3-typesinstead of local import (#5441) - Replace the imported methods from
rcp_methods.tswithpersonalRpcMethodsimports fromweb3-rpc-methods(#5441) - Replace use of
EthPersonalAPIManagerwithWeb3RequestManager<EthPersonalAPI>(#5441)
Web3NetAPIis now imported fromweb3-typesinstead ofweb3_net_api.ts(#5441)- Replace the imported methods from
rpc_methods.tswithnetRpcMethodsimports fromweb3-rpc-methods(#5441)
Web3APISpec,Web3APIMethod, andWeb3APIParamsnow supportsunknownAPIs (#5393)
- Corrected the error code for
JSONRPC_ERR_UNAUTHORIZEDto be4100(#5462)
- Fix
getBlockreturning empty transactions object onhydratedtrue (#5556) - setimmediate package to polyfill setImmediate for browsers (#5450)
- According to the latest change in
web3-eth-abi, the decoded values of the large numbers, returned from function calls or events, are now available asBigInt. (#5435)
- Return
BigIntinstead ofstringwhen decoding function parameters for large numbers, such asuint256. (#5435)
Web3APISpec,Web3APIMethod, andWeb3APIParamsnow supportsunknownAPIs (#5393)
- Moved the errors' classes from
web3-eth/src/errors.tstoweb3-errors/src/errors/transaction_errors.ts(#5462)
- Exported type
EthPersonalAPIManager,EthPersonalAPIis not exported viaweb3-types(#5441)
rpcMethodsexport, these methods are now exported viaweb3-rpc-methodsasnetRpcMethods(#5441)Web3NetAPIexport, now exported viaweb3-typesasWeb3NetAPI(#5441)
- Removed direct function
toJSON()inWeb3ValidatorErrorclass as its available via base class (#5435)
- These types were moved from
web3-eth-accountstoweb3-typespackage: Cipher, CipherOptions, ScryptParams, PBKDF2SHA256Params, KeyStore (#5581 )
- Export a new function
uuidV4that generates a random v4 Uuid (#5373).
SpecialOutputtype was added as a generic type into the call function to support reassigning output types (#5631)- Overloaded functions types (
ContractOverloadedMethodInputs,ContractOverloadedMethodOutputs) was added (#5631)
- Emit past contract events based on
fromBlockwhen passed tocontract.events.someEventName(#5201)
- Make the
requestmethod ofEIP1193Providerclass, compatible with EIP 1193 (#5591)
- Use Uuid for the response id, to fix the issue "Responses get mixed up due to conflicting payload IDs" (#5373).
- Fix ContractMethodOutputParameters type to support output object types by index and string key. Also, it returns void if ABI doesn't have outputs and returns exactly one type if the output array has only one element. (#5631)
- These types were moved from
web3-eth-accountstoweb3-typespackage: Cipher, CipherOptions, ScryptParams, PBKDF2SHA256Params, KeyStore (#5581 )