- Removed support for cronos testnet subscriptions
- Added support for monad testnet and unichain mainnet subscriptions
- Added monad
- Added unichain
- Updated SDK to call new version of data-api endpoints
- Added support for Ethereum Hoodi
- Added support for berachain mainnet subscriptions
- Added berachain
- Update version to release
- Fixed tests failing
- Added sonic & kaia
- Removed BNB support
- Fixed Tatum Connector retry logic causing generic error
- Support for Bitcoin Testnet 4
- Fixed Tatum Connector issue with process is undefined on the pure browser
- Fixed and refactored some tests
- Replaced Ton method
getTokenMetadatawith workinggetTokenData
- EOS prefix slash missing
- Relax SSRF checks and allow tatum gateway nodes
- Rename delegation methods
- Support for Ton basic api
- Support for zkSync mainnet & testnet
- Support for Ton mainnet & testnet
- Disable auto-discovery of RPC nodes when there is only one node.
- Disable Cardano Rosetta testnet tests
- Support for Casper mainnet
- Support for Electrs & Rostrum testnet
- Support for cosmos additional api
- Fix Kadena rpc double slash
- Support for Electrs calls and Iota testnet, renamed bch rostrum
- Support for Data API on Polygon Amoy
- Support for Avalanche Notifications
- Support for Polygon Amoy
- Polygon Mumbai
- Rostrum server.banner method
- Added support for Iota API calls
- Improved
getBalancemethod inaddressmodule by introducingtokenTypesfilter along withnativeoption.
- Fixed types for
getTransactionsmethod inaddressmodule. - Updated undici dependency.
- Added support for Cosmos API calls
- Added support for Rostrum RPC calls
- Added support for Kadena RPC calls
- Added support for Base and Base Sepolia testnet subscriptions.
- Fixed Solana RPC call for
getFeeForMessagemethod. The result is now properly parsed and returns context information with value.
- Added support for Cronos and Cronos testnet subscriptions.
- Added RPC support for the BASE network. Users can now make Base RPC calls using the
Network.BASEnetwork.
- Added support for simplified way of configuring api key without specifying version.
- Marked old way of configuring api key through object specifying version as
deprecated. - Fixed some tests, namely those related to
arb-testneteth_chainIdRPC EVM method.
- Removed support for the Goerli network.
- Added support for Cronos and Fantom rpc loadbalancer.
- Fixed the
getBlockmethod for Doge, addressing an issue with the second boolean parameter.
- Fixed tests. Temporarily disabled
data-apirelated tests andeostests.
- Added support for Flare, Flare Coston, Flare Coston 2 and Flare Songbird subscriptions.
- Updated
addressmodule for EVM chains. Users can add parametertokenAddresstogetTransactionsmethod to filter transactions by token address.
- Updated archive condition for evm rpc calls
- Added support for Solana load balancer based on the method name.
- Added support for Holesky Ethereum testnet for subscriptions.
- Fix import of LoadBalancer to keep it working in browser
- Drop support for faucet claims via SDK
- Added RPC support for the STELLAR_TESTNET network. Users can now make Stellar RPC calls using the
Network.STELLAR_TESTNETnetwork.
- Assert development environment if
NODE_ENVis not set
- Use globalThis instead of
process.envfor settingTatumDevelopmentLogger'sisWelcomeDisabledflag
- Added logging support
- Updated dependencies
- Fix get strict methods params for STELLAR network.
- Fix optional params for STELLAR network.
- Added RPC support for the STELLAR network. Users can now make Stellar RPC calls using the
Network.STELLARnetwork.
- Fix potential memory issues with
LoadBalancer.
- Added RPC support for the XINFIN network. Users can now make RPC calls to these network using the
Network.XINFINnetwork.
- Fixed logic of IPFS upload, now upload passes request using client's version
- Adjust logic redirecting for getBlockByNumber to call normal nodes for latest block
- Improved
LoadBalancerstability
- Added RPC support for the CARDANO_ROSETTA network. Users can now make RPC calls to these network using the
Network.CARDANO_ROSETTAnetwork.
- Fixed lb archive fallback
- Fixed Algorand
ApplicationSearchParamsto camelCase.
- Fixed
LoadBalancerthrowing from setTimeout, it should now throw from actual method calls.
- Added RPC support for the ALGORAND network. Users can now make RPC calls to these network using the
Network.ALGORAND_ALGOD,Network.ALGORAND_ALGOD_TESTNET,Network.ALGORAND_INDEXER,Network.ALGORAND_INDEXER_TESTNETnetwork.
- Tezos methods to support local signing and injection of operations.
- Tezos address balances fixes. Call to
address.getBalancereturns balances of all tokens for a given address. This call accepts only oneaddressas a parameter, not an array of addresses.
- Naming of the Tezos RPC methods
- Added RPC support for the TEZOS network. Users can now make RPC calls to these network using the
Network.TEZOSnetwork.
- Fixed usage of
fromBlockandtoBlockparams for UTXO-based blockchains inAddress.getTransactions
- Configurable extension usage typing
- Fixed LoadBalancer class import which cause to fail import in the browser/codepen
- Added RPC support for the BNB network. Users can now make RPC calls to these network using the
Network.BNBnetwork.
- Added Beacon chain v1 support for the Ethereum
- Added estimatefee rpc method to the Bitcoin Cash network
- Added IPFS get file data method
- Fixed CONTRACT_ADDRESS_LOG_EVENT data in getAll() Notification method
- Fixed response parsing for calls where the body is not defined e.g. DELETE endpoints
- Added RPC support for the CELO network. Users can now make RPC calls to these network using the
Network.CELOnetwork.
- Chiliz notification access
- Chiliz notification support
- Make Blockchain Classes type safe
TatumUtilschainId <->Networkmappings always return usable value or throw error for ease of use.
TatumUtilsadded with access to chainId <->Networkmapping
- Loosen types for extension usage to better support optional configs.
- Addition of
getRpc<T>(): TtoITatumSdkContainerfor best RPC support in extensions.
- Added IPFS upload and NFT mint in one action. Metadata will be prepared and uploaded automatically
- Added
walletProviderto TatumSdkChain class so any chain can support wallet extensions.
- Added RPC support for the SOLANA network. Users can now make RPC calls to these network using the
Network.SOLANAnetwork.
- Added
faucetsubmodule withfundmethod for requesting testnet native tokens from availableTatumfaucets.
- Updated loadbalancer logging with detailed logs
- Update debug storage range parameters. The
debugStorageRangeAtfunction in the EvmRpc now takes a number instead of a string for themaxResultsparameter.
- Added RPC support for the AVALANCHE_C network. Users can now make RPC calls to these network using the
Network.AVALANCHE_Cnetwork.
- Fixed
tatumSdk.walletProvider.use()method to return properly typed extension instance is case of custom typed configurations.
- Loosen types for extension registration purposes to better support optional config.
- Nft express minting over created collection for EVM chains.
- Added RPC support for the BITCOIN_CASH network. Users can now make RPC calls to these network using the
Network.BITCOIN_CASHnetwork.
- Added RPC support for the KLAYTN network. Users can now make RPC calls to these network using the
Network.KLAYTNnetwork.
- Added RPC support for the Holesky network. Users can now make RPC calls to these network using the
Network.ETHEREUM_HOLESKYnetwork.
- Added RPC support for the XRP network. Users can now make RPC calls to these network using the
Network.XRPnetwork.
- Added RPC support for the ZCash network. Users can now make RPC calls to these network using the
Network.ZCASHnetwork.
- Added RPC support for the Ethereum Classic network. Users can now make RPC calls to these network using the
Network.ETHEREUM_CLASSICnetwork.
- Fixed signed raw transaction body conversion for Tron.
- Exposed tatum connector types from the root of the package.
- Wallet provider
use()method now returns properly typed extension instance. - Exposed wallet provider types from the root of the package.
- Extension now has to implement list of supported
Network.
- [BREAKING CHANGE]
TatumSdkExtensionnow containsabstract supportedNetworks: Network[].
- Added RPC support for the Eos network. Users can now make RPC calls to these network using the
Network.EOSnetwork.
- Added RPC support for the Horizen Eon Gobi and Chiliz networks. Users can now make RPC calls to these networks using the
Network.HORIZEN_EON_GOBIandNetwork.CHILIZnetwork.
- Extension lifetime management methods made optional to implement.
- Extension lifetime management method destroy() made async and awaited.
- [BREAKING CHANGE]
tatumSdk.destroy(): voidwas replaced withtatumSdk.destroy(): Promise<void>.
- Leveraging Extension Ecosystem a specialised Wallet Provider type of extensions was added.
tatumSdk.walletProvider.use(type: TatumSdkWalletProvider)method was added.
- [BREAKING CHANGE]
tatumSdk.walletProvider.metaMaskwas replaced withtatumSdk.walletProvider.use(MetaMask). - [BREAKING CHANGE]
tatumSdk.walletProvider.metaMask.connect()was replaced withtatumSdk.walletProvider.use(MetaMask).getWallet(). - [BREAKING CHANGE]
tatumSdk.walletProvider.metaMask.customPayload()was replaced withtatumSdk.walletProvider.use(MetaMask).signAndBroadcast().
- Capability to initialize
TatumSDKwith various extensions from Extension Ecosystem using the init() method andTatumConfig.configureExtensions. - Encapsulation of
typedifunctionalities withinTatumSdkContainer, ensuring that there are no enforced dependencies on the extensions. TatumSdkExtensionabstract 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
Rpcmodule
- 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
addresssubmodule. -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
initRemoteHostsmethod withinLoadBalancerRpc.ts. This check ensures that URLs end with 'rpc.tatum.io' before loading them to avoid potential SSRF attacks. To accommodate this change,initRemoteHostshas also been refactored to accept anInitRemoteHostsParamsobject. In addition, an optional parameternoSSRFCheckhas 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
addressas 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
dashboardLogwhich 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
ResponseDtoobject 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
initinstead of one generic class.
- Added new module for fungible tokens with methods
getBalance,createNewFungibleToken,getTokenMetadataandgetAllFungibleTransactions.
- Added
ratessubmodule includinggetCurrentRateandgetCurrentRateBatchmethods for obtaining current fiat/crypto exchange rates.
- Changed internal api calls for creation of NFT (
nft.createNftCollection) / MultiToken (nft.createMultiTokenNftCollection) collections insidenftsubmodule and MetaMask integration inwalletProvidersubmodule.
- 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 insidenftsubmodule.
- 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,createErc1155NftCollectionandcreateNftCollectionmethods
- Fixed
createFungibleTokenmethod - wrong initial supply calculation
- Fixed
createErc1155NftCollectionandcreateFungibleTokenmethods - 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 Eventnotification 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
getchainstatsmethod to UTXO RPC calls
- Fixed optional
toparameter 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
addressto 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
maxPriorityFeePerGasand add txPoolStatusincludeparameter
- 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
debugconfig field was renamed toverbose- renamed
TatumSdktoTatumSDKas 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.