6.3.0
-
Added
trx.getContractInfoAdded
trx.getContractInfo(contractAddress)method that retrieves detailed contract information via thewallet/getcontractinfonode API endpoint. -
Extended
deserializeTxwith full contract type coverageAdded deserialization support for all remaining
TransactionBuildercontract types viaraw_data_hex:- Account:
AccountCreateContract,AccountUpdateContract,SetAccountIdContract,AccountPermissionUpdateContract - Stake / Vote:
FreezeBalanceContract,UnfreezeBalanceContract,VoteWitnessContract - Proposal:
ProposalCreateContract,ProposalApproveContract,ProposalDeleteContract - Smart contract:
CreateSmartContract,UpdateSettingContract,UpdateEnergyLimitContract,ClearABIContract - DEX:
ExchangeCreateContract,ExchangeInjectContract,ExchangeWithdrawContract,ExchangeTransactionContract UpdateBrokerageContract
- Account:
-
Plugin restrictions
- Added
PROTECTED_MODULESto prevent plugins from overriding 2 modules:transactionBuilder,plugin. - Added
PROTECTED_METHODSto block plugins from overriding critical signing/key methods:sign,signMessage,signMessageV2,signTransaction,signTypedData,multiSign,setPrivateKey,ecRecover. ⚠️ Note: Plugin support will be removed in the next major version.
- Added
-
Bug fix
- Corrected the return type of the
getDelegatedResourceV2intrx.tsto consistently return an array.
- Corrected the return type of the
- Remove dev dependency @eslint/eslintrc.
- Bump serialize-javascript from 7.0.3 to 7.0.5.
6.2.2
-
Added
getCreate2Address-
Added support for
utils.address.getCreate2Addressutility method. -
Enables deterministic contract address computation using CREATE2.
-
Useful for advanced contract deployment workflows and meta-deployment scenarios.
-
-
Improvement in
decodeParams-
Replaced {} with Object.create(null) in decodeParams.
-
Prevents prototype pollution.
-
-
Robust argument encoding in
encodeArgs-
Prevents valid falsy values from being incorrectly ignored.
-
Improves reliability of contract parameter encoding.
-
-
Strict contract type validation in
contractJsonToProtobuf-
Now throws an explicit error when encountering unsupported contract.type.
-
Prevents silent failures during contract conversion.
-
Improves developer debugging experience.
-
6.2.1
- Bump
axiosfrom v1.12.2 to v1.13.5 - Bump
webpackfrom v5.98.0 to v5.105.2
6.2.0
-
trx.getNowWitnessListAdded a new method to retrieve the witness list with real-time vote counts. This feature is available for JAVA-TRON v4.8.1 and above. -
New deserialization support
Added support for deserializing the following transaction types fromraw_data_hex:TransferAssetContractParticipateAssetIssueContractAssetIssueContractUpdateAssetContract
6.1.1
- Remove dependency
jsonwebtoken. - Bump
validatorfrom v13.15.20 to v13.15.23. - Address other audit issues.
6.1.0
-
New deserialization support
Added support for deserializing the following transaction types fromraw_data_hex:TransferContractWithdrawBalanceContractWitnessCreateContract
-
trx.getCurrentRefBlockParams
Provides a method to retrieve the parameters required for transaction building. Users can pass these parameters to transaction constructors and customize the header information, making transaction creation more convenient. -
trx.signTypedDataalias
Addedtrx.signTypedDataas an alias pointing to the legacytrx._signTypedDatamethod.
-
Removed
getHeaderInfofrom thetransactionBuilderhelper library. Usetrx.getCurrentRefBlockParamsinstead. -
Moved the
deserializeTransactionfunction fromutils/transactiontoutils/deserializeTxfor better scalability and maintainability of future modules. -
Dependency updates:
axiosupgraded from 1.11.0 to 1.12.2puppeteerupgraded from 24.4.0 to 24.23.0
6.0.4
- Improve type inference in
Contractmodule when using typescript.- The
Contractnow infers method signatures based on the provided ABI. - To enable accurate inference, the ABI should be defined using the
as constassertion or passed directly into tronWeb.contract().
- The
- Change the return behavior of the
contract.new()method.- Previously, this method mutated the current instance and used the ABI stored on the Tron blockchain, which proved to be unreliable. It now returns a new instance that uses the ABI provided in the options parameter.
- Export
GetEventResultOptionsandEventResponse. - Allow using length as the value of the name field in the ABI, but you cannot use
result['length']to read its value. - Bump
axiosfrom 1.8.3 to 1.11.0, bumpeslintfrom 9.22.0 to 9.31.0.
- Fix the issue where
addUpdateDatatreats numeric strings as numbers.#629- Starting from TronWeb v6.0.4,
addUpdateDatawill useTronWeb.fromUtf8to convert the provided data string—unless it starts with '0x'. - If the resulting data string has an odd length, a '0' will be prepended to ensure even length.
- Starting from TronWeb v6.0.4,
6.0.3
- Add support for deserializing 6 more transactions.
- Fix npm audit issues.
- Fix the error in the abi variable within
transactionBuilder.createSmartContract. - Export Method class.
- Add missing fields in internal_transactions.
6.0.2
- Bump axios from 1.7.4 to 1.8.3.
- Fix npm audit problems.
6.0.1
- Support deserialize TriggerSmartContract transaction by raw_data_hex.
- Replace
@tronweb3/google-protobufwithgoogle-protobuf. - Fix some type errors and API return type compatibility issues.
6.0.0
- Fix issue543, replace type AxiosHeaders with InstanceType.
- Add type for value field in the return of the creation by TransactionBuilder methods.
- Fix known type errors.
- Bump axios from 1.6.8 to 1.7.4 and webpack from 5.78.0 to 5.94.0.
- Add TronWeb.address.toChecksumAddress and TronWeb.address.isChecksumAddress APIs.
- Fix the wrong action of
deocdeInputAPI in Contract module. #557
6.0.0-beta.4
- Replace
ethers@v5/abiwith abiCoder ofethers@v6. - Bump ethers from v6.11.1 to v6.13.1.
- Export all Types and enum objects.
- Move
typescriptand other dev dependencies intodevDependenciesfield in package.json. - Change headers type in TronWeb constructor.
6.0.0-beta.3
- Support recovering transaction signer address by
trx.ecRecover. - Support both base58 format and hex format address field in keys of
updateAccountPermissionsparams. - Support type for contract instance.
6.0.0-beta.2
- Bump ethers from 6.8.0 to 6.11.1
- Bump ethereum-cryptography from 2.1.2 to 2.1.3
- Bump axios from 1.6.2 to 1.6.8
6.0.0-beta.1
- Support TIP586 with
trx.getBandwidthPricesandtrx.getEnergyPrices. - Support custom block header info when creating transaction.
6.0.0-beta.0
- Add full type definition for Typescript.
- Change Default exports to Named exports.
- Change
TronWeb.createRandom(options)toTronWeb.createRandom(password, path, wordlist). - Change
TronWeb.fromMnemonic(mnemonic, path, wordlist)toTronWeb.fromMnemonic(mnemonic, path, password, wordlist). - All methods in
TrxandTransactionBuilderperform an strict check for type and position of parameters. - All methods in TronWeb will throw an
Errorinstance instead of a string.e.messageshould be used to access error information. - Update
TronWeb#eventAPI with new backend service(#422). - Remove
Contract#watch()method. - Support multi-dimension address array parameters in
TransactionBuilder#triggerSmartContract()(#433).
5.3.2
- Add custom block header argument for building transactions locally in
transactionBuilderlib - Support TIP586 by
trx.getBandwidthPricesandtrx.getEnergyPrices - Support recover transaction signer address by
trx.ecRecover - Support multi-dimension address array such as
address[][]for ABI params encoding intriggerSmartContractandcreateSmartContract#433 - Fix error when
triggerSmartContractwith error address due to the undefined callback #429 - Bump axios from 0.26.1 to 1.6.2 #445
5.3.1
- Fix
getBlockRange()error for range of 1 (#398). - Add support for
estimateenergyinTransactionBuilder#deployConstantContract()API.
5.3.0
- Replace
ellipticwithethereum-cryptography/secp256k1 - Bump ethers to ^6.6.0
- Optimize argument validation for
createToken,updateTokenandapplyForSR - callValue can be 0 when the contract constructor is payable
- Support shouldPollResponse to customize poll times (#368)
- Support Tip541 by
transactionBuilder.cancelUnfreezeBalanceV2 - Support Tip542 by adding a parameter in
transactionBuilder.delegateResource - Support estimate the energy used in contract deployment by
transactionBuilder.deployConstantContract
5.2.0
- Support build transactions locally with protobuf
- Support multi-sign for
setAccountId,updateBrokerage,clearABI,updateAccountPermissionsfunction intransactionBuilderlib
5.1.0
- Add
freezeBalanceV2,unfreezeBalanceV2,delegateResource,undelegateResourceandwithdrawExpireUnfreezefunction in transactiobBuiler lib to support stakeV2 - Support
tronWeb.transactionBuilder.estimateEnergyto estimate energy for triggersmartcontract transaction - Add
getDelegatedResourceV2,getDelegatedResourceAccountIndexV2,getCanDelegatedMaxSize,getAvailableUnfreezeCountandgetCanWithdrawUnfreezeAmountfunction to query account resource info
5.0.0
- Add
tronWeb.utils.transactionlib to serialize and deserialize transaction - Add
tronWeb.utils.transaction.txJsonToPbfunction to convert transaction json to protobuf - Add
tronWeb.utils.transaction.txPbToTxIDfunction to get txID from transaction protobuf - Support new transaction builder
createAccount
4.4.0
- Support
createRandomandfromMnemonicfunction - Add
tronWeb.utils.messagelib, which includeshashMessage,signMessageandverifyMessage - Add
signMessageV2andverifyMessageV2intronWeb.trxlib which can support plain text signature and verification - Add
sizefilter for event watch
4.3.0
- Support
_signTypedData
4.2.0
- Add the name key when the
call()andsend()methods has only one return value - Optimize the
TriggerConstantContract()method - Update
axiosto version 0.26.1 - Update
karmato version 6.3.17 - Update
puppeteerto version 13.5.1
4.1.0
- Add
encodeParamsV2ByABIanddecodeParamsV2ByABIfunctions intronWeb.utils.abilib - Support abi v2 for
triggerSmartContract,createSmartContract,callandsendmethods - Update
validatorto version 13.7.0 - Update
axiosto version 0.24.0 - Update discord group link
4.0.1
- Set _isConstant as true for call method
- Ignore max feeLimit check
- Change git repository url
4.0.0
- Support
broadcastHexmethod - Ignore fullnode version check when calling
createTokenmethod - Update dependencies version
- Add strict mode for
pkToAddressmethod
3.2.7
- Add options
rawParameterthat format of the parameters method and args when creating or triggering a contract - Update
ellipticto the latest version 6.5.4 - Update
validatorto the latest version 13.6.0
3.2.6
- Add setHeader function
3.2.5
- Set feeLimit max value as 5000 TRX
3.2.4
- Set feeLimit default value as 150 TRX
3.2.3
- Support triggerSmartContract function with empty character functionSelector and empty array parameters
- The triggerSmartContract function Support for anonymous contract parameter incoming
3.2.2
- Set feeLimit default value as 40 TRX
- The
createTokenmethod supports 0 in its precision
3.1.0
- Update
ellipticto the latest version 6.5.3 - Update
ethersto the latest version 5.0.8 - Fix
loadAbi()
3.0.0
- Support sidechain for SunNetwork
- Set feeLimit default value as 20 TRX
2.10.2
- Support toHex function with a space and empty character as parameter
- The sign function supports visible as true.
- Fix delete the private key in test files
- Fix start method returned from watch is undefined #45
2.10.1
- Fix
trx.listExchangesPaginated
2.10.0
- Fix
trx.getTokenListByName
2.9.0
- Support smart contracts with function that requires an array of addresses as a parameter, included the constructor during the deployment
2.8.1
- Add options
keepTxIDto show also the txID when triggering a contract withshouldPollResponse
2.8.0
- Improve in the plugin architecture allows someone to implement a full lib at the same level of Trx and TransactionBuilder
2.7.4
- Fix bugs of trx.getBrokerage and trx.getReward function
2.7.3
- Support new apis related to Java-Tron 3.6.5
- Original withdrawBlockRewards method support to withdraw user's reward
2.6.8
- Support extension of transaction expiration
- Allow to add data to the transaction
- Many minor changes and fixes
2.6.3
- Support get unconfirmed transaction function
2.6.0
- Support trigger constant contract, clear abi and add account by id
- Add permission id option in functions related to creating transaction
- Support multi-sign without permission id
2.5.6
- Reverse PR #6
2.5.5
- Ignore
receiverAddressduringfreezeBalanceandunfreezeBalanceif it is equal to the owner address
2.5.4
- Adds cache in Trx to cache Contracts locally and make the process more efficient
2.5.2
- Adds static methods
Trx.signStringandTrx.verifySignature
2.5.0
- Allows freeBandwidth, freeBandwidthLimit, frozenAmount and frozenDuration to be zero
2.3.7
- Get rid of jssha to reduce the size of the package a little bit.
2.3.6
- Supports
/wallet/getapprovedlistand/wallet/getsignweightJavaTron API. - Adds test for multi-sign workflow.
2.3.5
- Fixes a typo in
#event.getEventsByContractAddressnaming.
2.3.4
- Adds options to
#plugin.registerto pass parameters topluginInterface.
2.3.3
- Adds filters during event watching.
2.3.2
- Removes mixed approach instantiating tronWeb. Before you could pass the servers as an object, and the privateKey as a separate parameter. Now, you pass them either in the options object or in the params.
2.3.1
- Adds support for not-tld domain, like http://localhost
- Improve the new format, allow passing the privateKey as a property in the option object
2.3.0
- Introduces new format to instantiate tronWeb, passing an options object instead that
fullNode,solidityNodeandeventServeras separate params - Fixes bug in
_watchwhich causes a continuous update of thesinceparameter