- Updated dependencies []:
- @moralisweb3/[email protected]
-
#912
26848dc2d
Thanks @ErnoW! - Update api types to include latest features and fixes of evmApi and streams. This includes:- removal of deprecated
subdomain
andproviderUrl
params - evm endpooint for
getMultipleNFTs
- evm endpoint updated for
getNFTContractTransfers
to includefromBlock
,toBlock
,fromDate
andtoDate
params - streams support for
getNativeBalances
- removal of deprecated
-
Updated dependencies [
26848dc2d
]:- @moralisweb3/[email protected]
-
#905
33230c43c
Thanks @Y0moo! - Added missing "normalizeMetadata" parameter to getContractNFTsOperation, getNFTMetadataOperation, getNFTOwnersOperation, getNFTTokenIdOwnersOperation and getWalletNFTsOperation -
Updated dependencies []:
- @moralisweb3/[email protected]
- #879
52a8160d9
Thanks @FedericoAmura! - Add support for stream triggers
-
#902
b703c5517
Thanks @b4rtaz! - Fixed thegetWalletNFTTransfers()
method. Now the method returns correct values of NFT transfers. -
Updated dependencies [
439d6e564
,2dcf75f8a
,52a8160d9
]:- @moralisweb3/[email protected]
- #865
a8c2175c2
Thanks @FedericoAmura! - Get transactions verbose support added.
-
#882
f709e1179
Thanks @b4rtaz! - Fixed thegetContractEvents()
method. -
#883
31ef229ad
Thanks @b4rtaz! - Fixed thegetNFTTrades()
method. -
#876
248089ffa
Thanks @b4rtaz! - Added the ARBITRUM network to theEvmChain
type. -
Updated dependencies [
338ee39e8
]:- @moralisweb3/[email protected]
-
#863
0cefcef6
Thanks @b4rtaz! - Added the PALM network to theEvmChain
type. -
Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
-
#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)
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:
@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.
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
The parameters and return types are now exported for every api operation. These are exported from
moralis/common-evm-utils
for evm api methodsmoralis/common-sol-utils
for sol api methodsmoralis/common-auth-utils
for auth methodsmoralis/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;
As a first step to provide better client-side support, all datatypes are now usable in server-side and client-side.
- Use
- Updated dependencies [
f1336a35
,62036ef3
,1374573d
]:- @moralisweb3/[email protected]
-
#818
08622cd9
Thanks @ErnoW! - IncludetransactionIndex
andlogIndex
inErc20Transfer
results -
Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
-
#749
d87f37c5
Thanks @ErnoW! - Due to inconsistencies in the api regardingcontractType
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 []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies [
77eb29bf
]:- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
-
#714
42893723
Thanks @ErnoW! - Renamenetwork
param tonetworkType
forMoralis.Streams
andMoralis.Auth
, to communicate more clearly the purpose of this param. Also make this value optional and default to"evm"
-
Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies [
d79800ad
]:- @moralisweb3/[email protected]
-
#673
62275677
Thanks @b4rtaz! - Support not definedcontractType
for NFT types. -
Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies [
c719cc2f
]:- @moralisweb3/[email protected]
- Updated dependencies [
7fffd1e4
]:- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- #652
7e83894
Thanks @ErnoW! - Add Moralis.EvmApi.nft.getWalletNFTCollections() to return all nft collections of a specified address
- Updated dependencies []:
- @moralisweb3/[email protected]
-
#628
a6b30fc
Thanks @b4rtaz! - Fixed a wrong calculated pagination size. Added thehasNext()
method to a paginated result. Now you must call it before you call thenext()
method.let response = await Moralis.EvmApi.token.getNFTOwners({ /* ... */ }); while (response.hasNext()) { response = await response.next(); // ... }
-
Updated dependencies []:
- @moralisweb3/[email protected]
-
#614
7fa4654
Thanks @sogunshola! - Added technical documentation for EvmTransaction datatype -
Updated dependencies []:
- @moralisweb3/[email protected]
- #607
a0ece52
Thanks @ErnoW! - Fix avalanche chainId from 43113 to 43114 when usingEvmChain.AVALANCHE
-
#597
761d0d7
Thanks @b4rtaz! - Corrected TypeScript definition of themaybe()
method. This affects on a few EVM types. -
Updated dependencies [
761d0d7
]:- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
-
#579
30f69c3
Thanks @b4rtaz! - NullablecontractType
for the getNFTMetadata() method support. -
Updated dependencies []:
- @moralisweb3/[email protected]
-
639053e
Thanks @ErnoW! - # Release of v2.0This 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).
The new sdk comes with the following featurs:
Moralis.EvmApi
: A set of methods to interact and read from EVM chainsMoralis.SolApi
: A set of methods to interact and read from Solana networksMoralis.Auth
: Utilities to implement web3 authentication in NodeJs
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)
For more info see the docs: http://docs.moralis.io Or reach out in our forums: https://forum.moralis.io
-
#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
andtoken.thumbnail
, - adding an optional token reference for
Erc20Value
. This can be used by callingErc20Value.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 accounterc20Value.decimals
returns the decimalserc20Value.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 anErc20Value
object with associated token information.
- geters for Erc20 for:
-
#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
-
#535
279507c
Thanks @b4rtaz! - Replaced BigNumber from @ethersproject by own implementation. -
Updated dependencies [
ed75131
,d413073
,639053e
,30b7f4b
,4683492
,7f0fc3f
,61b8759
,81effa1
,d525351
,36dd9a9
,9e67989
,d450294
,70e6227
,51e0446
,279507c
]:- @moralisweb3/[email protected]
-
#570
fa082b6
Thanks @ErnoW! - Fix equality check of decimals in Erc20 -
Updated dependencies []:
- @moralisweb3/[email protected]
-
#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
- Updated dependencies [
51e0446
]:- @moralisweb3/[email protected]
-
#562
4683492
Thanks @ErnoW! - Update type definition and resolvers after changes in the Evm Api -
Updated dependencies [
4683492
]:- @moralisweb3/[email protected]
-
#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
andtoken.thumbnail
, - adding an optional token reference for
Erc20Value
. This can be used by callingErc20Value.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 accounterc20Value.decimals
returns the decimalserc20Value.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 anErc20Value
object with associated token information.
- geters for Erc20 for:
- Updated dependencies [
d413073
]:- @moralisweb3/[email protected]
- Updated dependencies []:
- @moralisweb3/[email protected]
- #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.
- Updated dependencies [
36dd9a9
,3f511ed
]:- @moralisweb3/[email protected]
- Updated dependencies [
2948339
]:- @moralisweb3/[email protected]
-
Updated dependencies [
81effa1
,81effa1
,70e6227
]:- @moralisweb3/[email protected]