Skip to content

Latest commit

 

History

History
390 lines (280 loc) · 15.4 KB

File metadata and controls

390 lines (280 loc) · 15.4 KB

Change Log

6.3.0

New Features

  • Added trx.getContractInfo

    Added trx.getContractInfo(contractAddress) method that retrieves detailed contract information via the wallet/getcontractinfo node API endpoint.

  • Extended deserializeTx with full contract type coverage

    Added deserialization support for all remaining TransactionBuilder contract types via raw_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

Improvements

  • Plugin restrictions

    • Added PROTECTED_MODULES to prevent plugins from overriding 2 modules: transactionBuilder, plugin.
    • Added PROTECTED_METHODS to 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.
  • Bug fix

    • Corrected the return type of the getDelegatedResourceV2 in trx.ts to consistently return an array.

Changes

  • Remove dev dependency @eslint/eslintrc.
  • Bump serialize-javascript from 7.0.3 to 7.0.5.

6.2.2

New Features

  • Added getCreate2Address

    • Added support for utils.address.getCreate2Address utility method.

    • Enables deterministic contract address computation using CREATE2.

    • Useful for advanced contract deployment workflows and meta-deployment scenarios.

Improvements

  • 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

Changes

  • Bump axios from v1.12.2 to v1.13.5
  • Bump webpack from v5.98.0 to v5.105.2

6.2.0

New Features

  • trx.getNowWitnessList Added 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 from raw_data_hex:

    • TransferAssetContract
    • ParticipateAssetIssueContract
    • AssetIssueContract
    • UpdateAssetContract

6.1.1

Changes

  • Remove dependency jsonwebtoken.
  • Bump validator from v13.15.20 to v13.15.23.
  • Address other audit issues.

6.1.0

New Features

  • New deserialization support
    Added support for deserializing the following transaction types from raw_data_hex:

    • TransferContract
    • WithdrawBalanceContract
    • WitnessCreateContract
  • 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.signTypedData alias
    Added trx.signTypedData as an alias pointing to the legacy trx._signTypedData method.

Changes

  • Removed getHeaderInfo from the transactionBuilder helper library. Use trx.getCurrentRefBlockParams instead.

  • Moved the deserializeTransaction function from utils/transaction to utils/deserializeTx for better scalability and maintainability of future modules.

  • Dependency updates:

    • axios upgraded from 1.11.0 to 1.12.2
    • puppeteer upgraded from 24.4.0 to 24.23.0

6.0.4

New Features

  • Improve type inference in Contract module when using typescript.
    • The Contract now infers method signatures based on the provided ABI.
    • To enable accurate inference, the ABI should be defined using the as const assertion or passed directly into tronWeb.contract().

Change

  • 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 GetEventResultOptions and EventResponse.
  • Allow using length as the value of the name field in the ABI, but you cannot use result['length'] to read its value.
  • Bump axios from 1.8.3 to 1.11.0, bump eslint from 9.22.0 to 9.31.0.

Bug Fixes

  • Fix the issue where addUpdateData treats numeric strings as numbers.#629
    • Starting from TronWeb v6.0.4, addUpdateData will use TronWeb.fromUtf8 to 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.

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-protobuf with google-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 deocdeInput API in Contract module. #557

6.0.0-beta.4

  • Replace ethers@v5/abi with abiCoder of ethers@v6.
  • Bump ethers from v6.11.1 to v6.13.1.
  • Export all Types and enum objects.
  • Move typescript and other dev dependencies into devDependencies field 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 updateAccountPermissions params.
  • 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.getBandwidthPrices and trx.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) to TronWeb.createRandom(password, path, wordlist).
  • Change TronWeb.fromMnemonic(mnemonic, path, wordlist) to TronWeb.fromMnemonic(mnemonic, path, password, wordlist).
  • All methods in Trx and TransactionBuilder perform an strict check for type and position of parameters.
  • All methods in TronWeb will throw an Error instance instead of a string. e.message should be used to access error information.
  • Update TronWeb#event API 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 transactionBuilder lib
  • Support TIP586 by trx.getBandwidthPrices and trx.getEnergyPrices
  • Support recover transaction signer address by trx.ecRecover
  • Support multi-dimension address array such as address[][] for ABI params encoding in triggerSmartContract and createSmartContract #433
  • Fix error when triggerSmartContract with 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 estimateenergy in TransactionBuilder#deployConstantContract() API.

5.3.0

  • Replace elliptic with ethereum-cryptography/secp256k1
  • Bump ethers to ^6.6.0
  • Optimize argument validation for createToken, updateToken and applyForSR
  • 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, updateAccountPermissions function in transactionBuilder lib

5.1.0

  • Add freezeBalanceV2, unfreezeBalanceV2, delegateResource, undelegateResource and withdrawExpireUnfreeze function in transactiobBuiler lib to support stakeV2
  • Support tronWeb.transactionBuilder.estimateEnergy to estimate energy for triggersmartcontract transaction
  • Add getDelegatedResourceV2, getDelegatedResourceAccountIndexV2, getCanDelegatedMaxSize, getAvailableUnfreezeCount and getCanWithdrawUnfreezeAmount function to query account resource info

5.0.0

  • Add tronWeb.utils.transaction lib to serialize and deserialize transaction
  • Add tronWeb.utils.transaction.txJsonToPb function to convert transaction json to protobuf
  • Add tronWeb.utils.transaction.txPbToTxID function to get txID from transaction protobuf
  • Support new transaction builder createAccount

4.4.0

  • Support createRandom and fromMnemonic function
  • Add tronWeb.utils.message lib, which includes hashMessage, signMessage and verifyMessage
  • Add signMessageV2 and verifyMessageV2 in tronWeb.trx lib which can support plain text signature and verification
  • Add size filter for event watch

4.3.0

  • Support _signTypedData

4.2.0

  • Add the name key when the call() and send() methods has only one return value
  • Optimize the TriggerConstantContract() method
  • Update axios to version 0.26.1
  • Update karma to version 6.3.17
  • Update puppeteer to version 13.5.1

4.1.0

  • Add encodeParamsV2ByABI and decodeParamsV2ByABI functions in tronWeb.utils.abi lib
  • Support abi v2 for triggerSmartContract, createSmartContract, call and send methods
  • Update validator to version 13.7.0
  • Update axios to 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 broadcastHex method
  • Ignore fullnode version check when calling createToken method
  • Update dependencies version
  • Add strict mode for pkToAddress method

3.2.7

  • Add options rawParameter that format of the parameters method and args when creating or triggering a contract
  • Update elliptic to the latest version 6.5.4
  • Update validator to 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 createToken method supports 0 in its precision

3.1.0

  • Update elliptic to the latest version 6.5.3
  • Update ethers to 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 keepTxID to show also the txID when triggering a contract with shouldPollResponse

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 receiverAddress during freezeBalance and unfreezeBalance if 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.signString and Trx.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/getapprovedlist and /wallet/getsignweight JavaTron API.
  • Adds test for multi-sign workflow.

2.3.5

  • Fixes a typo in #event.getEventsByContractAddress naming.

2.3.4

  • Adds options to #plugin.register to pass parameters to pluginInterface.

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, solidityNode and eventServer as separate params
  • Fixes bug in _watch which causes a continuous update of the since parameter