- Capability to initialize
TatumSDK
with various extensions from Extension Ecosystem using the init() method andTatumConfig.configureExtensions
. - Encapsulation of
typedi
functionalities withinTatumSdkContainer
, ensuring that there are no enforced dependencies on the extensions. TatumSdkExtension
abstract class that allows extension creators to utilize services or other extensions from withing theTatumSdkContainer
.async init()
method call for each registered extensiondestroy()
method call for each registered extension
- Fixed 'tokenType' field to 'type' in Non-Fungible Token (NFT) Data Transfer Object (DTO) to match the API response.
- Fix eth_getLogs method when no fromBlock or toBlock was provided
- Add support for deploying NFT contract on Tezos chain https://docs.tatum.io/docs/nfts/create-nft-collection.
- Expose active RPC node url in the
Rpc
module
- Update horizen class
- Horizen EON notifications
- Typos
- Updated links to the status and list.json pages for new and changed chains
- Updated correctly V1 -> V3 and V2 -> V4 config options
- Integrated Tron, BSC Arbitrum One to new infra
- Minor version update to fix npm package issue
- Fix loadbalancer logic to work without api key
- The 'estimateSmartFee' method in AbstractUtxoRpc.ts has been updated to include the 'estimateMode' parameter as optional. Previously, if estimate mode was not provided, it would default to 'CONSERVATIVE'.
- fix batched raw RPC call return type to also include method level error
- Users can access data from the Horizen EON chain by using the
address
submodule. -address.getTransactions({...})
,address.getBalance({...})
- improve URL parsing for SSRF check
- Add functions to EVM rpc interface: getTokenTotalSupply, getTokenCap, supportsInterfaceERC1155
- Extend allowed list of urls for SSRF check
- This commit introduces a Server Side Request Forgery (SSRF) check to the
initRemoteHosts
method withinLoadBalancerRpc.ts
. This check ensures that URLs end with 'rpc.tatum.io' before loading them to avoid potential SSRF attacks. To accommodate this change,initRemoteHosts
has also been refactored to accept anInitRemoteHostsParams
object. In addition, an optional parameternoSSRFCheck
has been added to bypass the SSRF check when necessary.
- Update Tatum API URL to v4 from v1
- Fixed Load Balancer issue with process is undefined on the pure browser
- Removed undici dependency as it was causing issues
- Added support for Eon - RPC calls
- Add support for Tezos - Address and Notification modules
- Refactored Tron Address module. getBalance now accepts only one string parameter
address
as it wasn't working with multiple addresses
- Add better logging message
- Updated contributing guide
- Removed old example folder
- Fix retry requests
- Do not pass retry number in header
- Forced EVM debug_traceBlock and eth_getBlockReceipts methods to work with archive nodes
- Updated readme.md to look better
- In all error responses expects for RPC, error object returns also
dashboardLog
which points to the dashboard error log
- Added EVM debug_traceBlock and eth_getBlockReceipts methods
- Pass Api key to the archive load balancer liveness check
- Fix createrawtransaction method
- Changed error message for RPC calls from 'No active server found for ${nodeType} node.' to 'No active server found for node type ${NODE_TYPE_LABEL[nodeType]}.'
- Added destroy method to the global Tatum SDK instance
- Renamed RPC list domain from com to io
- Added Optimism and Polygon RPC calls archice
- Updated npm package name from @tatumcom/js to @tatumio/tatum.
- Updated npm token to ensure correct package retrieval.
- Made changes to the readme page for improved documentation.
- Fix rpc calls without api key & Added haqq archive/non-archive calls
- Selected Archive/Non-Archive node for Ethereum RPC calls based on method
- Several Tron RPC calls fixed
- Update all RPC calls to return unmodified data
- Extended JSON stringify to see error message in case of error to Loadbalancer
- Added JSON stringify to see error message in case of error to Loadbalancer
- Fixed not working Solana RPC calls
- Change Tron RPC calls error handling (to accommodate Tron RPC returning 200 status code even on error)
- Fixed not working Tron RPC calls
- All RPC methods are returning
ResponseDto
object with fields:data
,error
,status
.
- Fixed custom nodes configuration
- renamed index.md to readme.md
- Load balancer feature for Btc, Ltc, Doge, Eth, Flare, Haqq.
- Load balancer is used managing RPC calls to nodes in a blockchain network. It maintains a list of available nodes and their status, and it automatically selects the most responsive node for subsequent RPC calls.
- Added new module for getting current fee for Evm and Utxo chains.
- Refactoring TatumSdk class to return specific blockchain class on
init
instead of one generic class.
- Added new module for fungible tokens with methods
getBalance
,createNewFungibleToken
,getTokenMetadata
andgetAllFungibleTransactions
.
- Added
rates
submodule includinggetCurrentRate
andgetCurrentRateBatch
methods for obtaining current fiat/crypto exchange rates.
- Changed internal api calls for creation of NFT (
nft.createNftCollection
) / MultiToken (nft.createMultiTokenNftCollection
) collections insidenft
submodule and MetaMask integration inwalletProvider
submodule.
- Fixed TRON RPC params
- Added docs to TRON RPC
- getAllNftTransactionsByAddress required params number reduced
- Added support for creation of NFT (
nft.createNftCollection
) / MultiToken (nft.createMultiTokenNftCollection
) collections on EVM chains like Ethereum, Polygon, Celo and Binance Smart Chain insidenft
submodule.
- Added docs for Solana and XRP RPC
- Changed the underlying REST API call for metaMask deploy* contracts function
- XRP naming convention on the SDK side
- Expanded type exports
- Added support for native public RPC calls to TRON blockchain
- Change params of
createFungibleToken
,createErc1155NftCollection
andcreateNftCollection
methods
- Fixed
createFungibleToken
method - wrong initial supply calculation
- Fixed
createErc1155NftCollection
andcreateFungibleToken
methods - wrong API endpoint was used
- Added support for reading deployed smart contract address via EVM-based helper function
getContractAddress(txHash: string): Promise<string | null>
- Added support for Deploying contracts using MetaMask. It's possible to deploy NFT Collections (ERC-721/1155) or Fungible Tokens (ERC-20) directly from the browser.
- Add comments to input parameters for Solana RPC
- Added support for native public RPC calls to Solana blockchain
- Added support for native public RPC calls to XRP blockchain
- Support for
Contract Address Log Event
notification type - TRON chain notifications
- SOLANA chain notifications
- Fixed wrong decimals in WalletProvider MetaMask signing
[1.4.3] - 2023.04.27
- Fixed wrong BigNumber import
- Added missing
getchainstats
method to UTXO RPC calls
- Fixed optional
to
parameter in custom transaction payload for MetaMask signing
- Added support for transferNft using MetaMask WalletProvider.
- Added support for multiple API Keys in the configuration (V1 and V2).
- Added support for WalletProvider submodule. This submodule enables seamless interaction with external wallets like Metamask or Phantom within the browser. The Wallet Provider submodule allows the SDK to communicate with various wallet providers, streamlining the process of signing transactions, querying account balances, and interacting with smart contracts directly through popular browser wallets.
- Added possibility to use custom RPC provider for any of the blockchain. Configuration parameter for this option is
rpcUrl
. If this parameter is set, then the SDK will use this URL for all RPC calls. If this parameter is not set, then the SDK will RPC provisioned by Tatum. List of supported blockchains is available here.
- Fixed parameter names of nft.getNFTsInCollection
- Added parameter
address
to address.getBalance response to precisely identify the address for which the balance is returned.
- Added support for Address submodule. This submodule simplifies wallet management across multiple blockchains by allowing you to fetch wallet balances and retrieve transactions for a given address. With the Address submodule, you can easily manage your wallets and monitor transactions, making your blockchain application development more efficient and user-friendly.
- Minor changes in the code - documentation, types moving between files etc.
- Added missing ETH RPC calls
eth_getProof
- Fixed RPC call
trace_callMany
- wrong order of arguments were passed - Fixed all RPC calls
trace_*
- wrong naming of the method was used
- Added missing ETH RPC calls
maxPriorityFeePerGas
and add txPoolStatusinclude
parameter
- Added support for NFT submodule. This submodule offers a comprehensive suite of tools for working with Non-Fungible Tokens (NFTs). With the NFT submodule, you can query the balance of NFTs on an address, retrieve NFT transactions associated with a specific address, explore NFTs within a collection or identify the owners of a particular NFT.
- Fixed exports
- Fixed exports
- Added support for native RPC calls to UTXO and EVM based blockchains
- Changed the way how the SDK is initialized. Now it is required to choose the blockchain and then initialize the SDK with the blockchain specific configuration.
- Removed support for Open Network
- Added get fastest URL method for a specific blockchain from Open Network
- Added graceful shutdown of the SDK
- Added support for block difference to Open Network
- Added support for multiple static URLs with load balancing to Open Network
- Added support for OpenNetwork network
- Removed dependency on Axios - replaced with Fetch API
- Due to above, minimum Node version is now >= 18
debug
config field was renamed toverbose
- renamed
TatumSdk
toTatumSDK
as a main entry point
- 13 new notification types to subscribe to
- Added basic notification functionality like subscribe to address event, subscribe and unsubscribe to address event, list all subscriptions and webhooks.