Skip to content

Latest commit

 

History

History
1153 lines (664 loc) · 55.6 KB

CHANGELOG.md

File metadata and controls

1153 lines (664 loc) · 55.6 KB

@moralisweb3/evm-utils

2.27.2

Patch Changes

2.27.1

Patch Changes

2.27.0

Minor Changes

Patch Changes

2.26.9

Patch Changes

2.26.8

Patch Changes

  • #1220 77d125401e Thanks @b4rtaz! - Updated the types of fromDate request fields. This change affects the getNFTTrades and getWalletHistory endpoints.

  • Updated dependencies []:

2.26.7

Patch Changes

2.26.6

Patch Changes

2.26.5

Patch Changes

2.26.4

Patch Changes

2.26.3

Patch Changes

2.26.2

Patch Changes

2.26.1

Patch Changes

2.26.0

Minor Changes

  • #1194 a5c088bc4a Thanks @b4rtaz! - The toJSON method of the EvmInternalTransaction class returns now the same format as the API (names with underscores).

  • #1194 a5c088bc4a Thanks @b4rtaz! - The address property of the EvmWalletActiveChains has EvmAddress type now.

  • #1194 a5c088bc4a Thanks @b4rtaz! - Added the getWalletHistory method to the EVM API.

Patch Changes

2.25.4

Patch Changes

2.25.3

Patch Changes

2.25.2

Patch Changes

2.25.1

Patch Changes

2.25.0

Minor Changes

  • #1179 31d73a721 Thanks @b4rtaz! - Updated the types of the toBlock and toDate properties in the GetNFTTradesOperationRequest interface to number and Date, respectively.

Patch Changes

  • #1181 5caa82758 Thanks @b4rtaz! - Added getTopCryptoCurrenciesByMarketCap and getTopCryptoCurrenciesByTradingVolume methods to the EVM API.

  • #1179 31d73a721 Thanks @b4rtaz! - Added getWalletTokenBalancesPrice, getPairPrice, resolveAddressToDomain, getWalletNetWorth methods to the EVM API.

  • Updated dependencies []:

2.24.3

Patch Changes

2.24.2

Patch Changes

2.24.1

Patch Changes

2.24.0

Patch Changes

2.23.2

Patch Changes

2.23.1

Patch Changes

2.23.0

Minor Changes

  • #1164 18c36c8b0 Thanks @b4rtaz! - This version implements breaking changes in the Moralis EVM API.

    Deleted endpoints:

    • getErc20Approvals,
    • getErc20Burns,
    • getErc20Mints,
    • getErc20Transfers,
    • searchNFTs.

    New endpoints:

    • getBlockStats,
    • getNFTCollectionStats,
    • getNFTTokenStats,
    • getTokenStats,
    • getWalletStats.

    Updated endpoints:

    • getTokenTransfers, getNFTs, getWalletNFTCollections, getNFTTrades, getNFTTransfers, getContractNFTTransfers, getNFTOwners, getTokenAddressTransfers, getWalletTokenIdTransfers, getAllTokenIds, getNFTTransfersFromToBlock, getNFTTransfersByBlock, getTokenIdOwners, getTransactions, getContractEvents - the total field in the response is not available anymore, the disable_total parameter is now removed,
    • getNFTTransfers - doesn't support the direction parameter anymore,
    • getLogsByAddress - the topic0 parameter is now required, topic1, topic2 and topic3 are now removed.

Patch Changes

2.22.5

Patch Changes

  • a1dca27df Thanks @b4rtaz! - Extend the arguments of the getContractEvents endpoint to include the cursor property.

  • Updated dependencies []:

2.22.4

Patch Changes

2.22.3

Patch Changes

2.22.2

Patch Changes

2.22.1

Patch Changes

2.22.0

Patch Changes

  • #1138 45fcd84da Thanks @b4rtaz! - The package includes now the operationsV2All collection for the backward compatibility. This collection will be deleted in the future.

  • Updated dependencies []:

2.21.0

Patch Changes

2.20.0

Minor Changes

  • #1118 0f5444575 Thanks @b4rtaz! - Breaking change: The getErc20Transfers method returns instances of the EvmErc20Transfer class from now. Before this method has returned instances of the Erc20Transfer class.

  • #1123 8a3bef8c2 Thanks @b4rtaz! - Breaking change: Deleted support for Cronos Testnet and Avalanche Testnet.

  • #1118 0f5444575 Thanks @b4rtaz! - Breaking change: The tokenDecimals property of the EvmMarketDataERC20TokenItem class is number now.

  • #1120 833feaf20 Thanks @b4rtaz! - Breaking change: All format() methods are deprecated now.

  • #1118 0f5444575 Thanks @b4rtaz! - Breaking change: The Erc20Transfer class is renamed to Erc20Transaction. From now getTokenTransfers and getWalletTokenTransfers methods return instances of the renamed class.

Patch Changes

  • #1118 0f5444575 Thanks @b4rtaz! - Added to Erc20Burn, Erc20Mint and Erc20Approval classes 4 new fields: tokenName, tokenLogo, tokenSymbol and tokenDecimals. These classes are used by the following EVM API methods: getErc20Approvals, getErc20Burns and getErc20Mints.

  • Updated dependencies []:

2.19.1

Patch Changes

2.19.0

Minor Changes

  • #1101 586a71133 Thanks @b4rtaz! - Breaking change: The utils.endpointWeights() methods returns the EvmEndpointWeights class as the result.

  • #1101 586a71133 Thanks @b4rtaz! - Breaking change: The format() method has been deleted from the EvmAddress class and the EvmChain class. Please format the value by using a proper class property.

  • #1101 586a71133 Thanks @b4rtaz! - Breaking change: The nft.getNFTTrades() methods returns the EvmTrade class as the result. The EvmNftTrade class has been deleted. The SDK uses now the EvmTrade instead.

  • #1101 586a71133 Thanks @b4rtaz! - Breaking change: The utils.web3ApiVersion() methods returns the EvmWeb3version class as the result.

Patch Changes

2.18.4

Patch Changes

2.18.3

Patch Changes

2.18.2

Patch Changes

2.18.1

Patch Changes

2.18.0

Minor Changes

Patch Changes

2.17.0

Minor Changes

  • #1057 e96c34ab4 Thanks @ErnoW! - Add getErc20Mints endpoint at Moralis.EvmApi.token.getErc20Mints()

Patch Changes

2.16.1

Patch Changes

2.16.0

Patch Changes

2.15.0

Patch Changes

2.14.3

Patch Changes

2.14.2

Patch Changes

2.14.1

Patch Changes

2.14.0

Patch Changes

2.13.0

Patch Changes

2.12.0

Minor Changes

  • #980 a16b47566 Thanks @FedericoAmura! - Updated operations to properly support updated endpoints. New endpoint to get the native balance for multiple addresses:

    • added Moralis.EvmApi.getNativeBalancesForAddresses()

    Endpoints to get/add/remove addresses to an authenticated profile:

    • added Moralis.Auth.getAddresses()
    • added Moralis.Auth.requestBind()
    • added Moralis.Auth.verifyRequestBind()
    • added Moralis.Auth.removeBind()
    • added Moralis.Auth.verifyRemoveBind()

Patch Changes

  • #986 301490a3d Thanks @ErnoW! - Fix response of EvmApi.nft.getNFTTransfersByBlock:

    • result.value shows now the value correctly in wei (As a BigNumber)
    • result.tokenAddress shows not the correct token address
  • Updated dependencies []:

2.11.1

Patch Changes

2.11.0

Minor Changes

  • 98bd66b8e Thanks @b4rtaz! - Renamed the block_hash field to hash for the response of the getDateToBlock() method (according to the API changes). Introduced the EvmBlockDate class as a response of the getDateToBlock() method.

Patch Changes

2.10.3

Patch Changes

2.10.2

Patch Changes

  • #912 26848dc2d Thanks @ErnoW! - Update api types to include latest features and fixes of evmApi and streams. This includes:

    • removal of deprecated subdomain and providerUrl params
    • evm endpooint for getMultipleNFTs
    • evm endpoint updated for getNFTContractTransfers to include fromBlock, toBlock, fromDate and toDate params
    • streams support for getNativeBalances
  • Updated dependencies [26848dc2d]:

2.10.1

Patch Changes

  • #905 33230c43c Thanks @Y0moo! - Added missing "normalizeMetadata" parameter to getContractNFTsOperation, getNFTMetadataOperation, getNFTOwnersOperation, getNFTTokenIdOwnersOperation and getWalletNFTsOperation

  • Updated dependencies []:

2.10.0

Minor Changes

Patch Changes

2.9.0

Minor Changes

Patch Changes

2.8.2

Patch Changes

  • #863 0cefcef6 Thanks @b4rtaz! - Removed the duplicated apiId property from the EvmChain type.

2.8.1

Patch Changes

2.8.0

Minor Changes

  • #777 f1336a35 Thanks @ErnoW! - Move @moralisweb3/core package to @moralisweb3/common-core
  • #846 1374573d Thanks @ErnoW! - # Api responses (breaking change)

    For any api call, you get a resultAdapter response. The value of the toJSON() value has changed. Now it is the same value as .raw. Previously this caused a lot of confusion, and as both return a json. The value of this method has changed. So if you used .toJSON() on an api result you can:

    • Use .result, this will probably contain dataTypes with lots of utility functions. If you only care about the data, you can call .format() or .toJSON() on this datatype. This is the prefered way as it provides you wilt additional utilites and extra properties. We suggest you to use Typescript, to easily see the available properties/methods on these datatypes.
    • Or. use the new values (or values from .raw), these values are identical as they are provided by the internal api, without any data transformation. The types might be different than before, so please check this (we suggest to use Typescript, as all responses are typed, otherwise you can log the output and see any differences)

    Package name changes (deprecated, upcomming breaking change)

    If you're using some of our internal packages @moralisweb3/core for example then these names have been changed to differentiate between server-side packages, and packages that are compatible with client-side and server-side. We name these common-*. This is a first step to provide better client-side support:

    Migration guide

    • @moralisweb3/core -> @moralisweb3/common-core
    • @moralisweb3/evm-utils -> @moralisweb3/common-evm-utils
    • @moralisweb3/sol-utils -> @moralisweb3/common-sol-utils

    Change your dependencies in package.json and the corresponding imports in your code to the new names.

    For the time being, the old packages will remain, and we use them to forward to the common-* package, this will be removed in a future version, so please update to the new package name.

    NextJs package

    For easy integration we created a nextJs package. See packages/next. This contains:

    • hooks to all api endpoints
    • adapter to integrate into NextJs authentication via Moralis Auth

    For a demo check out demos/nextjs

    Operation types

    The parameters and return types are now exported for every api operation. These are exported from

    • moralis/common-evm-utils for evm api methods
    • moralis/common-sol-utils for sol api methods
    • moralis/common-auth-utils for auth methods
    • moralis/common-streams-utils for streams methods

    For example:

    import Moralis from 'moralis';
    import { GetContractNFTsRequest, EvmChain, GetContractNFTsResponse } from 'moralis/common-evm-utils';
    
    const getBlockOptions: GetContractNFTsRequest = {
      address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
      chain: EvmChain.ETHEREUM,
    };
    
    let result: GetContractNFTsResponse;
    
    const response = await Moralis.EvmApi.nft.getContractNFTs(getBlockOptions);
    result = response.result;

    Dataytypes support in client-side projects

    As a first step to provide better client-side support, all datatypes are now usable in server-side and client-side.

Patch Changes

2.7.4

Patch Changes

2.7.3

Patch Changes

2.7.2

Patch Changes

2.7.1

Patch Changes

2.7.0

Patch Changes

2.6.7

Patch Changes

2.6.6

Patch Changes

  • #762 11ba50f7 Thanks @ErnoW! - Better equality check for EvmTransactionReceipt: chain+hash+address
  • #749 d87f37c5 Thanks @ErnoW! - Due to inconsistencies in the api regarding contractType on NFT datatypes, we have removed the tight validation check. This means that the type is not 'ERC721' | 'ERC1155' anymore, but a string. This allows other contractTypes to be parsed without throwing errors

  • Updated dependencies []:

2.6.5

Patch Changes

2.6.4

Patch Changes

2.6.3

Patch Changes

2.6.2

Patch Changes

2.6.1

Patch Changes

  • #714 42893723 Thanks @ErnoW! - Rename network param to networkType for Moralis.Streams and Moralis.Auth, to communicate more clearly the purpose of this param. Also make this value optional and default to "evm"

  • Updated dependencies []:

2.6.0

Patch Changes

2.5.8

Patch Changes

2.5.7

Patch Changes

2.5.6

Patch Changes

2.5.5

Patch Changes

2.5.4

Patch Changes

2.5.3

Patch Changes

2.5.2

Patch Changes

2.5.1

Patch Changes

2.5.0

Patch Changes

2.4.0

Patch Changes

2.3.1

Patch Changes

2.3.0

Minor Changes

  • #652 7e83894 Thanks @ErnoW! - Add Moralis.EvmApi.nft.getWalletNFTCollections() to return all nft collections of a specified address

Patch Changes

2.2.0

Patch Changes

  • #628 a6b30fc Thanks @b4rtaz! - Fixed a wrong calculated pagination size. Added the hasNext() method to a paginated result. Now you must call it before you call the next() method.

    let response = await Moralis.EvmApi.token.getNFTOwners({
      /* ... */
    });
    
    while (response.hasNext()) {
      response = await response.next();
      // ...
    }
  • Updated dependencies []:

2.1.1

Patch Changes

2.1.0

Patch Changes

  • #607 a0ece52 Thanks @ErnoW! - Fix avalanche chainId from 43113 to 43114 when using EvmChain.AVALANCHE

2.0.3

Patch Changes

2.0.2

Patch Changes

2.0.1

Patch Changes

2.0.0

Major Changes

  • 639053e Thanks @ErnoW! - # Release of v2.0

    This release contains many breaking changes as it moves from a Javascript SDK (for react-native, browser, and NodeJs) to a NodeJs-only SDK.

    Note: we will still support the v1.x version as a moralis-v1 package (see https://github.com/MoralisWeb3/Moralis-JS-SDK-v1).

    These changes are to focus on Backend-only features, to facilitate self-hosted servers. Below you will find an overview of removed features and how to replace them:

    • Plugins: plugins in Moralis are mostly a wrapper around an API, where the API secret is managed on the moralis backend. When using the moralis sdk in NodeJs, you can safely implement your API secret, and implement any api (opensea/pinata etc.) directly without the need of utilities in the moralis sdk
    • Connecting to EVM: If you want to connect to EVM chains client-side, then this sdk is not suitable anymore. There are other open-source libraries that will have lots of utilities that can help you with this (web3js, ethers, wagmi, useDapp, web3-react)
    • Server interaction: interacting with the server can be done by installing the parse-server sdk (parse).

    Features

    The new sdk comes with the following featurs:

    • Moralis.EvmApi: A set of methods to interact and read from EVM chains
    • Moralis.SolApi: A set of methods to interact and read from Solana networks
    • Moralis.Auth: Utilities to implement web3 authentication in NodeJs

    Get started

    To get started, simply call

    Moralis.start({
      apiKey: 'YOUR_API_KEY'
    })
    

    Then you can access the apis via

    • Moralis.EvmApi.account.getNFTs(options)
    • Moralis.SolApi.account.getNFTs(options)
    • Moralis.Auth.requestMessage(options)

    More info

    For more info see the docs: http://docs.moralis.io Or reach out in our forums: https://forum.moralis.io

Minor Changes

  • #560 d413073 Thanks @ErnoW! - Improve Erc20Value logic by:

    • geters for Erc20 for: token.decimals, token.name, token.symbol, token.contractAddress, token.chain, token.logo, token.logoHash and token.thumbnail,
    • adding an optional token reference for Erc20Value. This can be used by calling Erc20Value.create(amount, { token })
    • fixes and additions for output of Erc20Value:
      • erc20Value.value now returns the value in a decimal string "123.567"
      • erc20Value.amount returns the Bignumber value withtout taking decimals into account
      • erc20Value.decimals returns the decimals
      • erc20Value.toNumber() returns the value in a decimal number (or throws an error if the value is too big): 123.456
      • erc20Value.display() returns the value in a readable string with the token symbol if available: "123.456 LINK" (or "123.456")
    • Moralis.EvmApi.getTokenBalances() now returns an Erc20Value object with associated token information.
  • #570 fa082b6 Thanks @ErnoW! - Validation check of undefined values on array responses from api
  • #568 51e0446 Thanks @ErnoW! - Improve Evm datatypes and apply them to the EvmApi consistently:

    • Removed unused datatypes (mainly related to EvmTransactions)
    • Add missing datatypes
    • Add more properties to the EvmNft and EvmTransaction datatype
    • Add constant lookups for BigNumberm EvmAddress and EvmChain

Patch Changes

  • #562 4683492 Thanks @ErnoW! - Update type definition and resolvers after changes in the Evm Api

2.0.0-beta.11

Minor Changes

  • #570 fa082b6 Thanks @ErnoW! - Validation check of undefined values on array responses from api

Patch Changes

2.0.0-beta.10

Minor Changes

  • #568 51e0446 Thanks @ErnoW! - Improve Evm datatypes and apply them to the EvmApi consistently:

    • Removed unused datatypes (mainly related to EvmTransactions)
    • Add missing datatypes
    • Add more properties to the EvmNft and EvmTransaction datatype
    • Add constant lookups for BigNumberm EvmAddress and EvmChain

Patch Changes

2.0.0-beta.9

Patch Changes

2.0.0-beta.8

Minor Changes

  • #560 d413073 Thanks @ErnoW! - Improve Erc20Value logic by:

    • geters for Erc20 for: token.decimals, token.name, token.symbol, token.contractAddress, token.chain, token.logo, token.logoHash and token.thumbnail,
    • adding an optional token reference for Erc20Value. This can be used by calling Erc20Value.create(amount, { token })
    • fixes and additions for output of Erc20Value:
      • erc20Value.value now returns the value in a decimal string "123.567"
      • erc20Value.amount returns the Bignumber value withtout taking decimals into account
      • erc20Value.decimals returns the decimals
      • erc20Value.toNumber() returns the value in a decimal number (or throws an error if the value is too big): 123.456
      • erc20Value.display() returns the value in a readable string with the token symbol if available: "123.456 LINK" (or "123.456")
    • Moralis.EvmApi.getTokenBalances() now returns an Erc20Value object with associated token information.

Patch Changes

2.0.0-beta.7

Patch Changes

2.0.0-beta.6

Minor Changes

  • #555 3f511ed Thanks @ErnoW! - Include all files from /lib in npm builds. This fixes a bug where only the index.js file and .d.ts files were included in builds.

Patch Changes

2.0.0-beta.5

Major Changes

Patch Changes

2.0.0-alpha.4

Patch Changes

  • #552 81effa1 Thanks @ErnoW! - Fix Typescript reference between the packages in production builds

2.0.0-alpha.3

Patch Changes