{"_id":"react-moralis","_rev":"61-103398f585d0ccd8da945fcb1daf2c84","name":"react-moralis","dist-tags":{"latest":"1.4.2","beta":"1.0.0-beta.3"},"versions":{"0.0.1":{"name":"react-moralis","version":"0.0.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","web3","react"],"homepage":"https://github.com/ErnoW/react-moralis","repository":{"type":"git","url":"git+https://github.com/ErnoW/react-moralis.git"},"bugs":{"url":"https://github.com/ErnoW/react-moralis/issues"},"license":"MIT","authors":[{"name":"Erno Wever","email":"erno@ernowever.com","url":"http://ernowever.com"}],"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/types","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4","typings":"^2.1.1"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","publish":"git push --tags && npm publish","lint":"eslint .","commit":"npm run git-cz","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"1d6244f26631403bbedfa62d91f43ec77b834bbe","_id":"react-moralis@0.0.1","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-dfiTtSk+EcnDzhYcOskP8sUAF3E45S2y2HwQhEaPYCg5TgxN46PAQLQbnaOKffo6D8qIC/sJZPzM/pDGbzhfPw==","shasum":"e81538db92acfe5c22a3f8f57e7799a9f959e37d","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.0.1.tgz","fileCount":39,"unpackedSize":437710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeFmPCRA9TVsSAnZWagAA6HEP/ja9ObbAJ1XBGHgy+/Xo\npmqj8IOp35pobwC9R+CI2XyK/Z/oZIj7HcpcAtklGJMG2nmxjQJw2XbXh5q6\n9KTxwxxsF9Xa/4iFguxBd+NVOY3FgNm5cY055sHbxoYOw+tnq7kEsn/ydq8c\nQelPZgO9Pg3ySQb2YlurulTOzqsQav0C0a4+FfHBZYF49AvNCWygxvMK9MVJ\ntEAd4Lfr6sFCj8E18i1g0qNCmqr58CSdVcWVxkReGITHG0tWpE4fvwJUpC1V\nwoJnjTROM77d6mS2NYGv0y81i+RrsfW6zYQZswoZjTA+FfzztPHv2R9N7nlZ\nJFnLPnit5fa3R3DpYoQJABBYlVTX/LlsMyEFdWN7/OrxpC9Gi7vIA+fU9TsB\n8Ts3ye2+X5OO71p+UaOwLcl2iaNHr2r08Tmyfhb9WIdgKBIQeKtrqrZTs1pH\n4miKklphCUkrIenYtJ5pRJKG9IGaerEwSW/QWXQaatrhQFRwEMt4SaeS1mbi\nJwEJCfkgRLDyicEJPGbIniLzcKIk+yJclFUKmndE9CqqOm12VgxQa7boccOh\nT2d5PhejLBNS/k54EGGFsK1Aq4EABmfZU44cBPgVq4O79qfsWuqJKix2OXT6\nbZ1puc8rTTYd28JkUnp6HpvFnS8YDJaaiUQ4WyCA7EioKmDz2+UbgipgH5NT\n/n67\r\n=qYLT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmp4Kn4UTqp/u+/GOy5V7losWeAsASRTrmHmNERz7JcgIhAJqYnl6S4NWKVWNDz7wt4/FUJ5+05y+VJUJvWxPwkv7+"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.0.1_1618499982958_0.5315673681581792"},"_hasShrinkwrap":false},"0.0.2":{"name":"react-moralis","version":"0.0.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","web3","react"],"homepage":"https://github.com/ErnoW/react-moralis","repository":{"type":"git","url":"git+https://github.com/ErnoW/react-moralis.git"},"bugs":{"url":"https://github.com/ErnoW/react-moralis/issues"},"license":"MIT","authors":[{"name":"Erno Wever","email":"erno@ernowever.com","url":"http://ernowever.com"}],"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/types","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4","typings":"^2.1.1"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","publish":"git push --tags && npm publish","lint":"eslint .","commit":"npm run git-cz","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"e22786d9e258d9bb30b9641bfd9f89b615241de3","_id":"react-moralis@0.0.2","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-puQfF+NjmVzYNH19bHhgfheH7oxqpeHoRu91E66gwdGkNPaeqxECbBFTdd3Y2yeeaQka69J5p9Vi2hjhkIHuxw==","shasum":"682e1d759b80fc508d4bdd82bf06e7acdcb0786e","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.0.2.tgz","fileCount":39,"unpackedSize":437806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeFm4CRA9TVsSAnZWagAAXfMP/1vILblaRvyMhWycyl1J\nv2rBJY+jSAACEaWS0b8WQ4bYkKugev746z7fZBpFnAV0QPYcMVpk155XO1rW\n8052t8GTOvJU+oXt0F0JnHoUm/LNE1XryDTCG2XvjaYz4UZOFQcCLasrD3B4\nIfSBHg03BlhuezPcgfHr3pevlD+CpO1SewUPrcNZ8BfnIO4YrDSllcdXpXPY\n95TLcLluyqwyN7s0lanN1aMnFypdNhp86rB9NRDXuqsR7hi0+hT4P9cIEE30\nmxDLPMO3z1zEXXZpZDPgjvStRigXHXLZkB6JZsKJuPFAubWzaeIjJH7+52P0\nQA8g2Pu7mRiD9TUzZWffU/bcWmtMmkOQDegh+Xf1KQ3zLDGJ765NET47YGTn\nw3yuDFJt4iC7QIzd+yv2lQGeeVrsCu0c2riVceaC8jIdeK9CMcrTXXlJjcmn\nHYAVbJTtEhSua+oG8aBCqGVm/Ci/G17bFprJyThkO5Lz5vcrAQZigjmK/u+o\nPxzlLa8o6BvM+HGxAMAsmLIjaUrgNR6uSxqGheDNf9+q6iL2s/ChNBa3qVsX\nKRoIDvA8LnRBz1v/mM4IPf/QuIiHnpVAHF0KQrwaOz9wTbx/uSXghNoLPZyd\nx0Tm2+YKou0PGm8Yx8c8TGWXEUUX9AW+gNetIuxfZyVHPDt2lU/dg5bdfkYG\nhdMT\r\n=SEuY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPm5w7B5uqYAoVNHvv7u6FuOUt7OxrRXAQTWxhG2EIwAiEA0NwUvfZjVSvslCLB4AkYfnl5cSSLfoSAc5qvxSvGtsI="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.0.2_1618500023760_0.6234829069253827"},"_hasShrinkwrap":false},"0.0.3":{"name":"react-moralis","version":"0.0.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","web3","react"],"homepage":"https://github.com/ErnoW/react-moralis","repository":{"type":"git","url":"git+https://github.com/ErnoW/react-moralis.git"},"bugs":{"url":"https://github.com/ErnoW/react-moralis/issues"},"license":"MIT","authors":[{"name":"Erno Wever","email":"erno@ernowever.com","url":"http://ernowever.com"}],"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/types","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4","typings":"^2.1.1"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","lint":"eslint .","commit":"npm run git-cz","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"92e75068cd47c0a924d7b455d995473f6accc441","_id":"react-moralis@0.0.3","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-kbq42pM79UCGsA0wc05QtdmCKwewMGN9PL+JUrtdSBn9VSW1K2T0QYH6LPkwuWpCAoHPpxy8uEUxJRniUD7/VQ==","shasum":"1d34e2172f8fe6c935fd76594752cf6dfdaddd45","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.0.3.tgz","fileCount":39,"unpackedSize":437853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeFozCRA9TVsSAnZWagAARP0P/09E7FFD+xBQVmCljHFm\n5s2Xga8luvp8UJa9zP7s8Go8qg1jeqIa8CvGmiHzXP0cyULZ4qZCI35F+q69\nrRuKh6fH7tAmry5j1lVvbjc/DOf3U60stgaq5Gfq2p7VzHp9FnX31sVhctTI\nI+e06P4fVFmWQGXQAMO3z+957ZVOz3KlidA9UC6yINIqpIBEIDnFvpfG1lky\nrOpwGam1dPhdaprx3aaQ/SXYswMpiN5+320ifatLexSyyazOyFmNuvk1rsSy\nbe6epCksHBWXQN37o85IAQ1z8JtWfezk2T4d8x3pJNdzwo1H51BhocMBgcWy\nZ1HqBW7b8JufWHZHbJnzlkI8yVWRa7r5peOCp6aHO5ce3DPW1xNJmbQ0WSE+\n3XZAGQwikT0x+qNjWoSdbYVZcAjse9E1hotwJQDYYy7Szj39wP2NDxitzLb3\nMg7LYDLg9v6fKhw+vCOfLrVXXNsKDO1TIhnFCYd4Jg3hLEHtMUAYki16/MM1\ngCtbPTMOPLMtVYMqd9j2ldqsQ6Lf2YBLxnYpgkwxgR8jYbXQ6Ei/DqUWqrz/\ncTy/5EAPjbdIwH+iulUel0kdde5VqwIHI+mkXDZCnUqhou4mXnlWjhhNPFuq\n+aqMkZaV0enFcn3Nx38li3rs+AxRkyxU1kJMC/vdwL6xh9RHVn90HRLxsavI\nClv0\r\n=oUpf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHh/8FCvuiy9HVRBYPcp1aCf7xLBITh/Y+jN7ZdEnJTwIhANSEa9Bp4EIAx5uxxgQLouXt+Q6AXVS68efgt0uC9bfd"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.0.3_1618500146781_0.724115763822089"},"_hasShrinkwrap":false},"0.0.4":{"name":"react-moralis","version":"0.0.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","web3","react"],"homepage":"https://github.com/ErnoW/react-moralis","repository":{"type":"git","url":"git+https://github.com/ErnoW/react-moralis.git"},"bugs":{"url":"https://github.com/ErnoW/react-moralis/issues"},"license":"MIT","authors":[{"name":"Erno Wever","email":"erno@ernowever.com","url":"http://ernowever.com"}],"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4","typings":"^2.1.1"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"2d24dd6f303ccec7b54d2a80939e4ab064118bd9","_id":"react-moralis@0.0.4","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-JtUA+ztOzGrFUHgA/e8AtGq8wttCp+0ehX5Dbb9lNUw7mvU16qZ3XgBLr2LR1DkGKw9Idu9NNRMWtL3cHRLoiw==","shasum":"442ecb6ce94a5a528c7236cc4064bcc2373c54e7","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.0.4.tgz","fileCount":39,"unpackedSize":482202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJge0z2CRA9TVsSAnZWagAA9F0P/2KqFsaCxQRhp4k0XBbH\nULE4Sd7ADX0cT9hnBErdaK+4BsrDQfs/hHou/yjK0sppAXH/xLBwLnNzfTun\n7pvp8blWz2JZjNPGQ3i6A1e+4EwJy2puKAQuWOjIdGeO2DPPlKDfIoFoC5Y5\nUNOK8k1ucZyvPuGDjNwnbMMS9nXgjae6u5o+H/X7iM7iVvhnQARb1jUvNB/9\ndNY43GmsW46IAIRyNVQ/0Dp1HWvqN6LRBCZOIWGe8npjN3xwsQ5/M+iMgS15\nK6pJ8veX09ZHY3DEWXOZwcqzwTJCMREQPaWujyKBnYWBvj1PAgZPG3D9cWCF\n5m9zng5nLp/xcKOe/pnNS1Z3dSR8GtFzPSCfrzyuVNAb2dkF5Ps/vozIKI9x\np4wj5eurerrw1TKfPnk5aror11ORUx57P6AnmwpJsNdLU6E8m0aX1aHPl0es\nErUQiI24rMym+Q2RuDGFbctPlrKwXPZyeqmSpI1ZhNMJnACOzCuBuMooM0HX\nxRNT17IbnSo0NmNwqZTXR+dhsZK6DRMdv0SGFAi1hHje+W5XsiTxXsSek13R\nr9xF61Ow7K93pnpGvcHLCGNaJ2tebi4Mp4Xj+tN4NrUjFa2fFj0i9t54ETwk\nISm8ST9JeTSaSnHLAp136Xhn47B8CBpIPYJBQU3vha29Nwlf+gg/1/P9+wld\ngeVN\r\n=mmAo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJvA+1krOoXutowWwtso1ilmtfgnqpbgQtFfcYxMRMeAiEAtM9ZSEVtIZuSe3XvwdeYGebbvfkugzGrYXpnWH/r0MA="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.0.4_1618693366146_0.3825386524407488"},"_hasShrinkwrap":false},"0.1.0":{"name":"react-moralis","version":"0.1.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4","typings":"^2.1.1"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"04da52fe0b34b2f12d9fcf17a823af904f7edb0d","_id":"react-moralis@0.1.0","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-AFOYF5cCYAdHOeHEsn8qQf/GapOC9XiJJ8wRDVKsHlbcQO1ERnrqUfencrhAjlg/kQLOn3OqOWoCIRmfPPIhLA==","shasum":"580ff3421ac03031f91da61af304445fedf8a7e6","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.0.tgz","fileCount":39,"unpackedSize":482678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfds5CRA9TVsSAnZWagAAm/kP/1AVUQyd3fOjXzrxS8Y2\nvTQbtjp6y2UqE8MdQ7EmR8ShtDiReVFDQzcc0Sf4A0bbZJgzpEf7fSfwnCJL\n28clLELT0SvbOAntXoUEyuSZNzOV4kJ6oVlFWPLdFDyzJny/mrSyHj380oqv\njF0VrbP3/CTJHQSUTgjIReXgXwF3lCwJxHyXxOcAhAh+tABmDjBaXqomPUKS\nPh5ec7Ffor30jXPl2YHJmX0g4Vku08JiLNbzrztetbaI+0ITT7Yx7QgtMln2\nwChKSrC0a0u7Ht7AxpmZUdudOlp0yRj9SxNcUnKsprX646JZf/zeyVXaYOef\n4JLZATBfCV4TsrxhTB5eVxuXQa6glISB+1ly/8hc69SaGAgJ7X4if4oW1yho\nT2+Vj6TIg2fcs1u3gKuHNclBAhXIKeXBXFYlh/al6gLREGnhEA0KPm4UJmLl\n2uRTk6VxMGwOYy3ZlYsdAUFmnhTcDsYFJxejWBtFYtiHFIPGqfJT4Slxs8me\nWK1vJriCAgLqjI9TrHuCm26QBaf/U+pMVFvg5+xX/+bvqwtT4MocZ3kdygf+\nXB7mRnSFom36ZLdjDdFc4qjVtCphnky3dpyAeirqRrus9ewW2+Sl2cQc1tqo\nfz75rUGUlnc+YTOqlY+vlCqo2Yztn8uzPmo3zmJdffZVE4wI3GOYUKU7PlyM\nA4aq\r\n=tEVU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9ZbHjVzJIrrHrZX4THYS44rNi5TCYrvtvM+eCfH1ztwIhAOKl72XOEBf1o1crQBWIAlBjogQ11DxHexWpVmeuTb0o"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.0_1618860856533_0.6993287167632949"},"_hasShrinkwrap":false},"0.1.1":{"name":"react-moralis","version":"0.1.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"4d5e430bf67bd06a964b9b864c7e878cc44af440","_id":"react-moralis@0.1.1","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-upl5QU/Zu4cWTXCf5t+b4kmetjen/3ReeFUUhrYHXz5LoXye7tKG+Ht3DxGpiWJW0fz8ZWKZz67sDG1eN1fduw==","shasum":"ed61fad54b0d416c199f3b9fb1fe275f835cf007","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.1.tgz","fileCount":39,"unpackedSize":482749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfd9qCRA9TVsSAnZWagAAYY4P/ROAZoMofev+axurSmyu\nlnf4miByuBbDxfjMLrtbxBBwoAvrlQzqmQU+yCOdXsCNE9ZjIP+HM0CJALiu\nQlSDWVpqgQcHpfqjmOdIy3HMdYfIkVtihT36DbY8rAtSyTbmHr0EcW94VLc9\nwHUBXOyiKKV4rggGmdNjj3sZY3IapH5a/qMoqQbOpVzaKV+TbRYdOUGvo9UY\nFV4M+LpbEUsBIJjfmD3diQjaWC1AuflDGzB0yPymRG6AJ1JZqiRiqyHVRSQl\nrGYEPnDuw64fGsftb2VRF2pA6xiXAxCqQCkvz/A4M20jDLSob4vWTzLW8JbO\nEATLgSJuA2cUEfJdFMkHFVvoDPvQRNtE/PKHWTpayqJsCNNutJQFfrG1ECen\nguwzzINeAzeQ1rUHZMQGuUkjpPM5gkIDtW1ojjvEOKnzS13Org2dDdA7N/XW\nyNVAQ+Il93VGRwd+g5lVbEB8SseZg8wdTN2kttrQxrIBFEycYx9iGEoYnCRN\nkeS8CgVAE3O+sDjRupk+TqhQpS0IBjbSwL0lSEc38+QWXNqfEZQGkySLwY8K\nGTsCjP4Yz7Knjyv00770rjliQUgjWOTE/jtjhhQ23KWtfx7aAAEoJPM6JWVh\n6gsTf5+h3tG2j1nLXrmmoukfeGXySmHCnV3zFGsQHqAfYdFWzAmsnznpwIKf\nmrb/\r\n=Ogdq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7/LwkuTx64+wNw4ibV40SLau3Ms9KNA+dnJr+/2s8PgIhAKhieBNFTyV6URuQpyCoIs/UknYhJbThNXiFiZoNBbpz"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.1_1618861930424_0.49068871578251483"},"_hasShrinkwrap":false},"0.1.2":{"name":"react-moralis","version":"0.1.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"f907e737fe514a470b17c556a5bd9d8107027efb","_id":"react-moralis@0.1.2","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-/1stMo0jZ2DKLt6OVN+aFXsvfJMcUaWyt/KTNM1HZLInrlELxzmToCCWt9WxWP/zYNYGA0u/i4TtM0pUGdHJUg==","shasum":"d6af93b4c7c2814417f57a6950859352df9ec2de","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.2.tgz","fileCount":39,"unpackedSize":483669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiEH6CRA9TVsSAnZWagAAa5sP/0nJzxM1YMcXKtn4C/zC\nP7aBiSlHHYN/jxYN9l7fTOOm2C91JuH6T980LPAm6wQ0pbQ2i1IM2baiAXqM\n9m/WbmgYROuUneZHUlWj30SI/wE4V/vHhWL/njeqXXemtu/bvp2LhCfz6cMo\nPpl6qv5AkE1XfWMEmjkud31oWzK3ntxgX97LPj1+oi/VGd/BDHyQ75Q3xf2+\nkXbntP/Z39xHlBrSoG0XRZ51b223dQKbM3qX+5y9kgweFvIqqvdNKa9sQYHF\nhSc0Qj2JJcREuJTimuod2rs2gNrq5xq8CwdVFo2ngdxWW0sLxf55IVSGw5nc\nBMduD1qNiiblme7omVADezN47Kh4Tn9khMjfCtCIvDvmgnZxMdz8bS1oSElv\n4SfWaK9o+Qbm1JTzha3DGgkyV/XemD87gZbfMUfu6sRUX3H/lcBApDF5GD0Q\no/wlsRVPhpv/FrV8mlt2+bTa8NgyRCHMvH0cfTkZPwUeC5Ux62XUuCzyBIfX\nxnQf87vZb9wIVtQoZCRY+1Z0KJjbPaPAnLqHoKatLB3txXJAiHGLQsqO55eu\nHQOMLdMSK4iCc8IJB/J1k+sbPRXO90kxIb6H2/04felwc8hrwcX4dAe9gCCK\ns7KGmEHva3Wbu7uZ0zhMamY/YYQ8qXte0zz3vVTFRYvaiGFvA1Zkqlb8bi/n\n2REg\r\n=4mue\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBPJ1qf3cn8Q0T553Wc36TAMtKlRGuDjBb42HmMf8/twIhANGVF9UeWkT4pKw3HtIXwuaBXs2BanNtjuGD+V3QzMzj"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.2_1619542521670_0.25788282757300474"},"_hasShrinkwrap":false},"0.1.3":{"name":"react-moralis","version":"0.1.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"1710eca141f2c608fc2fd7bfa7c667adf86372e2","_id":"react-moralis@0.1.3","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-pWQGZtVBtFRfURHUL2zzzNg2eU09hEzCRWyfhXAPmREkXaetuAtLPy4mnoy8nKKPh6NcXmQGYd3p2Odv4hNK/A==","shasum":"dd7232f3a8aae6fb0228e290ad835afaa1226b5e","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.3.tgz","fileCount":39,"unpackedSize":483949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiKmKCRA9TVsSAnZWagAAF1YP/R7ty54+Z241C8W7J1Ch\nDHoLW+r8vgUlak3e81LOqUxmBOjD0uQ1cNb1Qhgqgz4LCmZejYo5RVWjsLn9\nHfwKAiEGVGegk/28o9K4d70LNHuHm4RaC8gZFHMcuvs6TAavDYhiJ69KaPB+\ncFlLS8FuMJRa0VxO1KoecDX4Ia5rlW3EYGUKogJJiN1rCKLvKeDaUIgEIEMY\ngSU1GeWvHifGhlEOEa6/OYiEA+GePL1LfZafvxiidsyeVrohySQw1kfaA63U\nfnIUzB+cGNlxnyoOKdmyvYAb7FNHhVLlqOZB4Kp59FLHvdPb8TK3M5FI/FRk\nVR/eYQu87LTbkEpR+6hkwrRl3GjTQ50rUcgqbRu9ArrrfefZ213VM53P/F+S\nX7XKMM1PXwVBJiS88iYVEv4SBvsV1RvrVXHp3hDfwkI3zTOVL3zBwoP3HYZK\n2P/OzuqvK6I06ucrCSoLPht/vZJb4Ys3K/4J4ubjrd9IU+GW8zs9OLsBA/rS\n0ZXJ4B55iYGZVZZzIxhKBcyDhjZdsf0ucxlihl+N4EV51fAQTgLCFShecKq4\n65k+rUsl/uXpag1c1mAHU7ZRq+PdhYEOqFYQazVbXOqzl0z3gntng2//Zfc2\nRWWOEbiO2kurhf0ixQhdQHQjUfZD3ZfrMEPo0rT9UXbqnYtaUFJWv86138hO\nZDVO\r\n=PvOM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLWSFoxT+TiAkVvDSyFVworuAnFAOV5QDNtoVa8GgLbwIgaFPKXSZTWFcJJqxAVrEpQ7AqB7Mp9KWhvuo8dGKAc8g="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.3_1619569034095_0.6645740931809123"},"_hasShrinkwrap":false},"0.1.4":{"name":"react-moralis","version":"0.1.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"421a6aec245e44e12e4e948424ee46d295bb2424","_id":"react-moralis@0.1.4","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-Ujvojs9mz5mnsbP2a8+WwMxMBER0+FepTh+qu0MgQoaFcXaudH2kERI26yDGsfcYiRggWQDsBSJc2Cr5EBP/Yw==","shasum":"970b6702ddef95147d8fd58552739a58e0e38e54","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.4.tgz","fileCount":39,"unpackedSize":486702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiLTPCRA9TVsSAnZWagAALOcP/j58GWBwM8u0Qw6fLvEj\nbBk7MxNL4BbiTxIE9UleZVsyDY126Wkf4H+HVkt03tmCwBauLvZMmqudj1n8\n1AWFQbvxjo4le6nuSt8tfTlgog6u0Bwp/bY8uXQFwWfQbQGxO54BFvSjSxYm\nxfr/4A69QzHyjgC7ykt7Tw6sA5G9BIgNThzlo83WsskgHTytXABumzG6jbG4\nRbuIm2+oWPsczg1yUaV+GQcS8NvcjoZi7ztFnH0Mvxw3IfCOzKnxYLPWFXDg\nFWd+JJ92ZxZzcjcgA+ZoVbPsBcniW4bqjkkKpYJ8Oe75Fc9zOZ0iyk5X/6g8\nHPXOWEOtUG8z9l57/X9q1w63FPqyWrlARtLAUpjC4Y+jjI4MsH6V2Cp2VU7f\nO8D+yL3ylhoVaMr+pEAaYfAOHob8a7aT8F7HlKyHfEkYEYBcDQcDvmx0ixS3\njj4Jtf/i+uocB7cW/xzAJHRRIQ1VVjxp/kh2qD50kTnhjPQJAQJbtqqP9evG\nuWbF/MOkjYh+QYA+y28xSHzxHeZRTFSOvvqxfn8Czws27tXMYpU4lsOdT2x3\nq+/vdslZdkUwHshy7Tfv+TChAgG3npeLCyE0uDqB+tRQIBe4zY5u+DzMDmtc\nr6coaz2i2JdnPmbZ/0RnLgBgqZifbvIsocJmnpzSJLmQjCUCmKrobFzY7WJH\n/+Ni\r\n=4MXI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHaJn/x7RYW3ObBiNsGlkDtYALlK4bkNGSuXCDZ+wysoAiA53ws6x0IBo6u9rvcEzCG3pRaSL5EgWh4cxLlZ075p7A=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.4_1619571918636_0.012769432749361709"},"_hasShrinkwrap":false},"0.1.5":{"name":"react-moralis","version":"0.1.5","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"449f8ace50a61ba4fea34e89ed167a1b816a6ca8","_id":"react-moralis@0.1.5","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-XNwNfxQlCcZrTamHcHt7ZDGI8zvFhi0fHQQrQ3ciee76V2pxzGgcTegvLiRfsgGr4TvOfMd0FL0+ma/ovd8R0g==","shasum":"9727a140f2ecf1eb6a99795fc42fe33e460849a4","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.5.tgz","fileCount":39,"unpackedSize":488033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiLZnCRA9TVsSAnZWagAAmFcP+gJGsObfVLe+nRqM53yX\n8ygO1Z8uyrt8K0QmX+NAykgtaC7eDvg2E7D+16H+ZwF4BYz+RkaP5tWh3vnx\nESAFYh+9BELvxmjw07b2VCCqVAhdNjJVqnw4lXS2sPxxuNS6rEaOQ3AbO+Vx\nsd4ZzajT9gjNmHqKnyQ/IUEhmolBqC4f7LwO17/W1eGrkxHZOxnU1LwUxm5j\nLfKaYzGSw+qnD3wiVGe8Fv1VaNq8tdb+s4YVMYNiUXQvGnok2wDTeTi9JI99\n7oYeffm/t36J6cBCr9JqDz6wEenVn9w5ohjSFPe6X12k6MNZUh5kyMqBQ2nQ\nrHoo2ft105/8bejCnyOFMDICwgAexGJNWyAtOZRit/k543qloc+6+rNthyit\n4ZoZeg3J+1jZVF5f+nkxjGODh8R7oRqHOt81OsWzlF9IVMhKrwOlhUlPkWqM\nPHJBAV39JDKBgbwjyuFV+nQ8BokAq2gcdh4YMFVuVFpwuqipnccmoBFbz0Cq\ndZYJFzobQX1DlzpckdRBg5kGZfL5Zxx8Ml18fmCIq7T6RibVCzE/rfzw9d0K\n9+hH3YCwB+gmJ7u012X0WZnqk/Lgb2W70XcWyw41v9SL+kpLL5+V7qqEkzor\nXRtF6bSLrcAUWdOmlM35oZ9fWDZdtdNih/dKwzHSQYbGmnmOSAon57wFBite\nCNIM\r\n=GCOS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpoGpCoaEskB/qoc8U8l8S6iKJAZCVPYr810Bw0/z14QIgWJRmkHpkHo7Sbl+bnH/IR3DrLswZeedtmyrrgavSZoE="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.5_1619572326622_0.3157512487595644"},"_hasShrinkwrap":false},"0.1.6":{"name":"react-moralis","version":"0.1.6","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"6fe77e30e184c21e43a7e6f738dff56ad3d8000c","_id":"react-moralis@0.1.6","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-wq84z6asKFCmVLtQM8I3V9BAkEVArSw5mbdYU85gZiw4u1Me0t3+kWwLXNXmLPBrsGFJcZDlzdVnNWxcfK9b+g==","shasum":"61c966ac4207cad4a47b76c4124ba1c53b8a75bd","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.6.tgz","fileCount":39,"unpackedSize":489475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiclxCRA9TVsSAnZWagAAPmsP/3G36Jr6jrY/e7+g+3D2\nabnNXmU1PmnKm6yJ19t4n2sB0P2Otrth/pCzpUS+itfmn3tEO/aq2zZmVOMi\nH3n45ZoBJ18Gq31BQHPkmX/RvU2cPs69xa58qRTV168gG1ELpWtQZou9Yi9y\nIaWEpXGeLU6Yg/sISNsk0eWjm+cO1sq84dp+7SawfC49zLEgrDt+zOf/dLkC\ng/ahNVNkCIGwR7MEVqm3GFKuAjJr/F1kWsAm26JE8HGs3gkYisMXtpxRnHfA\n+Wa+qGGdYrDtPzB0mT1E/wQiWXRuzBJhU7QdZqmCno5j2MCGt0OXzruDFWTi\n5yAnK/ZJiETRNatDLfSdBhnESyMU2uQqMf0VNMMk7HuUF+Mh20MgtO+3TWms\nRqhaflqrpc6lAi/yQ8cOWwL8GYi7KEqUkIEi0Fw/DKIV0lZ4+0EaSfuq2orA\nhoGXZN/FSDx3USxHL+vRVa3c4QEJPVxyNDYzQyRUUdldhKMl3DOkgBImoqJV\n7N9+OmmyEXvVAMuqD2H3CvYZiSvsRsRq/wlNPQbitYXTroph2WJ1wFrTOxU6\nX5LYI8b6MyHyXMpXZdHV/VS+m0Ud51VZK+vaqJ93bMxAxONlR9c2Am+Qg+BB\n8QUHdObwQXsgGyJ2Ja4WyI5ZNdr4/7tU7sTyoGZhTJjc699JXIfW1FGj8+8P\nxxA0\r\n=DE0r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGrx79HLjkE6OZ28jxcgKHpcB223yXYXWoSe09LOkfxQIgfwBS2PhhPGNGowQ2x7DxHVBM0W1iPgyDgIBMG1dNW64="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.6_1619642736631_0.4505934240804721"},"_hasShrinkwrap":false},"0.1.7":{"name":"react-moralis","version":"0.1.7","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.16","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.15","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"acb6f1f9345aa719d3ab6c0b9e42b6040fef71d7","_id":"react-moralis@0.1.7","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-baP6Jc5ezBl2DNmT7OxCMMuRFOoct6cB+cdHoUcMm+K2hMC3rYtwaz96RutsFBz9KXYBSOqPSbV5xBynvAmT9A==","shasum":"8680aaf3983519ca9c01593827a8dda7fe61a311","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.7.tgz","fileCount":39,"unpackedSize":489905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpWGtCRA9TVsSAnZWagAALgYP/R0xoB5d6r42iP2H5DUf\nKUBuD9Su4c4/KyYASQEkCT5FVrDt/AhCE4Krj5KWAck8ppC6OCIZ4YvOK422\nYB1MwsYM5ZCTdWkkaVv6ltADoGsThxbcDvpIOmgjz5WP4Uz1/Vx07I6pW3D9\nL7p8Mt0Qu3ffytPMNE9dWygM+90vWykUKVeNz2/m81wQGRaXw7zi7JEsv3io\nQGydoC8nY8TM7tmyCQp+Rw67bM+Nd6sx5WZ8m1UTzQft7x1W8mtbL9+Sp7PA\ngjDEkoEsQSAULqHELndy0yFDaO/dnv/1wn9LIJf9BMHLXqDnd35AJ3KFE4dA\nsp8dsqJd81W/qHsFWhKX7PDPdnCLN3gJ8HweEEnoPLuNcGKx0aa+Js/FV4sb\nvtwHJqgY8KXJbTpUoY+JEDIz1oapQksCaP6FVuM5IC38BjEcDtjXkrysVLo8\nBeBU5Xj+VeY5DBjDEhlbzx3ZL5kWZDrmKPYU5pkmdJD6xn+uzPpCSATUzKkM\nRUBPm7Ft1z3DM61qEx6W31bNRwOjbFyHpwLz+AVVCEjCqfPAhDqJr6kp+qmV\n+crkBxIUS8N4JComO6zokPx+NNJKMVjIiTVbGr5CO7wCIMvOyNFfX/ZA/XvZ\nDL8fzPleGcOViawhA98nIQo8JYEtdYvQrIN+rqk4L8UhRzkhKdMVdbNNq78N\nIUog\r\n=il+0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOm1JxK3oCEYaYTuffi1BYpEt+paZD4X/XRueOnF8DyAiEA2Ns2Iw1IuhIzq71o3t8ZEFhItiR+N6y3Y7tmxyVh468="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.7_1621451180987_0.8789680811854761"},"_hasShrinkwrap":false},"0.1.8":{"name":"react-moralis","version":"0.1.8","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.21","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.21","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"ed2e814a42ce31b657f09c17458569794fe4f5cf","_id":"react-moralis@0.1.8","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-encYHLLkqTi1h5m6UeYs/tEAG+Iw2fZeuD+bPGmGJaiNKzb0ayCke0r/QQt/jIG/87tADAzrxE0RUJe46WIx+Q==","shasum":"cbbde1da5f5a5feb11af0e21e507f3eaebdc01ad","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.8.tgz","fileCount":39,"unpackedSize":498652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgplrLCRA9TVsSAnZWagAA/GMP/3tmZeLO9zd0JwbL8O9h\n6ZdTlzC9AIZtQ6ODLMFm4lk1VAs7YAfn0rEfVAAZT2w9UwSFFQMCBJFKcJCC\nLoJllvB6SuF8BB4mtRuEExeP77camYvFJHGunsMvjd5DukzR0JhKZKwEDVu5\nPEY0rD0ROWOLskFeHnvNq0hH6j4F2AWs3JhfmOKxVOGh34z2L4v0NbeKeGsf\nlPuswmDvpKmpgfOp6huhBOoduCGnMU8NMZp1sXYUTOQtZelq7kRRUvn5tdZF\nqiZcaKTdT6sezg3C1TkagRwWc9Y1qZlQZO2aNP80cH6XxAB2PpQwSC/C051z\nZS9kOyBIMf87szG3ZbqVA/IQOYOA/WsAv8RAY9Qq+8p/HbLtf+dd9L776TMA\nVQ0GpxzvQ2yVuably5QDOlXCeXcpTZ83NcLiTZjMGZiwzpc99XuZbj4zsCHQ\nNtyJnsezDPRQD6b702VK98TEbp/eATAGqm/VdKv9DGORpxCvD9yzmd+VwVq4\ncdQCh7Qa0gWAN15mUSYX4cLCeJWTKnoU4n4hV7Glqu1VPUZTscJ5qvcVteQ/\npyCdmHlQboSbqKXKoKELTi4lXPPdjgSf65Ve0alVBlls/QXp8AJQwL3pV0+S\neU77uvk/HVv1wd/fKBkKdTRXRzO3E/sn1fIw14pwTtckXVoLYiiFny05CavV\nXZZr\r\n=3Qnt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8tZdDsBp5lyW12s0R3hKX4/JzTJSsuUcsO49Nkxwr3QIgKPZQvCW2+fGTdcrbpW6Bu2Dup6OrUnVTEXL3D7aIDdU="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.8_1621514955043_0.8472593111450057"},"_hasShrinkwrap":false},"0.1.9":{"name":"react-moralis","version":"0.1.9","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.21","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.21","react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"d717c5431458508f3e3258769ab9add8a0c20386","_id":"react-moralis@0.1.9","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-eHxHnQuDCAsG3p61acy1YqTKZhv7dl71awa0wAl18I9jtpWOPSZt4W/ubxb5Yqlc3DexYvCtm+K64CMIBOHdfg==","shasum":"243eabc5a657d284949b4ae36f46ad8c714297a2","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.1.9.tgz","fileCount":39,"unpackedSize":498794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqD3hCRA9TVsSAnZWagAAzXAQAJKvzGFPn5wsz2eWYRUP\niG/riUE/DGszCU6SxGtZMaeqZ464mE9lJ3ugUReeRpH9riKzQ5QuGsmwmtGb\nagpYH0HEWthYi75rbfQiz+sIviUzJwq/3DqnL1RS8f2ZPmXaI3zeKRd+sZBt\nWMxnnEsJ1Xp2ventrq6H5qSWntzKVbrZon6Fisr3QXcaRdhF/vFmb611PJM7\nmamAepwPvgh9zWaZFgLYTrO+wjtr4jmPVIEkAT9Yk4ysCvq0ggERTDhPNlB1\nqR6t6VgSmms8R4J3Wfcqo1Xmr2YqlXcUu3z7bP8VG1AwVwX8ydICVRcByMO9\nX1hbsLlueXHiOnQtaP+9m8HqlM1YINHPADw7rC9aZ25P6XVVecVJScPYtr7e\nLXHpKqwQrQZC8K6MfsThkmRgnc5+k47W3bcUMMIS1EwePAP/S0bSUD9aEucn\nyQJo3WlLL1hkQICkmKqphmef0HNOpjMFcftUrxsQmWf/l5QlqzQ7WJthi0SB\ndKo/7qFMbX9ITQS1SqyAXXkU4gifGPJVnaqEiPhwugb1NrHlf1FwssepXm2m\n3YBVzZo/5J2gWIOko8BfbaEdbIKCrKxRF3SFB7L7darV8CI88UxgulzrBViF\nwfbfKem4/n1ngIyGx5Sy0Up4W6vQ3WyQ5uncz8eQlLLKgrMR0q7VVtrxxJ2X\nMPKH\r\n=/KNC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTtov9Ja/ZzP1lszdo/DZUz7Qbm7mUzF6Qjc1T/vo0/gIhAKYLLFH4oF3tsgFxahIRrXoCobrA30yTqSE4/z+qTQ8q"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.1.9_1621638625308_0.1338967720253179"},"_hasShrinkwrap":false},"0.2.0":{"name":"react-moralis","version":"0.2.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"^0.0.28","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":"^0.0.28","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint .","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"102f1fa9c4951b42f0140df882c8ffdd7158ab85","_id":"react-moralis@0.2.0","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-4gVlS1Phk8udkJTP0RzuXou0fob3zmdJEQhZXcNpOOIDfPohK+66GMgeTpSWVlwRQuvT1OUdylr3LQALD83t5Q==","shasum":"4a85e6b67a0d9b54daddac68afb49f10c28ad265","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.0.tgz","fileCount":39,"unpackedSize":501333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6JlECRA9TVsSAnZWagAAU68P/22/qzTDOlPFcFkq9kQ8\n+X7/BcZVovGoe+eYd14Ge8j91SFc2GBb1h8otltDmOdkD2OO1HMB39LLLAIe\nEuJEMsTtDSt85T8WVmZbLWvBdPuv5NioQPmjurhs2MHzIzHEi3No+El4AJ6d\nOPUl0b5MzwIn7N6JJEMc3gafpzBqKU9VLOmDA/61NeUTulHC/HLJkukeT53v\nRgNaqd4TNtcs6NYBr9xR8tCN5iu6/O/gwfYb/fq4DAXgrew8chRWcEQrX7RV\ndIHrQPGCxFSk2BdVOMddRY3MvRff4J3ll/V0pmpbOwTpMZImsp3jc1Yl9UjW\n4lTShas1HmTgQeuCnloTEeNdaHEFD1FFqgjJhsF3H7oM6G+Ef+9v3BqjSvGp\nsWD4FTluIKmDJtPJ4RWD31NX7tWgOMYo8n9AAoRUZ0ubg6vEewCzdTcISsuk\nF1mOmRJSA7+nZJ9NlL8cRO+sCBPB0vMxGo2O96vwafN7J1JtrIqYeKD85yUo\nRlGXVnNzUJE0KHsg0EfD4wt/W+9jKQPivfP342AszxoYJoRS8Izf+YcWKn7R\niIdGbpOC6Z13QShorhbhyhIPHXarckyIb2Pi7RTNRJmc4faRLaxh4nxPLefR\nZzRfAwNTZDP8iPCoUPYHJei14Rn0dHULL/NoDepfEf1NQ1SBY1LWipeeE5dy\nB3lL\r\n=jQk0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfdZvPQ3ip+ddf3GA4yj6O8WRvV/g9xB+dIQGOzX9iKgIhAOnihAZYnnvV+AR/O7Pl8z9YLQ7s4r5g5HfFcdp7r1yu"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.0_1625856323529_0.07848129904205159"},"_hasShrinkwrap":false},"0.2.1":{"name":"react-moralis","version":"0.2.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.36","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint ./src","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"73efc1b614903f182c107e02893b58c94f1eca45","_id":"react-moralis@0.2.1","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-ST61cAMONEkUS5JR2w1pddB8lI++JYSoUkl5YSYfjIveFpcfMEFDg7pRdAZmJnB+uHoT5GNyTw99SF04Vq+4Ng==","shasum":"5dfed0fcaaa4ae8757782cdf3433aa185737eeb9","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.1.tgz","fileCount":43,"unpackedSize":527570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ7qyCRA9TVsSAnZWagAA6QwP/jQnc0kCURl/eeIS9uYI\nq6z4TczuHp6OTRYKkWm8fPkqr87+fveDorcIqUx3qvHIFqA20AbqIAxVrULc\nz0wpmdLwdnWxhBU4rMx9Y0jh3U1DnARHz9U6YOys/dAzHqhwKbHuFZ8KAtSe\nu1oW5zb7OfVAN/rGVhAL3hYM0Ep+ZsMgUDdB4lS/ceSoGMB2FyD8V9Dzv7Yf\nsbVcNXN6X/s9ycUJr+QawpvY1A6MNc8Uj9/G6OsCYGhJcA6KmLXNmff+LY0P\nZAHZalK7GPzDRuCVdZnBj09118qSdfmbSn7SgZjvED/tRMYjx73dljK0BwB1\nOb24DSmApT12lM7AS3ArOu19f44bemiJBVDkZcc5ZKimYY+PFw2YztGIJSQq\nAch0SvVPXVKz02cpK5fWPxxJbh+NcPPOUqdexHrg2dePQVJkAkpVtt+miIaC\nDuig3V1sQGQ535gu04noYnr2mpOaTqaX18RPiF5n41di9iz6An4WMh5H355s\nBcSBxaE2KI7HzYbrRlDFbVqNTC44GxVwfdd+pr9SbSAY0eaBlk/HkO9TScoQ\n/RQ2MnSbM8talAIBGwAL0N4OeyFtluEn6/aZGdqUwooYXhoK0jZ9rCb6Htf2\nsUxEjoBNFMB23fy1+Pqv+TbNN7t1URej4m3xPEfNf6ds6Ti1Mk0piFTLbpo/\n00hU\r\n=4ImX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZcSvN+jKaqAWW/3xNZgs59ak+pORWpKtWndoVYtwxsAiA1wJsj9umsJQ5wxPYP1F0cAtCeY1PxDCoDiRN/vNmfcA=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.1_1629993650780_0.4621157353286083"},"_hasShrinkwrap":false},"0.2.2":{"name":"react-moralis","version":"0.2.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.36","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint ./src","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"cf342ee602cf15e59efba82e13dafbe0c263c868","_id":"react-moralis@0.2.2","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-U78kqzzu8oL7f99/t6WcBOUEzlRjyxIfTIkrWxJg+OfTYnngkMKl+iDR9PCQvncNeUwQHzQL522pRiExYuRTQg==","shasum":"92bfdb4b23b71b65f6d92fcac2cd848057e32b7a","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.2.tgz","fileCount":43,"unpackedSize":539478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOA6YCRA9TVsSAnZWagAALf0QAI6jxaW2czvYtV0yuqpq\nmZ3jQFe1S6aUDeReaCFq4413OSSMK6EMbgphgxq3Hu0jTi7P1ZANxnvQ6ta7\nTpl8XWU6DBw0ONePIGe7w9LHmVHqQy46uad7X4n4fhhtT57SlBBTKhAJxs9r\n7A/HFfkJ/VUjwoyGoS/LVcyVmPBKl73r2z7wNKyHssyMLfNxG5rhsbmVobKN\nEklSbuQJDBSG5JZ049l+VVyl2whBvcK3GfmsUnLRTF+RWqsMylULyu1Ieatj\ns8izB4DnjCe6CMg9NL1GVUXjm0ceNpmUsLMjfG9VsWPHpVJnXTb6ZiM7jeMi\ngYASp/X5fgEqStZMtIOPwskUr37KYh8htKykmd0qdBhSnWdvwXgFqWWkvpzI\n3hBqpSb5+dgdCsXeW7zrypdaO9T4cRLgDkBfFOuNqqmHE//8LMxqOTZRr5fA\nh9XGw5mAegNwfm3+vG/BwlV86tMacJchNf2BOAKnKIGrGYaAafGLMXUldzzW\nHYt2wK4aA6uXw6M5qsgNGnXhWIOfBJi6neHJSBfyDo/1pzphnQWhNhG+cygk\ns9Dd/36t51Z0P8dIqV1ISCm8OTAKpoFb/MA3fw7hB3/R1sBDJQTC92Addob4\nGVgd2sOqH9r7pgKHIazX8q6b+VDOiaB5Lb1dNPz/ofvSBGE3WjhkkNmQCMe4\nTdrm\r\n=/vJN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdvlrpo6Z2R60CEb8NVGBZS+8dqUUhYeHLXe8n92WalAiEA6UWq9Fjvg33wLE6bQReACL1liIZSvOOCzXcrI4pUKLQ="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.2_1631063704615_0.329154837930395"},"_hasShrinkwrap":false},"0.2.3":{"name":"react-moralis","version":"0.2.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.36","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint ./src","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"4aeb776938bd1aeee9d7ea92b0fe1b97c44f3e08","_id":"react-moralis@0.2.3","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-cxwslQ7mSeQHt453k1zyGgTXXnzE2sC9Mqs/W7/2kKa8sxOuwOegoFW0j/tqg2zAu3To0QMqN2K/5xmCL8b79g==","shasum":"b3723e269fc2bb8b63ff089e8528f57993bdc888","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.3.tgz","fileCount":43,"unpackedSize":540824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP3toCRA9TVsSAnZWagAAmcUP/j+zn1MTWqNMi5/aXq9P\nqFceA2FPzy/7mCyX/f/NG4f6+2yYMhUllgWojuoQ4McPBHTfxQpCw/6UJ9aW\nHjkvi60LR2jaQaraNoK9fa8U2Wf9yQYHNpl0olzFSsZcL/Zf0M6Ohilk9dHS\nqGMODIkFdHkaHDan0wBJXzLuMPnYHOklnVnX8hJgFrYC093Fg+4mYfSi4nlH\nCedmZ3fNwiVn1sE6f6hJconDSxus9SmDu+Qyhe67qki45UlEsfiC+dLqK63k\nI5LL5gB4b1lfgiUPgIPS/oROUke27TqHi229xPihSbm1w+CGVAdGYfarxHJI\ne/2l4TfNoZcHI0K7Ncu6AhrJwZei5nQ8Gk9ykFthBUXKEGtZd6GsHWpxreJ2\n0U5yvHtaUIKPGIfFy/hCGNo6dkDH2WKKgjsXaeA93rqY4/+nxqFlyZGRj7tQ\nNAcWrukH00ik6HT0A5XBwLHYMsy4EUjz7A3rzC+d35iyWio0o6m1MB6otw6H\nFBpkDlj+VgLXFnI7Uo3XSmcl5N1Rdhu9ZpyXrkdNIrRA/iSQ9mOC9Q70sth7\nOQHn3n992N4gTZEBuiIFisQBVn0h9lN58NWRnRL1tDmQ6jEWl0Wrg0zW2hIj\nkqdL3aeg91XuDN/0H2HHS0VM8Mcd+3Bik2jK+KuFDUxIxbgjonWVgs960pRI\nVrAj\r\n=RYCY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTSamNMfemm3jhQUIpoRQRhChfndSVPJdScya1BEl4oQIgR0XoOe5vHGohyAXu3YDieHvQu6C7PZLYG7/zYn7jpqw="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.3_1631550312359_0.3905957490108054"},"_hasShrinkwrap":false},"0.2.4":{"name":"react-moralis","version":"0.2.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.36","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint ./src","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"2037c4847b008007ebf03270f72b1b11d6228640","_id":"react-moralis@0.2.4","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-CE2St9NQykhA3kaAMQCRUsKT0imCvvPFwGX/ob+TD6wRPuDnV0NsG9lLyHDC3/QrSDu65xVaXPfToMAN1hYjGg==","shasum":"c78c0ad00ce055420a9cdd3aa6cdee0d4528f716","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.4.tgz","fileCount":47,"unpackedSize":558358,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGz88xhhBdMqxuU3zMQok/G0gxdihY9tMUwrOyObmbTzAiEAwGuA4mNSBm8gcjTPoxWBB9J5fmMdvN8vaMUSUF+ybMM="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.4_1633001943917_0.9801287010920468"},"_hasShrinkwrap":false},"0.2.6":{"name":"react-moralis","version":"0.2.6","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.0.0"},"devDependencies":{"@commitlint/cli":"^12.1.1","@commitlint/config-conventional":"^12.1.1","@commitlint/prompt":"^12.1.1","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^8.2.0","eslint":"^7.24.0","eslint-plugin-react":"^7.23.2","husky":"^6.0.0","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^8.1.0","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.80","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint ./src","commit":"npm run git-cz","format":"yarn prettier --write .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify"},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.5.1"},"gitHead":"96901c076279bc4401e25ed7000f1da320423d34","_id":"react-moralis@0.2.6","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-opoTKKnCF3PVKZz7f2bppqeRYrvqjTzZTBl5XoH4TNhXuWoA7AASBy+aRB3Oec+QUr++KlyUGAandYqJ3ArzdA==","shasum":"9e65041ca40353a5a93aa4435bec16e859e0c0e0","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.6.tgz","fileCount":47,"unpackedSize":562601,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC09GOgT6HYlubP8kcQ1uMjri7mXcsgembC2vQA+1eNDwIgbUKVhDRCyYFiEAuSijUJXXzTPd7nQuZG0lY7kZ+NVDg="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.6_1634045804813_0.4677617214127925"},"_hasShrinkwrap":false},"0.2.7":{"name":"react-moralis","version":"0.2.7","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.5","@rollup/plugin-typescript":"^8.2.1","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","babel-loader":"8.1.0","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"7.11.0","eslint-plugin-react":"^7.23.2","husky":"^7.0.2","lint-staged":"^11.2.3","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.2.0","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.99","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","lint":"eslint ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"9eeb35ae11b9a28a885a0b6064e258bb1fd71eb7","_id":"react-moralis@0.2.7","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-EQ0wzDtH7jHIIujzFpwZ0m+pU13ewVXuY2+liBuoL75tEjbC/mx0UEQID7CTiRZCCh+JZABZKjjf99UogKXuxg==","shasum":"af71633e32bfa93fd8e9cd5c0657bcec7504f034","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.7.tgz","fileCount":47,"unpackedSize":581290,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFuGMsXg7U2jZ/XDZhp7FKT1nsqmF5TRTRWAcrnrSAKhAiBF/cSPHHlq9InXj7M1EY6fxOKupG//43r7x85amFoFlQ=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.7_1634824577137_0.2808557672718277"},"_hasShrinkwrap":false},"0.2.8":{"name":"react-moralis","version":"0.2.8","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","lint-staged":"^11.2.3","moralis":"latest","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.100","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"echo 'not implemented'","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"465c429eba8a79a55fcae96d68b306aa2ba3db99","_id":"react-moralis@0.2.8","_nodeVersion":"16.11.1","_npmVersion":"8.0.0","dist":{"integrity":"sha512-+XwaQZ0b6BDlpqHSbNlcPfXBV2kPQ81rPjbEIm0si/uno+aL44+8Q+0TDbTiI/lRysv8YEn5G4P3+crv5VPInA==","shasum":"603851a7b308a12ccc0299e6e9e691bbed8c8908","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.2.8.tgz","fileCount":46,"unpackedSize":574435,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIALgCcGVuE5iqUVN2gvaOlQzlViQbIuPMtAejjc6gIDbAiEA3BDEzUBv8LPur631bKvkQS53oCbUGADHWSoP8le33B4="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.2.8_1635177981537_0.9851882994052661"},"_hasShrinkwrap":false},"0.3.0":{"name":"react-moralis","version":"0.3.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"fc1476a5f335ded88dc62e90a4e498538f8e11dc","_id":"react-moralis@0.3.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-C4n8TmKVtgkzHaUgQPd5iQ1O+9OJwOEJ6Y9NPlFHig2T2lUvZ4/8X4lzDPyNXpUULJ7Sq1n7bjvQsPwFgdHbUQ==","shasum":"a96b8ede4429cf02425622dcfe8f52bee3ced62a","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.0.tgz","fileCount":87,"unpackedSize":1238631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlUF7CRA9TVsSAnZWagAAh1sP/i6Uqd+USsIT7QxORsO9\nm/8ch1m0av4mXBW9mJJKQyqVvCy/MAhE0T8YXiocJt1gLVCO6pTV8QkQKr7M\noAGXBUYz7F3XkvbeVAD03G1viW+kOuSCIoGYFZr+qVewZ0BV0c22AfSACpw4\nABot9avbh20WUPZtDtlaSWJ5FrQZ9+1kB/SlQJ42dRheS+t8f0g4bjxWA31J\nnHrc3m/9Q3hQ3gjksGGj3JKd9rYzWJjADIybFWeb56hP5po62Tan/QmKyIJ8\nkxsD4ynOKpTaOkxuv54mTbKYrYU4fhtQI6jnf/bqgPD2kFKm7pTHwxUdNCXc\nMDWVrle4ocrXJRS19tOI6zdfLULTWEmuJaXv9QifegvFmc1I+Qyqbo8vsMEQ\nRir/6oy0m98zxF2NoD3eg4IR3reiJ2gKfm+hLD1PxJ2r210iAE3fJ3AW3BnY\n/PVTwwzXv+TaskCbrw+P0qDiOFkhzGKLEZwh4zXenjktS2KvZRZYLkNsXAIW\n+TdCnqgMqHBUbh95f6DGwPi3HQ7RJSIE3CZZgfW9GZYVdZVUWQrOsILpIryr\nX+DXlTX7ZcYxQ4zCFl3XuCIq8O66KmypjXAGiGpuVVppH0o4XPyOJrMvBK1j\nlE2rijSdqMBEIOzRXYlnQZdt6l4JprmIptKWqWxAT+rLpgLmYlwTkT0M6yXl\nYWBT\r\n=zTvc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWYTzFTUZAqWAwxq/2iT8OoCg3yv61XnDk1G5nqxmupAiBQomxyvyVQIb32nwfQe9iMRNRrjcjGo8n6FZlHxxxrfQ=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.0_1637171579329_0.6853111089868045"},"_hasShrinkwrap":false},"0.3.1":{"name":"react-moralis","version":"0.3.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"753cd0bbc362e66cc2468a82a25e51935df40ce7","_id":"react-moralis@0.3.1","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-g7jzufjPgCIbXKeVxqG6mS7oWC0ekSSTH0W2MCf9VKj05zu87UI8uptfIrKIW2fZV8fiodPoPQNDmYTxL22OqA==","shasum":"c6e5cb71757a026f8faa738a3e6c99130ad5d2cc","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.1.tgz","fileCount":88,"unpackedSize":1263273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrj7MCRA9TVsSAnZWagAAFM4P/RYIPj3rvSqtrL52Vfki\nfNU15uTcGvbjs87V49uEtvo7Qh20Hk8+23SyqoHnvj+Wv29YEHgfcPiv1qTH\np8FhA8y2MJWzPyjXrq5UyxXgt7VbO1C21meIM4pWXYuv9RN2kePgfEUX2FAq\n4FREg7PrXDvcE1ZiyA+KfVV+B1y5/+wSL23gasdXf9J1oBHj8s/VXwnYohqe\nedWFxcL6nk9jvEeclE2Co1WCFgP40cCXrwqf4M14i10yzD6sNTQzkZAjtEQO\nGTqxoL9LLFlUtzS3M7ZgUqC4DraPFt+AJ1V6Jbb4n9CDs/mgGB07Utd18bF7\nt34WtCnhziM9iLhMBZlRocIneehBxy06r/1dnWsQhih28dd4yP1oD5/sedrj\n9Oa3LIWmM/KPF3ryyTJbZMx2TrzVpPwOM82NCYOMyVbWXpT9vZ7uBkcu5xtp\nW0NFZ1bBR55XvwOQdWOZpDkGwKYkxD7PceUUIGs4bza48JRp9hmIlXbi8taw\nMKKgQD/txdQcXOTKmTOBmSEcrbmsxBGTrkjsoaVP9jaEUBLUis5VI2t3VwwE\nonqaZRcxiY/3lJmanRKpMZSpNlSEE4uxLHfNK8aayfNm6vfperNhzwoRcJeo\nUbsPA13uaYcS+jWAYJGlg7JJNyCJY+dt3yN7w2Cxu5tBPyBBbSCdgLM3lwua\nHjr2\r\n=H9v6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIClza2R+8WEBA3fjY2S/F3w07jpioprMVNj26CtwODhSAiBGQ2ATEcPyjID8SCu2/6g8xtXOt8MbvQJCTwJkJVqqzQ=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.1_1638809292367_0.6176269809581658"},"_hasShrinkwrap":false},"0.3.2":{"name":"react-moralis","version":"0.3.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"236a2682310cac99682dd46c039ccd380f4227c3","_id":"react-moralis@0.3.2","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-LNmXm3q6utKMDO6viUnvyysYHKD0XOSK3luLNsilQL7gZwGIbpmot1/w4YpayfxQ7bBfXBt10H1oHl4tFVckVQ==","shasum":"be7a9770d52cb5857b8402545f0a45e90e2737f4","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.2.tgz","fileCount":88,"unpackedSize":1263865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhu+40CRA9TVsSAnZWagAAbdgP/iuPn5MWSq3Lsn1xu7dB\nIj1c/hblviFL+9Gj9RTAb85KFiatKEh9vu/Lq80q+k+pUf5amsYie3KYLs08\nNm820sgWjxyMvrrY7wNlnqLV+XZzzMlaThk9rtRNvdYb5zkRWJV+5zZhwCpu\nHw6/Tg2IxtRc/W3vc37ryBzXnsEXFM4zg9V2yWU/OXOtCmZEvE2a4aILKyek\n5ZLV/PWVVDeVGD+aJi30n3ToBteQ5RwSAbH6h60cNGaTNs9CdD3D0/qCWRxp\no2rqqN+WcwtlD96wbDPG8Au+qlijPM2ZGqINEfj5v53qudVzfjvnpMWlKHpf\n8yK8RMyRC2GEIgx6V7wxHWjMNhsjMWsbXNA6mE3hWHeEZUE85/LQPBP0Xq06\nbV+0fJ/VvKFMWaepLONI7R/KQ3SxZgmhec2dSA/NCyPCcQRHb3E9NCot8oOK\nMBRhJ3Ha0nt14/awje5cpW8yQKTVAQcnTHBTYyESMXSvZtgDObVHLv64GC7d\n0FSk/jdV1lI+5O7KbHVnvk3w3yLjosHCl8pBJpx10/rli/B26ZwmdodhKkiB\nZprkZFZqB43WRI/jTYiOqSitKOfo664GKzhJHQ4WFC/GSRrSRkRCYMiHSU3l\nIiWMXfB8ytOWUdCPqveYYTQJXPNxvfYQAKl5tYCuESUOLar1DQLonDvVHzWC\ng48C\r\n=Hv/u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH3lILL4/Nx6nO0tiJbYVLBSeZXR5uZf5wEpFJZdemPYAiAV6/ZqOlrwZJZJwex56hcP28CzNzmwt0cHMpqQdxCjTQ=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.2_1639706164421_0.574352880102103"},"_hasShrinkwrap":false},"0.3.3":{"name":"react-moralis","version":"0.3.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"0550a5d0b20b75c44d457fcc6b51f321abb660b9","_id":"react-moralis@0.3.3","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-0FpJlF3mIw5TRzJWyXxJVumPReYAmBpTPa2cNogCdoSeE9NjlOWYluKyJBABqTrFWBt2z/43cUHI2j9SdfVp3Q==","shasum":"b29eb751033788d9f0cfa80e99990d8fe60236f2","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.3.tgz","fileCount":88,"unpackedSize":1263889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvPKxCRA9TVsSAnZWagAAi8UP/Ra7h3nkud9+s/QiIMA7\n6X7r+F20UF4wJQPWrW17XRMm4zrsmYsfgjpRawJZWLzSxChXLG9Pq7ClAYJy\nNVvTZYljh1j3iV9Psjtid032I3vsiEP2NUuJRmu/4WN7hCU+6mJbx/x84KMm\nR2N9JjzX6fS0+qyy1osfOuz7OOmYEwDg//NDXCDVMd3d+7EvkVvHL8Z0X8wt\nH0uIRoS5pmxT2mxqV8qi1rrl34chzDOVXFy7snBhncH32vvuWJqN0FIl6gSk\naLKbKsCQkIh6skNSc4Xl4Eas61IZmAOeCK99q7zAMwdxQYI919vrjwV38aVA\n6VJGbYEmTRopDLtTluuk/jjiLN0qkFW5jcHyZidOPCGHfnc4eVav2Quwo4V2\nrHyb7dBGwAnbFpwLovxWVuL7ZUI7yzrsZqNMXjzYCFVxmiWl426e8PVsSqsb\nlQplh3puk6NfJAxXf4RHEGriHWdtuxp7W+YrdRGSw4/vO8ss9f8k/t4Q7dFm\nTuczIQLg3Wg5kRi+YArM1Tlo5waA9wpBN0njM2bVNGMrvuu4FW+huyzZsDpv\n82/wZmifmTb6Fai+GRbjmQtIahTpkOJ25Y4mLN1FobRcWxVeNPJjPpM8jFr9\nrvOgIgIxi/3fv7k4QsGIy8Lkth/Z68K6ux8XU4NvgSbme8wyIudZvk6BqKqN\nKdDs\r\n=4/tt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNQaPGgR7FEFOAAWUMREmyCkKn4z3njR6NVmgvW9ziggIhAPpd+ifr/pZZoN3azeVYJAbRYLCcTqUqpPue+rMVUfiA"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.3_1639772849034_0.45286100875578317"},"_hasShrinkwrap":false},"0.3.4":{"name":"react-moralis","version":"0.3.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"4616451345341300d5e65d55be6db342fd2b7ff1","_id":"react-moralis@0.3.4","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-sfdhlPYioywG3JR1/5z2xg9MnOJUjkeHh58SoKFmcYa6eTXMhfV/4F5/8LmWp7ashojpTve2sa2QtQx4BIX0SA==","shasum":"c714fec8d84a32f228bb54724dd0324f42e218af","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.4.tgz","fileCount":88,"unpackedSize":1263889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvU+3CRA9TVsSAnZWagAAmxIP+QD61LEaMH0rIEqyJFcg\nGbylBBwDlzv5Dc0WQqsTkPy7aDEDzBXV/bFu70I/uWuGR7THiq8RIQK6vGhO\nz5NeuGIkqschLSmTyvzNzqunq0mmqn+49ZoXqvd2O6JGNC8b2fF6eEY04746\n++Ue4f2GHDUSPWmllE99EOtFnGrw8D9+uzDzS4bHJNTfRTt+9mAMdlXMeeuN\nzHNx/qMyyXz9KJb6cncFSh44cXyzH0IKPdlLrzRglbHLUpn92i8EQEi/5r71\nP6oOIsHRrwZcNyefslg2c0+f7UAw18Ht07EN330QCQykXaf3XkEcmmzHHi/5\novx7M1jL0qROHkgd/GVWX6vlFDcBjIk8ITveG2u9oK3mmhO7K3LFhgV+ogN3\no2+s87ZYPgjlaIShUnelAZWTjIc+h1f0W0IyARfIf2JHQG06ppG1U/j/Wh+5\npME1nm1RIJWdFiiNkPZ0hcwVyZmj/Z6ukeSZ/fRrNvHBlXDPKmePagHI28pz\nplKBBXMZsMyPEQjpXlwJ0hBYHjpoiAr8k9KjkajEld0wOnXf3OaY2vuexbqR\nx1QsdJtC9vipK/Dr+w2JD+dyueW+g2Y8+Gq5Tb+gJ2gpTduxGXnCFCcc+GKB\nxj3OYZiB65MS1KjKJX/38K5ilvGifO90ILqhHh8JKl/o1a/9fm7gfngbWk4m\n1fCj\r\n=tSWr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjrPdUPCJ+bXAD7TTANCYNjzGzx9bJqRkY3NRMR5MUoAIgW9pUJD0fsl/7KEdSEGpHL2Bwh5SpWSktUMvv1Rk3DDo="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.4_1639796662941_0.941128285933541"},"_hasShrinkwrap":false},"0.3.5":{"name":"react-moralis","version":"0.3.5","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"6da6580ee9f4bf0ea6a13ec66ffb955a21b0640e","_id":"react-moralis@0.3.5","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-dGT6U1J3OkKTbGo8WbaD2S97E068hM2PnjuiST2tUUvVjW3Yzqn+750QWkumEaqq+5eol+2yNLFrdVi297E0PA==","shasum":"2e2abc868f6f73a23f7f321bbc002caae263d745","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.5.tgz","fileCount":88,"unpackedSize":1263961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvVLmCRA9TVsSAnZWagAAhXwP/3UosfP4bVfiPN6zPCTH\nVolVQoVhZSldIgWlbqPSSHz3Y/dYs5gQuMZTsYOqLJHy4ymespgiLDyqc8YZ\nNVUUY4Jw1YQ4LrxdOro/s+KscEXXDnv3pD+ppJb3pl+CgYgCb7js82TMeprN\ncJPoCnuWGRmVfaqDw59jeLWkiHXjX+G91nfBy8n9JoYFHJnlMFKBd54+DnUV\n4USlunzz4YM/qqoMcW3Y5L56Vp1ALymrx/sgeVe+znkJt+8OjkU2mnj9DAr/\npI4QShRsUmTOu/RPairWPKb4N8VSxhSn4UW1eMwC2/fkpITiMWVvzp9F+Lhp\nEUysOMghmR9/KJuh6z6m+jagtQTFdX4+7DGQ7zWzzNaRzwWsa2UHCyCKxKqp\nNWATEns+sHijqUdcLq1Gmy5G6QBC8rLdkYDmY8PoGyfLvmXGm0OT+V6Ne2/H\nmahHuQe5uxJWbctX8P8JBsLS/IVlsOaU71/6Z3JthH0Ub4nWJKoGFsbyCaCs\naBfnZkBWP17gaLPjwiB0l9JxxmxSEkTGuH+GmRAqb8n5oGgMJuLneT1ibQ+v\naUlxFEPIvz1EafN3Fa05EzTZJiax88N1RVn34x+EugkXU3qVLjEzN5JAfXRd\nzf/QwVsURhgVQ86uF9Cgzxr8LnLjY2cdTVNNvTMAsL/IC5E1dUlQ3x4pSCBD\nvBl2\r\n=jqpb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWlBwnb9JdKYAWvK37b/6lhGqLCKYA7yZw9cQxuWcNDAiEAhd7IaMAx9z2tV3G7SsZmLjSz52swXecBnlg3qKlACcg="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.5_1639797478136_0.9235699808867333"},"_hasShrinkwrap":false},"0.3.6":{"name":"react-moralis","version":"0.3.6","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"27c583d7bd8ef09895dd6627b0c28658d5a8faa0","_id":"react-moralis@0.3.6","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-4LvVjCm2vEoN94ZHtyajG1Vj2/REkxbyHxMzX0OwaZj4a8E3fQ0j+yH91zmHVGDnekyxsNwbCHo4cXdalFPnmg==","shasum":"c7ca49ab6f94129a82ab3c970a68b26d22063f7c","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.6.tgz","fileCount":88,"unpackedSize":1264057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvVM+CRA9TVsSAnZWagAAnNoP/AtT/+3DQf5em+jbTTJm\nuOFRTnASnVPR5JfN6eMerVRdUKCOVHzRAj757Hn3keuY5K7dJU9SQApgNZJW\nRuDSCxYpMkO9BviifC/EpGpZWWLmgucdRvqKcvSRhqVoJw11rpFTc0ejc82S\nHQFzqhuAVO9CUu+RDMLrPPJDChVNgD2p6fI3/s6ElZURdGDlduh6ExvcO8JV\nOMnMRevB21dNzMExKqFZOsqPEIGHfFxUvILnGgcZZTMoeCQZfadzKSOrzEY7\nI1FFq75WJUGClMpgeQ1JCjJ1MEYmhwPOIz77135op9KMpuQunsDJPegMUBV8\nUwB8moqEKrENzxcKEiUkL59YXD10bk+vl3+mq1L0rp1WGqiH7QjygKd93L3d\neKtEub8WF9nl6i0rCw+3NZF0gLcrCXhv6fFfwiReYVPrX11tN9DFIU9JD4l9\nEOcvfjWKsZOLfUdVpF5gyVFCfRoJyWVkogvdY/GLrCW913mrcytGNAg6QATo\nRqP3fPf6FjdipBnwyRaaLm1auFbkzElNxY8zxEt0WrJx63afzgEp5breRKJV\nP9b5cEBCQr663CXGz+DMTEnyeAYtPOR0aWzaKTfkBt1R2/hQBLkyG4bfv6kt\nakYBYLBRKvwybtdzECbkhF6a6BnTfh46zmepAsxgsGX5pLvQ6cuRy0nc/XgC\n1v9l\r\n=pHHe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8gwEXk1EcQy9lA5Yww5zm3K39cHGqpmh329q3wpePJAIgZ/YK0Aw8052UF4CMwfALEVlyYCnqRysNuICHu9k0fm8="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.6_1639797565890_0.8328330170494918"},"_hasShrinkwrap":false},"0.3.7":{"name":"react-moralis","version":"0.3.7","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"2e2568cbfe40e0bc8c93f9b9f81dd52b32bf1a1d","_id":"react-moralis@0.3.7","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-PoJoLWUVelwz0Jh9dAUCxlkDfg5Sjg5CKtB4sUCcpBCa04f/GUc+Mn+eXI2H7WRNNp6CMmsbWaKHU9o5iYIWww==","shasum":"2a65e4e338fccb3cf3d12f9025f7a9a36a579462","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.7.tgz","fileCount":88,"unpackedSize":1264153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvVOPCRA9TVsSAnZWagAADC4P/0MOefx/wi6xQGO5vJYJ\nW4PfQiUOY4fn9yD6I8/En5ZN+35oQW06OQQ2lWP08wdDagklQln7HJm8hKEp\nzp1byD3AhBNLDc4BTlbVKYNlDZbNOIsM4WPdjQMvYjTPTAjMRW6mChQPRq2D\nTE9ETykjuiVzPALLfv1u7Vx1CQNelzuqiUtk2OOfPq9Sqjqa/+dBdcPXMzG6\n6hksPS+H5ea8dM61NxSSShiLY9c6LvAaHjc4fja4z/gq8spI152kQYqo+Tov\nrmSzbk7RKYDL5eJ+ejx5jM8dTAdTRghva9oPh8DDPmcmEDOg2dfaqwCTJepS\n509Owsq4mUpo46Wasa7aplyB6H8I/syV6wpGA0Ep/Sy0ow4JdLQEo1hyY47n\nz63yiZbK5RXpJXA4G/3D9GyIxSl098McrQ1LSTjQezMU4LkNT9adnlNxWsSh\nYWgizo49ibN1C7vN9paeuSFjjMxyLGisXpgaoP0JnuvaKV4RtxE3fkYFbkK5\nU0As7t5Lv5FRi2vIhynYxojsKEV2bi93f8Gl54JLG+OExqWJXxMdWaStxszA\nxkL3TBbTSlhe5tjs6cG33QYkcJktAhnRjON57fZcM7ZFHKcmvtuGK9jHF4kx\nUqHR7JWz0qmUXlUCrKhNUFmUBRyE9dXafHybqrzKm8OqBS1oa4xXMZEcz6Hk\n1JoC\r\n=sJZt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxj7hT1GciErcNpkVWHCbjbQdvyqVwinuEsFas2QK0sQIhAItpo9eSQlSe7n5O/PHwKd1Pr9l3/yLi4HgW7U6F6AKc"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.7_1639797646959_0.09753692760090482"},"_hasShrinkwrap":false},"0.3.8":{"name":"react-moralis","version":"0.3.8","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0","@commitlint/cli":"^13.2.1","@commitlint/config-conventional":"^13.2.0","@commitlint/prompt":"^13.2.1","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.0.6","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.2","@types/react":"^17.0.31","@types/react-dom":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","babel-jest":"^27.3.1","babel-loader":"8.2.3","commitizen":"^4.2.3","dotenv":"^10.0.0","eslint":"8.0.1","eslint-plugin-react":"^7.23.2","husky":"^7.0.4","jest":"^27.3.1","lint-staged":"^11.2.3","moralis":">=0.0.134","prettier":"^2.2.1","rollup":"^2.45.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.30.0","rollup-watch":"^4.3.1","standard-version":"^9.3.2","ts-loader":"^9.2.6","tslib":"^2.2.0","typescript":"^4.2.4"},"peerDependencies":{"moralis":">=0.0.134","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"echo 'not implemented'","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","release":"standard-version","release:alpha":"standard-version --prerelease alpha --no-verify","release:minor":"standard-version --release-as minor --no-verify","release:patch":"standard-version --release-as patch --no-verify","release:major":"standard-version --release-as major --no-verify","prepare":"husky install","pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.1","use-immer":"^0.6.0"},"gitHead":"6ae2d1918817a838e4c9f481c55bdc2f665e755c","_id":"react-moralis@0.3.8","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-GrJdK4TgYx7HW8vhwYDTLVKVVcpXrguzevO0AtA1hFcLxlYp2g/XO+epPImXLET4Lmt/bv+cFffwfFMlcrjpLA==","shasum":"943b5af723177d6d3f4b66b2c2cc512fce3feba4","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.8.tgz","fileCount":88,"unpackedSize":1264249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvVPYCRA9TVsSAnZWagAAwQUQAICP3YueBNDyXjcFsB+G\nWp/x/6KiCCBKLbG8Ls4pS1ZOW+S/yoxUSH1OG8thGnz3iUdefmyePCjvMUUo\nTKwIa7N8Qg+2cA/ryI1rBQY7wHg7iT4eMKqOoH8mpH0FXoIdhkvcfZJaFzGP\nwuxLGeNgegb4Yi4ISYtZw0bAUn/NYGXeN44gWY4b3xgxYi/U+8E6atvqouzL\nncbxF3lT2pTlvY4/A9AuCOHivqLaMo44OIUgsheA7si+4HTXdhrLK8YAif7h\nwsI0nhP5l7xEjBHZ8mHnK3dtvh8v/+iPWDfrcCtqpeEgczftuXKQEPjaQAeE\nR30dzeYIKaCew/F7CYbfys+rBnTV578laPZU8Akhc+IJ4O29wds9bC98Xdtq\nHOV55GqUeo43aHtu4ZvDx5sVC/a/qfsSjjzMZmiudBMxOIWmaGr+8NEIi/Ts\nsikphYp79szH8qdBj/EcMlpAHU5gO9Yuw5grS5nb+sYaGUVbM4Hm2jU5A6HR\nxBU0fKXOSmA2J14YKos4SQSWMOj5+rqpgnU0RkFrDAMBa5G1yMA5ZdoZXUxJ\nN1Yt8o16E5j3JwW8T0YXPVWryiaIN3DsotESieAFDJrcc5pboAwc+powUWlZ\n08ah8uRDyGriUGvkyyvxUqAmrDeBFiYS+sOZAQY1c+SnUrRqSHrRSkNX7ofQ\nLqwc\r\n=WoBL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJvRlyGlTFDbqoE8H0hrxn5+GI0gU/oC4bkxFhMOLusgIgLc5MDuUqbv7ACctQM7dLandcYNfOMsbzpTKCCSc13O4="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.8_1639797720250_0.4354379490518572"},"_hasShrinkwrap":false},"0.3.9":{"name":"react-moralis","version":"0.3.9","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^15.0.0","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.4.1","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":">=0.0.176","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=0.0.176","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"15d2eebb305f1dc336c2ca7dc96db973c012c008","_id":"react-moralis@0.3.9","_nodeVersion":"14.18.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-vxvrwnU8YOdqeLjzrO+6iLJCvzHr15+B9/CWeJb68x+gVkXmtdJNw3KUKzxcCTnDFm/QUxolG16uCa3PN9EMNQ==","shasum":"d5c2e83f1a2866b79d1400fe78f0d512e61ae835","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.9.tgz","fileCount":87,"unpackedSize":1258097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwELuCRA9TVsSAnZWagAAW8IP/jABPM2CPp2IVgr27eLq\nmRUXbRLawMy/g8nm7Z2HfxaIxIdZMTyFWkMrRAPSKMyNBrZY1E+9/x0amQsb\nDy7c6Ol2TTzUx/TFP/W80ixA7wA0a8VIDir0j7NqckNqS5FY2uRCUt2aIPkk\nhWS/WaGsm475bd2jwPRaBhAC1bAedmDVdyp2YWCPLU5m5EXG4Gn7yXXwMxBd\n1DskdXQ91TJaNiAdTEKNywWmuCnOW2uC8qIJusrjFhJcoflcH850/VGRbTVe\nr1DRSyov2ujLk+A5FZPu8CktsHAg0mof740HwLCVMD/diuYxiktdP3JwpBiR\nJb9XVyhMME686UqUw9k0I76g3CQalKVn5RDYINAcYmrMtQ2exzn56UqUZmdy\nofy47KHT9F9kMyabD7Gm7LLivpcDKsOz0faiVHr/NSoWBdn7zvJqZ4u1qRta\nm/oCgLz+z8/O87dO8h4VcLBlE9PVMDylxB+3TsJJyRQbpqC7fkYJutkJZY6D\nqnXCNq2vTYuF2HPiZI8F0fCxnB3ZZvViKuKdACx1Ghjzpk7b/abqau0IDWu9\nRpHLUSdMkRzuoDyRATMITYGVyr49EzqJxHbKuiFqPMQRGlMUDMoa9ot+wiOG\nLnbwl9wUipUU98OmUCmgy1q0J2dos6tRlPgQGK6kpT1GyeeHr+8dxUiP310f\nWaRU\r\n=Pc+s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpjTCI7F0mIJ/9aL9ZOSNyHVXbqs8+yaNu33LD/9sLxQIgGGjr8QaSWeK/v87OGj8c4JzrmtVxKookWKwjz3VjGg4="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.9_1639989997812_0.6526763245605305"},"_hasShrinkwrap":false},"0.3.10":{"name":"react-moralis","version":"0.3.10","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^15.0.0","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.4.1","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":">=0.0.176","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=0.0.176","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"e7ad082ce3b48e5d65b76b5582d95a3f77e1c45b","_id":"react-moralis@0.3.10","_nodeVersion":"14.18.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-fVxL/DNXMLhZD3BpXDLkssHfObd7CQ2n9FsN/fxT2mpNaY7v7FD5Sy2MbiVmCdUIa7xPuPEvliOzPJFFxWZ6iA==","shasum":"660e62acf489c53a2acecfbdbb5f756edd70b08e","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.10.tgz","fileCount":87,"unpackedSize":1258247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwEhbCRA9TVsSAnZWagAATAUQAJcFGs3hZOBs+Rx024aG\nh/r9KhQVQRyakv2phM3t9pyhO3/EcL5lAls0OLUKP/Z5WvNw9vawu3IGKnvV\niWKfaZ3OtqcBglsOFmrTZQjwWDJtlh/e5jzvlKgCuRb+F5XqfZf0USYRNPF6\nNOyMMnJyL2q6XUQssH9ooMtc9Ef9bubzwtxf904P2n0/GNxMei5ST3xW1j+G\nL7gW4J30zoQfLx01C3Qc0gU4JxmwfBbo2QWeNcptQEFsvAuFjcM0BpWoj+RT\n/VmCr4XTQ+vx7I2hAQO9XWu7acVoWW7hiurlNxJyntHZ8LulNvgJQRqhmd5u\neApe9ZNRSb5j/EJHUwr+mE0WFeAdSzWkfxMZJRD44EERAP5dbdQRWqYSBCQS\nb6eMrNQmowDAMVSxAWHhtOuHtSVjb3gWDrhOUWCj9360ZnxDv8lSSP7e7h1r\n7z/JJxoCAzMbAuQ0MlAJZk0H587+Nt82GyKvKiP6KBu3fuQed77JLWP7FLZy\nwTtu17hOcim6yYGo3+TfWtlZddTYPOcA7fXubLhCFxxotfD+ctuhYAK2T+S0\n1v7+XY43Sg5RrDs/h6UF6o1Fd559nPNlqZaiRoFHtX00FyGA/iHYIgg1XAtL\nHAYymtFI3fxx2BrzVq9nskAGs1BAoepgd3oghNvzPJi6uQLEJsiNiIrsPyxI\n8MwU\r\n=hCDa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDclmmgR7XADZ1lpdpNBNU4PbHooB+AqTCoDocPVLF6BAIgR1sK6MaHFvCWvj/xHrASDDwLkTtrGYDBLhyBguHSb7w="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.10_1639991387106_0.48676297312001937"},"_hasShrinkwrap":false},"0.3.11":{"name":"react-moralis","version":"0.3.11","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^15.0.0","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":">=0.0.176","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=0.0.176","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"50bc98e6c5c43c93d381c7e9e3a1a178851ad80c","_id":"react-moralis@0.3.11","_nodeVersion":"14.18.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-WcH6xEvK3mQgtfifIoI2vCJv2/uE9YWdVoKQua6Vu/hEgVIo7brQHpZunx0UZ3bFnDaf4H/XKyPZi1HHLJTdZw==","shasum":"7becc2eb8aab509b95eec3063534c60f685056e9","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.3.11.tgz","fileCount":87,"unpackedSize":1258905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwEuWCRA9TVsSAnZWagAA39UP/2Gmi2jjUfhU6w8L74KT\ndybfB0DEKPnl9RKeur8IT2NImA/82vmSbIPzmNDyo8/zfmH6vEL3AvYu+hNf\nMmbTP4W351xGQ0v3ie4FBLVqK8am9fF6YsFHt3T45Z/CnQvlk4eVLMde0QDQ\ntlNEgQlmVWwfFYQlXaxBJv1RSgmbt+HdVhsDXguoP5xKEL8JRmG3aiJ7r5u2\nT5UGygasS1oQv5jbNtv2h6jbCunzTXM0lVDQ2RJxz67Mt3PGfzY5o3oGGC92\n/znThhOPdhxbPEEvKeWnnW12ucSHw4h/R67BlMZAldFS3MQ7lsKgNrwKvn/f\nB8m5qa4UR3loZqNrGcwz+qxbmBCHpJZvFc1WQANM8/4bNdOCxOpQQC2uxs1O\n04hgUEBNIxOy0TNaD/5C/UX5waaIDAjbu1hApuPxtTxSmnNrj4QUwhUpHIZH\nynfBQ493V1C6LtVF6smtwhToRbrxhkbkZDcrLK+ifmVRRclwp1j9XEV1kS/A\n3H0KONB2o9unIGUoEyXczdYkf6//BlMk0T0JpVB4sxscSgOdHvvyG2aqnpEZ\nkleU3Gig5aej9+bS1PTJflVum0MGwWVPDcSjGcoMcKes8Jo1hNCrNG192zAT\nR6T1QCkssFArsfh3vdnYLRt7MwcbRkhWDykSC38HjZi08Z17kOmUaImykjkC\n+Lpv\r\n=Yn7Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID77ATpxAYyfcFbvs+0sWH6DKfHNziYAQNDbHQWRArBBAiEAglUJEmX9KmAb3XkmaEaQQJyqllx99noaGToKRvqUKic="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.3.11_1639992213990_0.3528803694650411"},"_hasShrinkwrap":false},"0.4.0-beta.1":{"name":"react-moralis","version":"0.4.0-beta.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^15.0.0","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":">=0.0.176","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=0.0.176","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"readme":"<div align=\"center\">\n    <p align=\"center\">\n      <img src=\"./docs/head.png\" alt=\"React Hook Form Logo - React hook custom hook for form validation\" />\n    </p>\n</div>\n\n<div align=\"center\">\n\n![npm](https://img.shields.io/npm/v/react-moralis)\n![node-current](https://img.shields.io/node/v/react-moralis)\n![GitHub last commit](https://img.shields.io/github/last-commit/MoralisWeb3/react-moralis)\n![David](https://img.shields.io/david/MoralisWeb3/react-moralis)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-moralis)\n![npm type definitions](https://img.shields.io/npm/types/react-moralis)\n\n</div>\n\n# `react-moralis`\n\n> React components and hooks for your Moralis project\n\nThis project is a thin React wrapper around [Moralis](https://moralis.io/), to easily call functionalities and display data.\n\nPlease check the [official documentation of Moralis](https://docs.moralis.io/#user) for all the functionalities of Moralis.\n\n# ⚙️ Quick start\n\nMake sure to have `react`, `react-dom` and `moralis` installed as dependencies, then install `react-moralis`\n\nIn short:\n\n```sh\nnpm install react react-dom moralis react-moralis\n```\n\nor\n\n```sh\nyarn add react react-dom moralis react-moralis\n```\n\n> Make sure to also  `moralis` to the latest version, when you update `react-moralis`.\n\nThen wrap your app in a `<MoralisProvider>`, and provide your appId and serverUrl:\n\n```jsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { MoralisProvider } from \"react-moralis\";\n\nReactDOM.render(\n  <MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n    <App />\n  </MoralisProvider>,\n  document.getElementById(\"root\"),\n);\n```\n\nAnd call the hooks inside your app:\n\n```jsx\nimport React from \"react\";\nimport { useMoralis } from \"react-moralis\";\n\nfunction App() {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Welcome {user.get(\"username\")}</h1>\n    </div>\n  );\n}\n```\n\n# 🧭 Table of contents\n\n- [`react-moralis`](#react-moralis)\n- [⚙️ Quick start](#️-quick-start)\n- [🧭 Table of contents](#-table-of-contents)\n- [🚀 Usage](#-usage)\n  - [Wrap your app in a `MoralisProvider`](#wrap-your-app-in-a-moralisprovider)\n  - [`useMoralis()`](#usemoralis)\n    - [Authenticate](#authenticate)\n    - [Authentication state](#authentication-state)\n    - [`authenticate()` (web3)](#authenticate-web3)\n      - [Elrond](#elrond)\n      - [Walletconnect](#walletconnect)\n      - [Custom signing message](#custom-signing-message)\n    - [`signup()` (non-crypto)](#signup-non-crypto)\n    - [`login()` (non-crypto)](#login-non-crypto)\n    - [`logout()`](#logout)\n    - [Update the user with `setUserData()`](#update-the-user-with-setuserdata)\n    - [Refetch user data `refetchUserData()`](#refetch-user-data-refetchuserdata)\n  - [`useMoralisQuery()`](#usemoralisquery)\n    - [Fetch Queries](#fetch-queries)\n    - [Filter queries](#filter-queries)\n    - [Automatic updates with dependencies](#automatic-updates-with-dependencies)\n    - [Realtime / live queries](#realtime--live-queries)\n  - [`useMoralisSubscription()`](#usemoralissubscription)\n    - [Listen for query events](#listen-for-query-events)\n  - [`useMoralisFile()`](#usemoralisfile)\n    - [Save to Moralis](#save-to-moralis)\n    - [Save to IPFS](#save-to-ipfs)\n    - [Other options](#other-options)\n  - [`useMoralisCloudFunction()`](#usemoraliscloudfunction)\n    - [Trigger manually](#trigger-manually)\n  - [`useMoralisWeb3Api()`](#usemoralisweb3api)\n    - [Resolve data with `useMoralisWeb3ApiCall()`](#resolve-data-with-usemoralisweb3apicall)\n  - [`useNewMoralisObject()`](#usenewmoralisobject)\n  - [`useWeb3ExecuteFunction()`](#useweb3executefunction)\n  - [`useChain()`](#usechain)\n  - [`useWeb3Transfer()`](#useweb3transfer)\n  - [`useERC20Balances()`](#useerc20balances)\n  - [`useERC20Transfers()`](#useerc20transfers)\n  - [`useNativeBalance()`](#usenativebalance)\n  - [`useNativeTransactions()`](#usenativetransactions)\n  - [`useNFTBalances()`](#usenftbalances)\n  - [`useNFTTransfers()`](#usenfttransfers)\n  - [`useTokenPrice()`](#usetokenprice)\n  - [Dex Plugin Hooks](#dex-plugin-hooks)\n    - [`useOneInchQuote()`](#useoneinchquote)\n    - [`useOneInchSwap()`](#useoneinchswap)\n    - [`useOneInchTokens()`](#useoneinchtokens)\n  - [`Web3`](#web3)\n    - [Enable web3 via metamask](#enable-web3-via-metamask)\n    - [Enable web3 via Walletconnect](#enable-web3-via-walletconnect)\n  - [Components](#components)\n- [Handling responses](#handling-responses)\n- [Webpack v5 support](#webpack-v5-support)\n- [😖 Error handling](#-error-handling)\n- [⌨️ Typescript](#️-typescript)\n- [🧑‍💻 Development](#-development)\n\n# 🚀 Usage\n\n## Wrap your app in a `MoralisProvider`\n\nIn order to let your components have access to Moralis functions, wrap your app in a `<MoralisProvider />` component. This will handle the whole initialization for you.\nYou need to provide the `appId` and `serverUrl`, which can be obtained from your dashboard.\n\n```jsx\n<MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n  <App />\n</MoralisProvider>\n```\n\nThis component will automatically initialize Moralis with the provided key and appId.\nIt will also keep the authentication of the user automatically in sync and easy accessible (see `useMoralis`), and give access to all the other hooks.\n\nNow you can use the hooks below in all App.tsx and all of its children:\n\n- `useMoralis` for authentication and user data\n- `useMoralisQuery` for easy query\n- `useMoralisCloudFunction` for easy cloud functions\n- `useMoralisSubscription` for easy subscription\n- `useMoralisFile` for easy file uploads\n\n## `useMoralis()`\n\n### Authenticate\n\nThe `useMoralis` hook provides all the basics functionalities that you need for authentication and user data.\n\nYou can use it inside a component and have access to various data and functions:\n\n```jsx\nconst { Moralis, isInitialized, ...rest } = useMoralis();\n```\n\nYou will have access to the following values by using this hook:\n\n| Option          | Description                                                     |\n| --------------- | --------------------------------------------------------------- |\n| `Moralis`       | The global Moralis instance (same as the global Moralis object) |\n| `isInitialized` | A boolean, indicating if Moralis has been initialized           |\n| `isInitializing` | A boolean, indicating if Moralis is currently initializing           |\n\n| Option              | Description                                                                                                                                                                                                         |\n| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `authenticate()`    | The authentication function, to authenticate via web3                                                                                                                                                               |\n| `logout()`          | The logout function that will end the users session                                                                                                                                                                 |\n| `signup()`          | The signup function that will signup a new user with an username and password                                                                                                                                       |\n| `signin()`          | The signin function that will sign in a user with a username and password                                                                                                                                           |\n| `auth`              | Auth state object (see below)                                                                                                                                                                                       |\n| `authError`         | Error object when authentication failed (auth.state will be \"error\");                                                                                                                                               |\n| `isAuthenticated`   | A boolean, indication if authenticated                                                                                                                                                                              |\n| `isUnauthenticated` | A boolean, indication if user is authenticated                                                                                                                                                                      |\n| `isAuthenticating`  | A boolean, indication if user is authenticating (started but not finished)                                                                                                                                          |\n| `hasAuthError`      | A boolean, indication if authentication has an error                                                                                                                                                                |\n| `isLoggingOut`      | A boolean, indication if the user is logging out (started but not finished)                                                                                                                                         |\n| `isAuthUndefined`   | A boolean, indication if the authentication is unknown, this is the initial state, before checking if the user is already logged in. It will resolve withing a few ms into `isAuthenticated` or `isUnauthenticated` |\n\n| Option          | Description                                                                                                                                                                       |\n| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `setUserData()` | function to set userData and directly sync it in the app AND Moralis (see below)                                                                                                  |\n| `user`          | user object from `Moralis.User.current`, containing the state of the logged in user. It automatically will be (un)set automatically when logging in and out, or setting user data |\n| `enableWeb3`    | function to enable web3                                                                                                                                                           |\n| `web3`          | The web3 instance of `Moralis.Web3`;                                                                                                                                              |\n| `isWeb3Enabled` | Boolean to indicate if web3 has been enabled via the `enableWeb3` function                                                                                                        |\n| `account` | address of the connected web3 wallet |\n| `chainId` | chain id of the blockchain that the web3 wallet is connected to |\n\n### Authentication state\n\nThe authentication state, and the user object will be updated, when the user authenticates or logs out.\n\nThe auth object has the following format:\n\n```js\n{\n  state: \"unauthenticated\",\n  error: null,\n}\n```\n\nwhere state can be one of the following enums\n\n```js\nenum AuthenticationState {\n  UNDEFINED = \"undefined\",\n  UNAUTHENTICATED = \"unauthenticated\",\n  AUTHENTICATED = \"authenticated\",\n  AUTHENTICATING = \"authenticating\",\n  LOGGING_OUT = \"logging_out\",\n  ERROR = \"error\",\n}\n```\n\n### `authenticate()` (web3)\n\nYou can call the `authenticate()` function to authenticate the user via web3, as long as a user has an active web3Provider (such as MetaMask).\n\nThis function calls the `MoralisWeb3.authenticate()` internally and will update the `auth` state and `user` state of your app automatically.\n\n*Example:*\n\n```jsx\nconst User = () => {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Hi {user.get(\"username\")}</h1>\n    </div>\n  );\n};\n```\n\nIf you need direct feedback after authentication, you can provide an `option` object as argument to the `authenticate` call with `onComplete`, `onError` and/or `onSuccess`:\n\n*Example:*\n\n```js\nauthenticate({ onComplete: () => alert(\"🎉\") })\n```\n\n#### Elrond\n\nIf you want to authenticate via Elrond, you can provide the `\"erd\"` authentication type in the options type:\n```js\nauthenticate({ type: \"erd\" })\n```\n\n#### Walletconnect\n\nIf you want to use walletconnect, instead of metamask, you can add the `provider` option:\n```js\nauthenticate({ provider: \"walletconnect\" })\n```\n\nFor some wallets you might want to specify the default chainId, to do so you can provide a `chainId` option:\n```js\nauthenticate({ provider: \"walletconnect\", chainId: 56 })\n```\n\n#### Custom signing message\n\nTo adjust the signing message, you can provide `signingMessage` as an option:\n```js\nauthenticate({ signingMessage: \"Moralis Authentication\" })\n```\n\n### `signup()` (non-crypto)\n\nTo signup users without web3, and use a password/username, you can use the signup function.\n\n*Example:*\n\n```jsx\nconst Signup = () => {\n  const { signup, isAuthenticated, user } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [email, setEmail] = useState(\"\");\n\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => signup(username, password, email)}>Sign up</button>\n    </div>\n  );\n};\n```\n\nIf you need to provide more data, than just the username, password and email, then you can provide an extra argument with an object, containing the data:\n\n*Example:*\n\n```jsx\nsignup(username, password, email, { phone: \"01234567\" });\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `login()` (non-crypto)\n\nSimilar to signup, you can also login via a hook function:\n\n*Example:*\n\n```jsx\nconst Login = () => {\n  const { login } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n]\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => login(username, password)}>Login</button>\n    </div>\n  );\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `logout()`\n\nFollowing the same principle as authentication/login, you can call `logout` and let the MoralisProvider handle the internal authentication state.\n\n*Example:*\n\n```jsx\nconst LogoutButton = () => {\n  const { logout, isAuthenticating } = useMoralis();\n\n  return (\n    <button onClick={() => logout()} disabled={isAuthenticating}>\n      Authenticate\n    </button>\n  )\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### Update the user with `setUserData()`\n\nWhen you want to set userData, you can use the `setUserData()` function from `useMoralis`.\nThis accepts an object with key-value pairs of data that you want to set.\n\nUpon calling this function:\n\n- The user is updated on Moralis\n- The user is updated in the React app\n\nSo this means that at the places where you use `const {user} = useMoralis()`, the user data will automatically be updated.\n\n*Example:*\n\n```jsx\nconst { setUserData, userError, isUserUpdating, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button\n      onClick={() => setUserData({\n        username: \"Batman\",\n        email: \"batman@marvel.com\",\n        numberOfCats: 12,\n      })}\n      disabled={isUserUpdating}\n    >\n      Set user data\n    </button>\n  </div>\n)\n\n```\n\n### Refetch user data `refetchUserData()`\n\nWhen your user data gets updated outside the app (via cloudfunctions or in another session for example), you might want to force a refetch of the user data. You can use `refetchUserData` for this.\n\n*Example:*\n\n```jsx\nconst { refetchUserData, isUserUpdating, userError, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button onClick={() => refetchUserData()} disabled={isUserUpdating}>\n      Refetch user data\n    </button>\n  </div>\n)\n```\n\n## `useMoralisQuery()`\n\n### Fetch Queries\n\nThe `useMoralisQuery` is heavily inspired by react-query. It handles all the async logic and manages the loading/error/data state internally and will automatically execute the query upon mounting in your component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n```\n\nThis query will fetch \"GameScore\" for you when the component mounts.\n\nThe hook will return `data`, `error` and `isLoading`, which you can use to render the component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n\nif (error) {\n  return <span>🤯</span>;\n}\n\nif (isLoading) {\n  return <span>🙄</span>;\n}\n\nreturn <pre>{JSON.stringify(data, null, 2)}</pre>;\n```\n\n### Filter queries\n\nYou can filer the query via a second argument. You can mutate the query in any way that Moralis.Query can.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\", query =>\n  query\n    .greaterThanOrEqualTo(\"score\", 100)\n    .descending(\"score\")\n    .limit(limit),\n);\n```\n\nThis example will fetch the top 3 scores that are at least 100, in descending order.\n\nYou can also filter dynamically, but you need to provide a dependency array as third argument (similar to other hooks), to specify when this hook needs to update.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n);\n```\n\n### Automatic updates with dependencies\n\nThis query will automatically refetch when the limit is changed.\n\nIf you want to disable the automatic fetching, you can also manually fetch. You need to provide `autoFetch: false` as option in the 4th argument. In that case it will ignore the dependencies and will only fetch if you manually call `fetch()`\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [],\n  { autoFetch: false },\n);\n\nreturn <button onClick={() => fetch}>Fetch manually</button>;\n```\n\n### Realtime / live queries\n\nThe `useMoralisQuery` hook can also be used to update upon realtime events. All you need to do is provide `live: true`. If any events update the query, then the `data` is automatically updated.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n  },\n);\n```\n\nBy default we use these rules\n\n| Eventname  | Action                              |\n| ---------- | ----------------------------------- |\n| `\"create\"` | Add to the data                     |\n| `\"update\"` | Update if object is already in data |\n| `\"enter\"`  | Add to the data                     |\n| `\"leave\"`  | Remove to the data                  |\n| `\"delete\"` | Remove to the data                  |\n\nYou can override these rules with your own functions.\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n    onLiveEnter: (entity, all) => [...all, entity],\n    onLiveCreate: (entity, all) => [...all, entity],\n    onLiveDelete: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveLeave: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveUpdate: (entity, all) =>\n      all.map(e => (e.id === entity.id ? entity : e)),\n  },\n);\n```\n\n## `useMoralisSubscription()`\n\n### Listen for query events\n\nThis hook is used when you use `useMoralisQuery` with `live: true`. But if you want fine-grained control over subscriptions, and want to do actions upon the events, then you can use this hook.\n\nIt's as simple as calling this hook with the callbacks that you want. The first 3 arguments are the same as `useMoralisQuery` (queryName, filter, dependencies). In the last argument, you can specify the callbacks:\n\n| Eventname  | callback |\n| ---------- | -------- |\n| `\"create\"` | onCreate |\n| `\"update\"` | onUpdate |\n| `\"enter\"`  | onEnter  |\n| `\"leave\"`  | onLeave  |\n| `\"delete\"` | onDelete |\n\nThey will all return the object as data.\n\nFor example if you want to notify when a new player was added:\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n});\n```\n\nThis hook will handle the subscribing and unsubscribing automatically. It will automatically subscribe/unsubscribe when the component mounts/unmounts. All you have to do is use this hook.\n\nYou can disable the subscription by providing: `enabled: false`\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n  enabled: false,\n});\n```\n\n## `useMoralisFile()`\n\nGet the data, and saveFunction with the `useMoralisFile` hook\n\n```jsx\nconst {\n  error,\n  isUploading,\n  moralisFile,\n  saveFile,\n} = useMoralisFile();\n```\n\n### Save to Moralis\n\nAll you need to do is call the save function with a valid file:\n\n```jsx\nsaveFile(\"batman.jpeg\", file);\n```\n\nThen you can read the state from the provided variables `error`,\n`isUploading` and\n`moralisFile`,\n\n### Save to IPFS\n\n```jsx\nsaveFile(\"batman.jpeg\", file, { saveIPFS: true });\n```\n\nThen you can get the ipfs data via `moralisFile._ipfs` and `moralisFile._hash` or `moralisFile.ipfs()` and `moralisFile.hash()` \n\n### Other options\n\nAdditionally you can also provide metadata, tags or specify the fileType in the options like:\n\n*Example:*\n\n```jsx\nconst metadata = { createdById: \"some-user-id\" };\nconst tags = { groupId: \"some-group-id\" };\n\nsaveFile(\"batman.jpeg\", file, {\n  type: \"image/jpeg\",\n  metadata,\n  tags,\n  saveIPFS: true,\n});\n```\n\n## `useMoralisCloudFunction()`\n\nYou can use the `useMoralisCloudFunction` hook to run cloud functions easily. All you need to do is provide a name for the function, and it will automatically fetch the data for you.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\");\n```\n\nIf you have a function that requires parameters, then you can provide it as second argument:\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\", {\n  limit,\n});\n```\n\n### Trigger manually\n\nIf you rather want to trigger the fetching manually, you can provide `autoFetch: false` as option. And call the `fetch` function manually.\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisCloudFunction(\n  \"topScores\",\n  {\n    limit\n  },\n  { autoFetch: false }\n);\n\n<button onClick={() => fetch()}>Fetch manually<button>\n```\n\n## `useMoralisWeb3Api()`\nThis hook will expose all the convenience functions of the `Moralis.Web3API` in the sdk (ex. `Web3Api.native.getBlock` or `Web3Api.account.getNativeBalance`). You can use this function in any way you want, for example:\n\n```jsx\nconst Web3Api = useMoralisWeb3Api()\n\nconst fetchBlock = async() => {\n  const result = await Web3Api.native.getBlock({\n    block_number_or_hash: '100000'\n  })\n  console.log(result)\n}\n```\n\n### Resolve data with `useMoralisWeb3ApiCall()`\n\nYou can also use a resolver, to resolve the asynchronous function. This works similar to useMoralisQuery or useMoralisCloudFunction. It will resolve the data/error for you and will re-trigger if dependencies change. \n\nFor this you can use `useMoralisWeb3ApiCall()`:\n\n```jsx\n  const [block, setBlock] = useState('100000');\n  const Web3Api = useMoralisWeb3Api()\n\n  const { fetch, data, error, isLoading } = useMoralisWeb3ApiCall(Web3Api.native.getBlock, {\n    block_number_or_hash: block,\n  });\n\n  return (\n    <div>\n      <button onClick={() => fetch()}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  )\n\n```\n\n## `useNewMoralisObject()`\nThis is a wrapper around the save method for a `Moralis.Object`. It creates a new object, and resolves the data, error and loading state, similar to the other hooks.\n\n*Example:*\n\n```jsx\nconst AddScoreButton = ({user, score}) => {\n  const { isSaving, error, save } = useNewMoralisObject('GameScore');\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => save({score, user})} disabled={isSaving}>Save score</button>\n  </div>)\n}\n\n```\n\n\n## `useWeb3ExecuteFunction()`\n\nYou can use the `useWeb3ExecuteFunction` hook to execute on-chain functions. You need to provide the correct `abi` of the contract, the corresponding `contractAddress`, the `functionName` that you would like to execute, and any parameters (`params`) thet you need to send with the function.\n\n*Example:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction({\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data),\n        null,\n        2,\n      )}\n    </pre>}\n  </div>)\n}\n```\n\n*Example with executing by fetch:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction();\n  \n  const options = {\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  }\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch({ params: options })} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data)}\n    </pre>}\n  </div>)\n}\n```\n\n\n## `useWeb3Transfer()`\n\nYou can use the `useWeb3Transfer` hook to transfer any native coins (ETH, BNB etc.), or any ERC20, ERC721 or ERC1155 tokens.\n\n*Example:*\n\n```jsx\nconst TransferEth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.ETH(0.5),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"native\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n*Example:*\n\n```jsx\nconst TransferWeth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.Token(20, 18),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"erc20\",\n    contractAddress: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n### `useChain()` \n\nHook for fast network switching or getting info about current network. To change the current network, set the target chainId to `switchNetwork` function. If the user does not have the target network in the wallet, it will automatically ask permission to add it to the wallet. \n\n**Example**:\n```jsx\nimport { useChain } from \"react-moralis\";\n\nfunction Chains() {\n  const { switchNetwork, chainId, chain, account } = useChain();\n  return (\n    <>\n      <button onClick={() => switchNetwork(\"0x1\")}>Switch to Ethereum</button>\n      <p>Current chainId: {chainId}</p>\n    </>\n  );\n}\n```\n\n### `useERC20Balances()` \n\nGets all token balances of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**\n```jsx\nimport { useERC20Balances } from \"react-moralis\";\n\nconst { fetchERC20Balances, data, isLoading, isFetching, error } = useERC20Balances();\n\nconst ERC20Balances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Balances({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"name\": \"Kylin Network\",\n      \"symbol\": \"KYL\",\n      \"logo\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png\",\n      \"thumbnail\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png\",\n      \"decimals\": \"18\",\n      \"balance\": \"123456789\"\n    }\n  ]\n}\n```\n\n### `useERC20Transfers()` \n\nGets ERC20 token transfers of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useERC20Transfers } from \"react-moralis\";\n\nconst { fetchERC20Transfers, data, error, isLoading, isFetching, } = useERC20Transfers();\n\nconst ERC20Transfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Transfers({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"transaction_hash\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\",\n      \"to_address\": \"0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"value\": \"650000000000000000\"\n    }\n  ]\n}\n```\n\n### `useNativeBalance()` \n\nGets native balance for a current user or specified address.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**:\n```jsx\nimport { useNativeBalance } from \"react-moralis\";\n\nfunction NativeBalance() {\n  const { getBalance, data: balance, nativeToken, error, isLoading } = useNativeBalance({ chain : \"ropsten\" });\n\n  return <div>{balance.formatted}</div>;\n}\n```\n**Example return of balance** (Object)\n```jsx\n{\n  balance: '996869309795359886',\n  formatted: '0.9969 ROP'\n}\n```\n\n**Example return of nativeToken** (Object)\n```jsx\n{\n  name: 'Ropsten Ether',\n  symbol: 'ROP',\n  decimals: 18\n}\n```\n\n\n### `useNativeTransactions()` \n\nGets the transactions from the current user or specified address. Returns an object with the number of transactions  and the array of native transactions \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNativeTransactions } from \"react-moralis\";\n\nconst { getNativeTransations, data, chainId, error, isLoading, isFetching } = useNativeTransactions();\n\nconst NativeTransactions = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNativeTransations({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"nonce\": \"326595425\",\n      \"transaction_index\": \"25\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"to_address\": \"0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef\",\n      \"value\": \"650000000000000000\",\n      \"gas\": \"6721975\",\n      \"gas_price\": \"20000000000\",\n      \"input\": \"string\",\n      \"receipt_cumulative_gas_used\": \"1340925\",\n      \"receipt_gas_used\": \"1340925\",\n      \"receipt_contract_address\": \"0x1d6a4cf64b52f6c73f201839aded7379ce58059c\",\n      \"receipt_root\": \"string\",\n      \"receipt_status\": \"1\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\"\n    }\n  ]\n}\n```\n\n### `useNFTBalances()` \n\nGets all NFTs from the current user or address. Supports both ERC721 and ERC1155. Returns an object with the number of NFT objects and the array of NFT objects.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n\n**Example**\n```jsx\nimport { useNFTBalances } from \"react-moralis\";\n\nconst { getNFTBalances, data, error, isLoading, isFetching } = useNFTBalances();\n\nconst NFTBalances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNFTBalances({ params: { chain: \"0x1\" } })}>Refetch NFTBalances</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"contract_type\": \"ERC721\",\n      \"owner_of\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_number\": \"88256\",\n      \"block_number_minted\": \"88256\",\n      \"token_uri\": \"string\",\n      \"metadata\": \"string\",\n      \"synced_at\": \"string\",\n      \"amount\": \"1\",\n      \"name\": \"CryptoKitties\",\n      \"symbol\": \"RARI\"\n    }\n  ]\n}\n```\n\n### `useNFTTransfers()` \n\nGets the NFT transfers. Returns an object with the number of NFT transfers and the array of NFT transfers.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `offset` (optional): Offset.\n- `direction` (optional): The transfer direction. Available values : both, to, from . Default value : both.\n- `format` (optional): he format of the token id. Available values : decimal, hex. Default value : decimal.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNFTTransfers } from \"react-moralis\";\n\nconst { fetch, data, error, isLoading, isFetching } = useNFTTransfers();\n\nconst NFTTransfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetch({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"from_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"to_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"amount\": \"1\",\n      \"contract_type\": \"ERC721\",\n      \"block_number\": \"88256\",\n      \"block_timestamp\": \"2021-06-04T16:00:15\",\n      \"block_hash\": \"string\",\n      \"transaction_hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"transaction_type\": \"string\",\n      \"transaction_index\": \"string\",\n      \"log_index\": 0\n    }\n  ]\n}\n```\n\n### `useTokenPrice()` \n\nGets the price nominated in the native token and usd for a given token contract address\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `exchange` (optional): The factory name or address of the token exchange. Possible exchanges, for different chains are: ETH mainnet: `uniswap-v3`, `sushiswap`, `uniswap-v2`, BSC mainnet: `pancakeswap-v2`, `pancakeswap-v1`. Polygon mainnet: `quickswap`. *If no exchange is specified, all exchanges are checked (in the order as listed above) until a valid pool has been found. Note that this request can take more time. So specifying the exchange will result in faster responses most of the time.*\n- `to_block` (optional): Returns the price for a given blocknumber (historical price-data).\n\n**Example**\n```jsx\nimport { useTokenPrice } from \"react-moralis\";\n\nconst TokenPrice = () => {\n  const { fetchTokenPrice, data: formattedData, error, isLoading, isFetching } = useTokenPrice({ address: \"0x1f9840...1f984\", chain: \"eth\" });\n\n  return (\n    <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={() => fetchTokenPrice({ params: { address: \"0x6...361\",  chain: \"bsc\" } })}>Refetch</button>\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n**Example return** (Object)\n```json\n{\n  \"exchangeAddress\": \"0x1f98431c8ad98523631ae4a59f267346ea31f984\",\n  \"exchangeName\": \"Uniswap v3\",\n  \"formattedNative\": \"0.004695 ETH\",\n  \"formattedUsd\": \"$20.38\",\n  \"nativePrice\": {\n    \"decimals\": 18,\n    \"name\": \"Ether\",\n    \"symbol\": \"ETH\",\n    \"value\": \"4695118425598734\"\n  },\n  \"usdPrice\": 20.37791922835578\n}\n\n```\n### Dex Plugin Hooks\n\n### `useOneInchQuote()` \n\nHook for getting swap quote info.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Quote() {\n  const { getQuote, data, isFetching, isLoading, error } = useOneInchQuote({\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n  });\n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n### `useOneInchSwap()` \n\nHook for swap.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Swap() {\n  const { swap, data, isFetching, isLoading, error } = useOneInchSwap();\n  \n  const options = {\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n    fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', // Your wallet address\n    slippage: 1,\n  }\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={()=> swap(options)}>Swap</button>\n    </div>\n  );\n}\n```\n\n### `useOneInchTokens()` \n\nHook for get supported token list.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nconst SupportedTokens = () => {\n  const { getSupportedTokens, data, isFetching, isLoading, error } = useOneInchTokens({ chain: 'bsc' });\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n## `Web3`\nIn order to use (non enabled) web3 functionalities, you can just use:\n```jsx\nconst { web3 } = useMoralis()\n```\n\n### Enable web3 via metamask\n\nIf you need features from an enabled web3 instance, then you need to enable web3 first. By default, metamask will be used to get a provider:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3()} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n### Enable web3 via Walletconnect\n\nOptionally, you  can specify to use walletconnect as a provider, to enable web3 via walletconnect:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3({provider: 'walletconnect'})} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n## Components\nIf you want to support Moralis, you can use the `ByMoralis` component, to render our logo 🙏:\n\n*Example:*\n\n```jsx\nconst App = () => {\nimport { ByMoralis } from \"react-moralis\";\n\n  return (\n    <div>\n      <ByMoralis width={300} />\n      <ByMoralis width={300} variant=\"dark\" />\n      <ByMoralis width={300} variant=\"light\" />\n    </div>\n  )\n}\n```\n\nYou can specify the color scheme; `dark`, `light` or `colour`(default), the width (defaults to 250px) and a custom styling via the `style` prop.\n\n#  Handling responses\nThe easiest way to handle the responses of the different async methods (fetch, save etc.), is to read the data directly from the hook. The data will return `error`, `data` and `isLoading`/`isFetching`. These values can easily be used to (conditionally) render different parts of your app.\n\nFor other logic, you might want to listen directly for success/error responses. This is facilitated by passing one or more callback (`onComplete`, `onError` and/or `onSuccess`) to the fetch/save etc. functions:\n\n\n| Callback     | Description                                                                                      |\n| ------------ | ------------------------------------------------------------------------------------------------ |\n| `onSuccess`  | Fires when the request resolves successfully. If possible it is returned with the resolved data. |\n| `onError`    | Fires when the request returns an error. It will return the corresponding error.                 |\n| `onComplete` | Fires when a request finishes (regardless of a success/error response)                           |\n\n*Example:*\n\n```jsx\nconst { fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndNotify = () => {\n  fetch({ \n    onSuccess: () => notifyUser(user.get(\"objectId\")),\n    onError: (error) => showErrorToast(error)\n  });\n};\n```\n\n# Webpack v5 support\n\nYou may see the following error in your project:\n```jsx\nERROR in ../../node_modules/dotenv/lib/main.js 26:13-28\nModule not found: Error: Can't resolve 'path' in '../node_modules/dotenv/lib'\n\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\nThis is no longer the case. Verify if you need this module and configure a polyfill for it.\n```\n\nThere are a lot of breaking changes in Webpack v5. Set up your project to work with `moralis` and `react-moralis`:\n\n### configuring Webpack v5\n\nWe highly recommend you to use the stable `4.0.3` version of Webpack. If you want to use Moralis on your project with Webpack v5 you need to add the fallback to your `webpack.config.js` file:\n\n```jsx\nmodule.exports = {\n    resolve: {\n        fallback: {\n            assert: require.resolve('assert'),\n            crypto: require.resolve('crypto-browserify'),\n            http: require.resolve('stream-http'),\n            https: require.resolve('https-browserify'),\n            os: require.resolve('os-browserify/browser'),\n            stream: require.resolve('stream-browserify'),\n        },\n    },\n};\n```\n\n### create-react-app\n\nTo be able to work with `moralis` and `react-moralis` on the create-react-app project you need to use the `< 5` version of `react-scripts`:\n\n`npx create-react-app --scripts-version 4.0.3`\n\n# 😖 Error handling\n\nFor most hooks, we will resolve the error for you in an error variable. For example, the following function will not throw an error (initially or when you call `fetch` manually).\n\nIf you have a useCase where you do want to respond to an error directly you can provide `throwOnError` as an options parameter. For example:\n\n```jsx\nconst { data, error, isLoading, fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndUseError = async () => {\n  try {\n    await fetch({ throwOnError: true });\n  } catch (error) {\n    alert(\"You got an error\");\n  }\n};\n```\n\n# ⌨️ Typescript\n\nThis library offers first-class Typescript support.\n\n# ⚛️ React native\n\nIn order to use this library with react-native, you need to provide the `environment=\"native\"` property to the `MoralisProvider`. Also you need to provide the Moralis library from `moralis/react-native.js` like:\n\n```js\nimport Moralis from \"moralis/react-native.js\"\n\nconst getMoralis = () => Moralis\n<MoralisProvider\n  appId={appId}\n  serverUrl={serverUrl}\n  environment=\"native\"\n  getMoralis={getMoralis}\n>\n  <App/>\n</MoralisProvider>\n```\n# 🧑‍💻 Development\n\nMake sure to have `node` and `yarn` installed.\n\n- Clone this repo\n- ```sh\n    cd react-moralis\n    yarn install\n  ```\n\nPlease follow the code guidelines before submitting a PR.\n\n- Make sure the code is clear and readable\n- Adhere to the style rules of Eslint, Prettier and Conventional Commit\n\n## Examples\n\nExamples can be found in https://github.com/MoralisWeb3/demo-apps/tree/main/react-moralis-examples\n","readmeFilename":"README.md","gitHead":"93c3426bc57f63841e01c027dbca1094d869499f","_id":"react-moralis@0.4.0-beta.1","_nodeVersion":"14.18.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-VNM+0lzlCE97LEjyAuPp7IaFVUhKXz8RlCUVoycD7IF9wKs9rtkO9T9pWEDfaier0z/wB2MSbITL622viEUjOw==","shasum":"0dd92a2432bca1537fe3fc4bcfc8618d8f6d8c39","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-0.4.0-beta.1.tgz","fileCount":98,"unpackedSize":1310773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhw63BCRA9TVsSAnZWagAAkrwP+wQVe93HuRLo6lVfMPLF\ntxIHw0i1y2/r8fKyQEB/Y/e5bxPMQEjBLJdPdaf4aFFaBXu04Ry32SFjKIh2\n1Q3gScSFD6/GSaTtMA4CRxGLSmOp5VeOrgF9XBqFzukKGpXQRYVIdKpzmArJ\n6p5iGdHIGH1tSdBei2YmyGkE6P0VlhqInhUOkyfSVO1HISO/29yHCXNUs0Ao\nZFW0ZlticJIg70vgUHYAsO1AcGqFpHLfBSRRfXtInvMNNha7oSZWM/TKVrwb\ntcQggFWwjAxkrSGZBCivOK+pQfrX286cC9lutOWI1aKfgpb64whKDXmUFaq1\nKd+n12K9bVhUMcX3HvHPxkwoeIspn4nL8KhK19gXw+6yKVPnkxZFGSjQOHBY\ntClhmGKpn9vadQ/zLoxzd7JJEZ6rDpc/iQtoH3xMZxBRsTg9koshJeTbU14y\n6vdb4q1c/dj/JrrXHy53nX5lVPWV/G+EVNpyJtTf5uA+aNhxYo0P7IOV2+Tx\nOjuqA5jjPQ71GJq2qZc5EYA8Gm9YexYCDhur3m6TqWheFf/ve2qX1bbsEVg8\nlDi/jByoB2dfZWXOoQ9a44LuHYWRxA1fC7ODTui4arD3ivB6GpKgFXk1aJuc\nyDTXG8qBxIpQAjC90SgpD3vbnzCiIH4TFrSAHHrBis0CzGXvMrR5OQFb0eO8\nD3kU\r\n=FAi4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZ6gQiv4P9EMBPa9xCtKD39M2fI4r7ByY14n0JB5bGLAiEA7rWWJURTI/w1pKgKrKA/AJkzD4oWGu0TP9FGnW+N5is="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_0.4.0-beta.1_1640213953581_0.3731810272057423"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"react-moralis","version":"1.0.0-beta.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.0-beta.1","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.0-beta.1","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"readme":"<div align=\"center\">\n    <p align=\"center\">\n      <img src=\"./docs/head.png\" alt=\"React Hook Form Logo - React hook custom hook for form validation\" />\n    </p>\n</div>\n\n<div align=\"center\">\n\n![npm](https://img.shields.io/npm/v/react-moralis)\n![node-current](https://img.shields.io/node/v/react-moralis)\n![GitHub last commit](https://img.shields.io/github/last-commit/MoralisWeb3/react-moralis)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-moralis)\n![npm type definitions](https://img.shields.io/npm/types/react-moralis)\n\n</div>\n\n# `react-moralis`\n\n> React components and hooks for your Moralis project\n\nThis project is a thin React wrapper around [Moralis](https://moralis.io/), to easily call functionalities and display data.\n\nPlease check the [official documentation of Moralis](https://docs.moralis.io/#user) for all the functionalities of Moralis.\n\n# ⚙️ Quick start\n\nMake sure to have `react`, `react-dom` and `moralis` installed as dependencies, then install `react-moralis`\n\nIn short:\n\n```sh\nnpm install react react-dom moralis react-moralis\n```\n\nor\n\n```sh\nyarn add react react-dom moralis react-moralis\n```\n\n> Make sure to also  `moralis` to the latest version, when you update `react-moralis`.\n\nThen wrap your app in a `<MoralisProvider>`, and provide your appId and serverUrl:\n\n```jsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { MoralisProvider } from \"react-moralis\";\n\nReactDOM.render(\n  <MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n    <App />\n  </MoralisProvider>,\n  document.getElementById(\"root\"),\n);\n```\n\nAnd call the hooks inside your app:\n\n```jsx\nimport React from \"react\";\nimport { useMoralis } from \"react-moralis\";\n\nfunction App() {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Welcome {user.get(\"username\")}</h1>\n    </div>\n  );\n}\n```\n\n# 🧭 Table of contents\n\n- [`react-moralis`](#react-moralis)\n- [⚙️ Quick start](#️-quick-start)\n- [🧭 Table of contents](#-table-of-contents)\n- [🚀 Usage](#-usage)\n  - [Wrap your app in a `MoralisProvider`](#wrap-your-app-in-a-moralisprovider)\n  - [`useMoralis()`](#usemoralis)\n    - [Authenticate](#authenticate)\n    - [Authentication state](#authentication-state)\n    - [`authenticate()` (web3)](#authenticate-web3)\n      - [Elrond](#elrond)\n      - [Walletconnect](#walletconnect)\n      - [Custom signing message](#custom-signing-message)\n    - [`signup()` (non-crypto)](#signup-non-crypto)\n    - [`login()` (non-crypto)](#login-non-crypto)\n    - [`logout()`](#logout)\n    - [Update the user with `setUserData()`](#update-the-user-with-setuserdata)\n    - [Refetch user data `refetchUserData()`](#refetch-user-data-refetchuserdata)\n  - [`useMoralisQuery()`](#usemoralisquery)\n    - [Fetch Queries](#fetch-queries)\n    - [Filter queries](#filter-queries)\n    - [Automatic updates with dependencies](#automatic-updates-with-dependencies)\n    - [Realtime / live queries](#realtime--live-queries)\n  - [`useMoralisSubscription()`](#usemoralissubscription)\n    - [Listen for query events](#listen-for-query-events)\n  - [`useMoralisFile()`](#usemoralisfile)\n    - [Save to Moralis](#save-to-moralis)\n    - [Save to IPFS](#save-to-ipfs)\n    - [Other options](#other-options)\n  - [`useMoralisCloudFunction()`](#usemoraliscloudfunction)\n    - [Trigger manually](#trigger-manually)\n  - [`useMoralisWeb3Api()`](#usemoralisweb3api)\n    - [Resolve data with `useMoralisWeb3ApiCall()`](#resolve-data-with-usemoralisweb3apicall)\n  - [`useNewMoralisObject()`](#usenewmoralisobject)\n  - [`useWeb3ExecuteFunction()`](#useweb3executefunction)\n  - [`useChain()`](#usechain)\n  - [`useWeb3Transfer()`](#useweb3transfer)\n  - [`useERC20Balances()`](#useerc20balances)\n  - [`useERC20Transfers()`](#useerc20transfers)\n  - [`useNativeBalance()`](#usenativebalance)\n  - [`useNativeTransactions()`](#usenativetransactions)\n  - [`useNFTBalances()`](#usenftbalances)\n  - [`useNFTTransfers()`](#usenfttransfers)\n  - [`useTokenPrice()`](#usetokenprice)\n  - [Dex Plugin Hooks](#dex-plugin-hooks)\n    - [`useOneInchQuote()`](#useoneinchquote)\n    - [`useOneInchSwap()`](#useoneinchswap)\n    - [`useOneInchTokens()`](#useoneinchtokens)\n  - [`Web3`](#web3)\n    - [Enable web3 via metamask](#enable-web3-via-metamask)\n    - [Enable web3 via Walletconnect](#enable-web3-via-walletconnect)\n  - [Components](#components)\n- [Handling responses](#handling-responses)\n- [Webpack v5 support](#webpack-v5-support)\n- [😖 Error handling](#-error-handling)\n- [⌨️ Typescript](#️-typescript)\n- [🧑‍💻 Development](#-development)\n\n# 🚀 Usage\n\n## Wrap your app in a `MoralisProvider`\n\nIn order to let your components have access to Moralis functions, wrap your app in a `<MoralisProvider />` component. This will handle the whole initialization for you.\nYou need to provide the `appId` and `serverUrl`, which can be obtained from your dashboard.\n\n```jsx\n<MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n  <App />\n</MoralisProvider>\n```\n\nThis component will automatically initialize Moralis with the provided key and appId.\nIt will also keep the authentication of the user automatically in sync and easy accessible (see `useMoralis`), and give access to all the other hooks.\n\nNow you can use the hooks below in all App.tsx and all of its children:\n\n- `useMoralis` for authentication and user data\n- `useMoralisQuery` for easy query\n- `useMoralisCloudFunction` for easy cloud functions\n- `useMoralisSubscription` for easy subscription\n- `useMoralisFile` for easy file uploads\n\n## `useMoralis()`\n\n### Authenticate\n\nThe `useMoralis` hook provides all the basics functionalities that you need for authentication and user data.\n\nYou can use it inside a component and have access to various data and functions:\n\n```jsx\nconst { Moralis, isInitialized, ...rest } = useMoralis();\n```\n\nYou will have access to the following values by using this hook:\n\n| Option          | Description                                                     |\n| --------------- | --------------------------------------------------------------- |\n| `Moralis`       | The global Moralis instance (same as the global Moralis object) |\n| `isInitialized` | A boolean, indicating if Moralis has been initialized           |\n| `isInitializing` | A boolean, indicating if Moralis is currently initializing           |\n\n| Option              | Description                                                                                                                                                                                                         |\n| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `authenticate()`    | The authentication function, to authenticate via web3                                                                                                                                                               |\n| `logout()`          | The logout function that will end the users session                                                                                                                                                                 |\n| `signup()`          | The signup function that will signup a new user with an username and password                                                                                                                                       |\n| `signin()`          | The signin function that will sign in a user with a username and password                                                                                                                                           |\n| `auth`              | Auth state object (see below)                                                                                                                                                                                       |\n| `authError`         | Error object when authentication failed (auth.state will be \"error\");                                                                                                                                               |\n| `isAuthenticated`   | A boolean, indication if authenticated                                                                                                                                                                              |\n| `isUnauthenticated` | A boolean, indication if user is authenticated                                                                                                                                                                      |\n| `isAuthenticating`  | A boolean, indication if user is authenticating (started but not finished)                                                                                                                                          |\n| `hasAuthError`      | A boolean, indication if authentication has an error                                                                                                                                                                |\n| `isLoggingOut`      | A boolean, indication if the user is logging out (started but not finished)                                                                                                                                         |\n| `isAuthUndefined`   | A boolean, indication if the authentication is unknown, this is the initial state, before checking if the user is already logged in. It will resolve withing a few ms into `isAuthenticated` or `isUnauthenticated` |\n\n| Option          | Description                                                                                                                                                                       |\n| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `setUserData()` | function to set userData and directly sync it in the app AND Moralis (see below)                                                                                                  |\n| `user`          | user object from `Moralis.User.current`, containing the state of the logged in user. It automatically will be (un)set automatically when logging in and out, or setting user data |\n| `enableWeb3`    | function to enable web3                                                                                                                                                           |\n| `web3`          | The web3 instance of `Moralis.Web3`;                                                                                                                                              |\n| `isWeb3Enabled` | Boolean to indicate if web3 has been enabled via the `enableWeb3` function                                                                                                        |\n| `account` | address of the connected web3 wallet |\n| `chainId` | chain id of the blockchain that the web3 wallet is connected to |\n\n### Authentication state\n\nThe authentication state, and the user object will be updated, when the user authenticates or logs out.\n\nThe auth object has the following format:\n\n```js\n{\n  state: \"unauthenticated\",\n  error: null,\n}\n```\n\nwhere state can be one of the following enums\n\n```js\nenum AuthenticationState {\n  UNDEFINED = \"undefined\",\n  UNAUTHENTICATED = \"unauthenticated\",\n  AUTHENTICATED = \"authenticated\",\n  AUTHENTICATING = \"authenticating\",\n  LOGGING_OUT = \"logging_out\",\n  ERROR = \"error\",\n}\n```\n\n### `authenticate()` (web3)\n\nYou can call the `authenticate()` function to authenticate the user via web3, as long as a user has an active web3Provider (such as MetaMask).\n\nThis function calls the `MoralisWeb3.authenticate()` internally and will update the `auth` state and `user` state of your app automatically.\n\n*Example:*\n\n```jsx\nconst User = () => {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Hi {user.get(\"username\")}</h1>\n    </div>\n  );\n};\n```\n\nIf you need direct feedback after authentication, you can provide an `option` object as argument to the `authenticate` call with `onComplete`, `onError` and/or `onSuccess`:\n\n*Example:*\n\n```js\nauthenticate({ onComplete: () => alert(\"🎉\") })\n```\n\n#### Elrond\n\nIf you want to authenticate via Elrond, you can provide the `\"erd\"` authentication type in the options type:\n```js\nauthenticate({ type: \"erd\" })\n```\n\n#### Walletconnect\n\nIf you want to use walletconnect, instead of metamask, you can add the `provider` option:\n```js\nauthenticate({ provider: \"walletconnect\" })\n```\n\nFor some wallets you might want to specify the default chainId, to do so you can provide a `chainId` option:\n```js\nauthenticate({ provider: \"walletconnect\", chainId: 56 })\n```\n\n#### Custom signing message\n\nTo adjust the signing message, you can provide `signingMessage` as an option:\n```js\nauthenticate({ signingMessage: \"Moralis Authentication\" })\n```\n\n### `signup()` (non-crypto)\n\nTo signup users without web3, and use a password/username, you can use the signup function.\n\n*Example:*\n\n```jsx\nconst Signup = () => {\n  const { signup, isAuthenticated, user } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [email, setEmail] = useState(\"\");\n\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => signup(username, password, email)}>Sign up</button>\n    </div>\n  );\n};\n```\n\nIf you need to provide more data, than just the username, password and email, then you can provide an extra argument with an object, containing the data:\n\n*Example:*\n\n```jsx\nsignup(username, password, email, { phone: \"01234567\" });\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `login()` (non-crypto)\n\nSimilar to signup, you can also login via a hook function:\n\n*Example:*\n\n```jsx\nconst Login = () => {\n  const { login } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n]\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => login(username, password)}>Login</button>\n    </div>\n  );\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `logout()`\n\nFollowing the same principle as authentication/login, you can call `logout` and let the MoralisProvider handle the internal authentication state.\n\n*Example:*\n\n```jsx\nconst LogoutButton = () => {\n  const { logout, isAuthenticating } = useMoralis();\n\n  return (\n    <button onClick={() => logout()} disabled={isAuthenticating}>\n      Authenticate\n    </button>\n  )\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### Update the user with `setUserData()`\n\nWhen you want to set userData, you can use the `setUserData()` function from `useMoralis`.\nThis accepts an object with key-value pairs of data that you want to set.\n\nUpon calling this function:\n\n- The user is updated on Moralis\n- The user is updated in the React app\n\nSo this means that at the places where you use `const {user} = useMoralis()`, the user data will automatically be updated.\n\n*Example:*\n\n```jsx\nconst { setUserData, userError, isUserUpdating, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button\n      onClick={() => setUserData({\n        username: \"Batman\",\n        email: \"batman@marvel.com\",\n        numberOfCats: 12,\n      })}\n      disabled={isUserUpdating}\n    >\n      Set user data\n    </button>\n  </div>\n)\n\n```\n\n### Refetch user data `refetchUserData()`\n\nWhen your user data gets updated outside the app (via cloudfunctions or in another session for example), you might want to force a refetch of the user data. You can use `refetchUserData` for this.\n\n*Example:*\n\n```jsx\nconst { refetchUserData, isUserUpdating, userError, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button onClick={() => refetchUserData()} disabled={isUserUpdating}>\n      Refetch user data\n    </button>\n  </div>\n)\n```\n\n## `useMoralisQuery()`\n\n### Fetch Queries\n\nThe `useMoralisQuery` is heavily inspired by react-query. It handles all the async logic and manages the loading/error/data state internally and will automatically execute the query upon mounting in your component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n```\n\nThis query will fetch \"GameScore\" for you when the component mounts.\n\nThe hook will return `data`, `error` and `isLoading`, which you can use to render the component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n\nif (error) {\n  return <span>🤯</span>;\n}\n\nif (isLoading) {\n  return <span>🙄</span>;\n}\n\nreturn <pre>{JSON.stringify(data, null, 2)}</pre>;\n```\n\n### Filter queries\n\nYou can filer the query via a second argument. You can mutate the query in any way that Moralis.Query can.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\", query =>\n  query\n    .greaterThanOrEqualTo(\"score\", 100)\n    .descending(\"score\")\n    .limit(limit),\n);\n```\n\nThis example will fetch the top 3 scores that are at least 100, in descending order.\n\nYou can also filter dynamically, but you need to provide a dependency array as third argument (similar to other hooks), to specify when this hook needs to update.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n);\n```\n\n### Automatic updates with dependencies\n\nThis query will automatically refetch when the limit is changed.\n\nIf you want to disable the automatic fetching, you can also manually fetch. You need to provide `autoFetch: false` as option in the 4th argument. In that case it will ignore the dependencies and will only fetch if you manually call `fetch()`\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [],\n  { autoFetch: false },\n);\n\nreturn <button onClick={() => fetch}>Fetch manually</button>;\n```\n\n### Realtime / live queries\n\nThe `useMoralisQuery` hook can also be used to update upon realtime events. All you need to do is provide `live: true`. If any events update the query, then the `data` is automatically updated.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n  },\n);\n```\n\nBy default we use these rules\n\n| Eventname  | Action                              |\n| ---------- | ----------------------------------- |\n| `\"create\"` | Add to the data                     |\n| `\"update\"` | Update if object is already in data |\n| `\"enter\"`  | Add to the data                     |\n| `\"leave\"`  | Remove to the data                  |\n| `\"delete\"` | Remove to the data                  |\n\nYou can override these rules with your own functions.\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n    onLiveEnter: (entity, all) => [...all, entity],\n    onLiveCreate: (entity, all) => [...all, entity],\n    onLiveDelete: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveLeave: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveUpdate: (entity, all) =>\n      all.map(e => (e.id === entity.id ? entity : e)),\n  },\n);\n```\n\n## `useMoralisSubscription()`\n\n### Listen for query events\n\nThis hook is used when you use `useMoralisQuery` with `live: true`. But if you want fine-grained control over subscriptions, and want to do actions upon the events, then you can use this hook.\n\nIt's as simple as calling this hook with the callbacks that you want. The first 3 arguments are the same as `useMoralisQuery` (queryName, filter, dependencies). In the last argument, you can specify the callbacks:\n\n| Eventname  | callback |\n| ---------- | -------- |\n| `\"create\"` | onCreate |\n| `\"update\"` | onUpdate |\n| `\"enter\"`  | onEnter  |\n| `\"leave\"`  | onLeave  |\n| `\"delete\"` | onDelete |\n\nThey will all return the object as data.\n\nFor example if you want to notify when a new player was added:\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n});\n```\n\nThis hook will handle the subscribing and unsubscribing automatically. It will automatically subscribe/unsubscribe when the component mounts/unmounts. All you have to do is use this hook.\n\nYou can disable the subscription by providing: `enabled: false`\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n  enabled: false,\n});\n```\n\n## `useMoralisFile()`\n\nGet the data, and saveFunction with the `useMoralisFile` hook\n\n```jsx\nconst {\n  error,\n  isUploading,\n  moralisFile,\n  saveFile,\n} = useMoralisFile();\n```\n\n### Save to Moralis\n\nAll you need to do is call the save function with a valid file:\n\n```jsx\nsaveFile(\"batman.jpeg\", file);\n```\n\nThen you can read the state from the provided variables `error`,\n`isUploading` and\n`moralisFile`,\n\n### Save to IPFS\n\n```jsx\nsaveFile(\"batman.jpeg\", file, { saveIPFS: true });\n```\n\nThen you can get the ipfs data via `moralisFile._ipfs` and `moralisFile._hash` or `moralisFile.ipfs()` and `moralisFile.hash()` \n\n### Other options\n\nAdditionally you can also provide metadata, tags or specify the fileType in the options like:\n\n*Example:*\n\n```jsx\nconst metadata = { createdById: \"some-user-id\" };\nconst tags = { groupId: \"some-group-id\" };\n\nsaveFile(\"batman.jpeg\", file, {\n  type: \"image/jpeg\",\n  metadata,\n  tags,\n  saveIPFS: true,\n});\n```\n\n## `useMoralisCloudFunction()`\n\nYou can use the `useMoralisCloudFunction` hook to run cloud functions easily. All you need to do is provide a name for the function, and it will automatically fetch the data for you.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\");\n```\n\nIf you have a function that requires parameters, then you can provide it as second argument:\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\", {\n  limit,\n});\n```\n\n### Trigger manually\n\nIf you rather want to trigger the fetching manually, you can provide `autoFetch: false` as option. And call the `fetch` function manually.\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisCloudFunction(\n  \"topScores\",\n  {\n    limit\n  },\n  { autoFetch: false }\n);\n\n<button onClick={() => fetch()}>Fetch manually<button>\n```\n\n## `useMoralisWeb3Api()`\nThis hook will expose all the convenience functions of the `Moralis.Web3API` in the sdk (ex. `Web3Api.native.getBlock` or `Web3Api.account.getNativeBalance`). You can use this function in any way you want, for example:\n\n```jsx\nconst Web3Api = useMoralisWeb3Api()\n\nconst fetchBlock = async() => {\n  const result = await Web3Api.native.getBlock({\n    block_number_or_hash: '100000'\n  })\n  console.log(result)\n}\n```\n\n### Resolve data with `useMoralisWeb3ApiCall()`\n\nYou can also use a resolver, to resolve the asynchronous function. This works similar to useMoralisQuery or useMoralisCloudFunction. It will resolve the data/error for you and will re-trigger if dependencies change. \n\nFor this you can use `useMoralisWeb3ApiCall()`:\n\n```jsx\n  const [block, setBlock] = useState('100000');\n  const Web3Api = useMoralisWeb3Api()\n\n  const { fetch, data, error, isLoading } = useMoralisWeb3ApiCall(Web3Api.native.getBlock, {\n    block_number_or_hash: block,\n  });\n\n  return (\n    <div>\n      <button onClick={() => fetch()}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  )\n\n```\n\n## `useNewMoralisObject()`\nThis is a wrapper around the save method for a `Moralis.Object`. It creates a new object, and resolves the data, error and loading state, similar to the other hooks.\n\n*Example:*\n\n```jsx\nconst AddScoreButton = ({user, score}) => {\n  const { isSaving, error, save } = useNewMoralisObject('GameScore');\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => save({score, user})} disabled={isSaving}>Save score</button>\n  </div>)\n}\n\n```\n\n\n## `useWeb3ExecuteFunction()`\n\nYou can use the `useWeb3ExecuteFunction` hook to execute on-chain functions. You need to provide the correct `abi` of the contract, the corresponding `contractAddress`, the `functionName` that you would like to execute, and any parameters (`params`) thet you need to send with the function.\n\n*Example:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction({\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data),\n        null,\n        2,\n      )}\n    </pre>}\n  </div>)\n}\n```\n\n*Example with executing by fetch:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction();\n  \n  const options = {\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  }\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch({ params: options })} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data)}\n    </pre>}\n  </div>)\n}\n```\n\n\n## `useWeb3Transfer()`\n\nYou can use the `useWeb3Transfer` hook to transfer any native coins (ETH, BNB etc.), or any ERC20, ERC721 or ERC1155 tokens.\n\n*Example:*\n\n```jsx\nconst TransferEth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.ETH(0.5),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"native\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n*Example:*\n\n```jsx\nconst TransferWeth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.Token(20, 18),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"erc20\",\n    contractAddress: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n### `useChain()` \n\nHook for fast network switching or getting info about current network. To change the current network, set the target chainId to `switchNetwork` function. If the user does not have the target network in the wallet, it will automatically ask permission to add it to the wallet. \n\n**Example**:\n```jsx\nimport { useChain } from \"react-moralis\";\n\nfunction Chains() {\n  const { switchNetwork, chainId, chain, account } = useChain();\n  return (\n    <>\n      <button onClick={() => switchNetwork(\"0x1\")}>Switch to Ethereum</button>\n      <p>Current chainId: {chainId}</p>\n    </>\n  );\n}\n```\n\n### `useERC20Balances()` \n\nGets all token balances of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**\n```jsx\nimport { useERC20Balances } from \"react-moralis\";\n\nconst { fetchERC20Balances, data, isLoading, isFetching, error } = useERC20Balances();\n\nconst ERC20Balances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Balances({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"name\": \"Kylin Network\",\n      \"symbol\": \"KYL\",\n      \"logo\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png\",\n      \"thumbnail\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png\",\n      \"decimals\": \"18\",\n      \"balance\": \"123456789\"\n    }\n  ]\n}\n```\n\n### `useERC20Transfers()` \n\nGets ERC20 token transfers of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useERC20Transfers } from \"react-moralis\";\n\nconst { fetchERC20Transfers, data, error, isLoading, isFetching, } = useERC20Transfers();\n\nconst ERC20Transfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Transfers({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"transaction_hash\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\",\n      \"to_address\": \"0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"value\": \"650000000000000000\"\n    }\n  ]\n}\n```\n\n### `useNativeBalance()` \n\nGets native balance for a current user or specified address.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**:\n```jsx\nimport { useNativeBalance } from \"react-moralis\";\n\nfunction NativeBalance() {\n  const { getBalance, data: balance, nativeToken, error, isLoading } = useNativeBalance({ chain : \"ropsten\" });\n\n  return <div>{balance.formatted}</div>;\n}\n```\n**Example return of balance** (Object)\n```jsx\n{\n  balance: '996869309795359886',\n  formatted: '0.9969 ROP'\n}\n```\n\n**Example return of nativeToken** (Object)\n```jsx\n{\n  name: 'Ropsten Ether',\n  symbol: 'ROP',\n  decimals: 18\n}\n```\n\n\n### `useNativeTransactions()` \n\nGets the transactions from the current user or specified address. Returns an object with the number of transactions  and the array of native transactions \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNativeTransactions } from \"react-moralis\";\n\nconst { getNativeTransations, data, chainId, error, isLoading, isFetching } = useNativeTransactions();\n\nconst NativeTransactions = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNativeTransations({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"nonce\": \"326595425\",\n      \"transaction_index\": \"25\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"to_address\": \"0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef\",\n      \"value\": \"650000000000000000\",\n      \"gas\": \"6721975\",\n      \"gas_price\": \"20000000000\",\n      \"input\": \"string\",\n      \"receipt_cumulative_gas_used\": \"1340925\",\n      \"receipt_gas_used\": \"1340925\",\n      \"receipt_contract_address\": \"0x1d6a4cf64b52f6c73f201839aded7379ce58059c\",\n      \"receipt_root\": \"string\",\n      \"receipt_status\": \"1\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\"\n    }\n  ]\n}\n```\n\n### `useNFTBalances()` \n\nGets all NFTs from the current user or address. Supports both ERC721 and ERC1155. Returns an object with the number of NFT objects and the array of NFT objects.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n\n**Example**\n```jsx\nimport { useNFTBalances } from \"react-moralis\";\n\nconst { getNFTBalances, data, error, isLoading, isFetching } = useNFTBalances();\n\nconst NFTBalances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNFTBalances({ params: { chain: \"0x1\" } })}>Refetch NFTBalances</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"contract_type\": \"ERC721\",\n      \"owner_of\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_number\": \"88256\",\n      \"block_number_minted\": \"88256\",\n      \"token_uri\": \"string\",\n      \"metadata\": \"string\",\n      \"synced_at\": \"string\",\n      \"amount\": \"1\",\n      \"name\": \"CryptoKitties\",\n      \"symbol\": \"RARI\"\n    }\n  ]\n}\n```\n\n### `useNFTTransfers()` \n\nGets the NFT transfers. Returns an object with the number of NFT transfers and the array of NFT transfers.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `offset` (optional): Offset.\n- `direction` (optional): The transfer direction. Available values : both, to, from . Default value : both.\n- `format` (optional): he format of the token id. Available values : decimal, hex. Default value : decimal.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNFTTransfers } from \"react-moralis\";\n\nconst { fetch, data, error, isLoading, isFetching } = useNFTTransfers();\n\nconst NFTTransfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetch({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"from_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"to_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"amount\": \"1\",\n      \"contract_type\": \"ERC721\",\n      \"block_number\": \"88256\",\n      \"block_timestamp\": \"2021-06-04T16:00:15\",\n      \"block_hash\": \"string\",\n      \"transaction_hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"transaction_type\": \"string\",\n      \"transaction_index\": \"string\",\n      \"log_index\": 0\n    }\n  ]\n}\n```\n\n### `useTokenPrice()` \n\nGets the price nominated in the native token and usd for a given token contract address\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `exchange` (optional): The factory name or address of the token exchange. Possible exchanges, for different chains are: ETH mainnet: `uniswap-v3`, `sushiswap`, `uniswap-v2`, BSC mainnet: `pancakeswap-v2`, `pancakeswap-v1`. Polygon mainnet: `quickswap`. *If no exchange is specified, all exchanges are checked (in the order as listed above) until a valid pool has been found. Note that this request can take more time. So specifying the exchange will result in faster responses most of the time.*\n- `to_block` (optional): Returns the price for a given blocknumber (historical price-data).\n\n**Example**\n```jsx\nimport { useTokenPrice } from \"react-moralis\";\n\nconst TokenPrice = () => {\n  const { fetchTokenPrice, data: formattedData, error, isLoading, isFetching } = useTokenPrice({ address: \"0x1f9840...1f984\", chain: \"eth\" });\n\n  return (\n    <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={() => fetchTokenPrice({ params: { address: \"0x6...361\",  chain: \"bsc\" } })}>Refetch</button>\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n**Example return** (Object)\n```json\n{\n  \"exchangeAddress\": \"0x1f98431c8ad98523631ae4a59f267346ea31f984\",\n  \"exchangeName\": \"Uniswap v3\",\n  \"formattedNative\": \"0.004695 ETH\",\n  \"formattedUsd\": \"$20.38\",\n  \"nativePrice\": {\n    \"decimals\": 18,\n    \"name\": \"Ether\",\n    \"symbol\": \"ETH\",\n    \"value\": \"4695118425598734\"\n  },\n  \"usdPrice\": 20.37791922835578\n}\n\n```\n### Dex Plugin Hooks\n\n### `useOneInchQuote()` \n\nHook for getting swap quote info.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Quote() {\n  const { getQuote, data, isFetching, isLoading, error } = useOneInchQuote({\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n  });\n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n### `useOneInchSwap()` \n\nHook for swap.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Swap() {\n  const { swap, data, isFetching, isLoading, error } = useOneInchSwap();\n  \n  const options = {\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n    fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', // Your wallet address\n    slippage: 1,\n  }\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={()=> swap(options)}>Swap</button>\n    </div>\n  );\n}\n```\n\n### `useOneInchTokens()` \n\nHook for get supported token list.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nconst SupportedTokens = () => {\n  const { getSupportedTokens, data, isFetching, isLoading, error } = useOneInchTokens({ chain: 'bsc' });\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n## `Web3`\nIn order to use (non enabled) web3 functionalities, you can just use:\n```jsx\nconst { web3 } = useMoralis()\n```\n\n### Enable web3 via metamask\n\nIf you need features from an enabled web3 instance, then you need to enable web3 first. By default, metamask will be used to get a provider:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3()} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n### Enable web3 via Walletconnect\n\nOptionally, you  can specify to use walletconnect as a provider, to enable web3 via walletconnect:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3({provider: 'walletconnect'})} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n## Components\nIf you want to support Moralis, you can use the `ByMoralis` component, to render our logo 🙏:\n\n*Example:*\n\n```jsx\nconst App = () => {\nimport { ByMoralis } from \"react-moralis\";\n\n  return (\n    <div>\n      <ByMoralis width={300} />\n      <ByMoralis width={300} variant=\"dark\" />\n      <ByMoralis width={300} variant=\"light\" />\n    </div>\n  )\n}\n```\n\nYou can specify the color scheme; `dark`, `light` or `colour`(default), the width (defaults to 250px) and a custom styling via the `style` prop.\n\n#  Handling responses\nThe easiest way to handle the responses of the different async methods (fetch, save etc.), is to read the data directly from the hook. The data will return `error`, `data` and `isLoading`/`isFetching`. These values can easily be used to (conditionally) render different parts of your app.\n\nFor other logic, you might want to listen directly for success/error responses. This is facilitated by passing one or more callback (`onComplete`, `onError` and/or `onSuccess`) to the fetch/save etc. functions:\n\n\n| Callback     | Description                                                                                      |\n| ------------ | ------------------------------------------------------------------------------------------------ |\n| `onSuccess`  | Fires when the request resolves successfully. If possible it is returned with the resolved data. |\n| `onError`    | Fires when the request returns an error. It will return the corresponding error.                 |\n| `onComplete` | Fires when a request finishes (regardless of a success/error response)                           |\n\n*Example:*\n\n```jsx\nconst { fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndNotify = () => {\n  fetch({ \n    onSuccess: () => notifyUser(user.get(\"objectId\")),\n    onError: (error) => showErrorToast(error)\n  });\n};\n```\n\n# Webpack v5 support\n\nYou may see the following error in your project:\n```jsx\nERROR in ../../node_modules/dotenv/lib/main.js 26:13-28\nModule not found: Error: Can't resolve 'path' in '../node_modules/dotenv/lib'\n\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\nThis is no longer the case. Verify if you need this module and configure a polyfill for it.\n```\n\nThere are a lot of breaking changes in Webpack v5. Set up your project to work with `moralis` and `react-moralis`:\n\n### configuring Webpack v5\n\nWe highly recommend you to use the stable `4.0.3` version of Webpack. If you want to use Moralis on your project with Webpack v5 you need to add the fallback to your `webpack.config.js` file:\n\n```jsx\nmodule.exports = {\n    resolve: {\n        fallback: {\n            assert: require.resolve('assert'),\n            crypto: require.resolve('crypto-browserify'),\n            http: require.resolve('stream-http'),\n            https: require.resolve('https-browserify'),\n            os: require.resolve('os-browserify/browser'),\n            stream: require.resolve('stream-browserify'),\n        },\n    },\n};\n```\n\n### create-react-app\n\nTo be able to work with `moralis` and `react-moralis` on the create-react-app project you need to use the `< 5` version of `react-scripts`:\n\n`npx create-react-app --scripts-version 4.0.3`\n\n# 😖 Error handling\n\nFor most hooks, we will resolve the error for you in an error variable. For example, the following function will not throw an error (initially or when you call `fetch` manually).\n\nIf you have a useCase where you do want to respond to an error directly you can provide `throwOnError` as an options parameter. For example:\n\n```jsx\nconst { data, error, isLoading, fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndUseError = async () => {\n  try {\n    await fetch({ throwOnError: true });\n  } catch (error) {\n    alert(\"You got an error\");\n  }\n};\n```\n\n# ⌨️ Typescript\n\nThis library offers first-class Typescript support.\n\n# ⚛️ React native\n\nIn order to use this library with react-native, you need to provide the `environment=\"native\"` property to the `MoralisProvider`. Also you need to provide the Moralis library from `moralis/react-native.js` like:\n\n```js\nimport Moralis from \"moralis/react-native.js\"\n\nconst getMoralis = () => Moralis\n<MoralisProvider\n  appId={appId}\n  serverUrl={serverUrl}\n  environment=\"native\"\n  getMoralis={getMoralis}\n>\n  <App/>\n</MoralisProvider>\n```\n# 🧑‍💻 Development\n\nMake sure to have `node` and `yarn` installed.\n\n- Clone this repo\n- ```sh\n    cd react-moralis\n    yarn install\n  ```\n\nPlease follow the code guidelines before submitting a PR.\n\n- Make sure the code is clear and readable\n- Adhere to the style rules of Eslint, Prettier and Conventional Commit\n\n## Examples\n\nExamples can be found in https://github.com/MoralisWeb3/demo-apps/tree/main/react-moralis-examples\n","readmeFilename":"README.md","gitHead":"2b547467d2e7ee458e150268af587879c42618a0","_id":"react-moralis@1.0.0-beta.1","_nodeVersion":"14.18.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-FD4TLOLKW8Yj1DcGqAeo+5Rm7VjexYB88A5yMVwmevML+1MABtFrnzd3aODYHWPBqD2/Ng4UcqFQUASYOnHyhQ==","shasum":"74632d10901a4320bf78672b09c7520d612bec55","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.0-beta.1.tgz","fileCount":98,"unpackedSize":1325342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1ZOFCRA9TVsSAnZWagAAV0kP/jqAghzCP1fpT5O381En\nCgMpdg/m/T86gJ6bGn83IJCyOqMYN3ZVFQMo8DKMrOI/kIox6RI0t4wJOgiS\neYSBZtaascsZEGEqS6DFLlMTharibxsMQPaTipdEiE52wBXSd99a1KNZTGKQ\nkyxAczNxEIUFuYhK3iiSwOxu2XQeDN9A78zRwQBetuPpFWlCGr84vETW6o6T\nLRWBk4Wcq/JdkyImBj3BtJZ4ftMLpSx4X7cE1zMF/hwRvkdEUp097GCvR8qL\nbBkwIhQhw7QV7OJfD1OryPDqLfRIInAyJ7WHd2ReVPzB7PbwIy+8v3PKag5F\nz01f7iGWRffYgzeoRXDnzW4YzBrpp9m34LwNdhTgBeJGbx9rD2QzE2O4G45d\ny/tMHEBieJLppUz3pMQx4I+FpEhS4CYWlwFCRofXpckemRBCIVoxL1ch0l/1\n+59c5zlCUIF5DPBgVbZPtAXvi3HWbz9NyQ/tysnfJvcR/p7wxAouzkM2AnXl\n9d0zQOXoeUxDMDx7YSCBVFLnwImlqkXZ6qatsc9/1P8z9nOElHnOdahs1siX\n8cj2rWeO8UY87TtaVHSGxFcDIdeJN+whibGPFQtej+ZAYkCGDw9Gfe7P2wI0\nNiv78iY+A+JbcQgg5gCDEJp7vHw/hg7R8znVsV+yAdL4uI8FXdvT2kUKipV9\nzgn0\r\n=75YL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/kkUQ8MYfPkik5cE4KVl25CzI7AoTrdf9gKES6FuJyAiBZVYnZgfrPBB0bKEBUybTcGfqhPQoVZE4SN/dF/hwMpA=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.0-beta.1_1641386885147_0.624917948221033"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"react-moralis","version":"1.0.0-beta.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.0-beta.1","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.0-beta.1","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"readme":"<div align=\"center\">\n    <p align=\"center\">\n      <img src=\"./docs/head.png\" alt=\"React Hook Form Logo - React hook custom hook for form validation\" />\n    </p>\n</div>\n\n<div align=\"center\">\n\n![npm](https://img.shields.io/npm/v/react-moralis)\n![node-current](https://img.shields.io/node/v/react-moralis)\n![GitHub last commit](https://img.shields.io/github/last-commit/MoralisWeb3/react-moralis)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-moralis)\n![npm type definitions](https://img.shields.io/npm/types/react-moralis)\n\n</div>\n\n# `react-moralis`\n\n> React components and hooks for your Moralis project\n\nThis project is a thin React wrapper around [Moralis](https://moralis.io/), to easily call functionalities and display data.\n\nPlease check the [official documentation of Moralis](https://docs.moralis.io/#user) for all the functionalities of Moralis.\n\n# ⚙️ Quick start\n\nMake sure to have `react`, `react-dom` and `moralis` installed as dependencies, then install `react-moralis`\n\nIn short:\n\n```sh\nnpm install react react-dom moralis react-moralis\n```\n\nor\n\n```sh\nyarn add react react-dom moralis react-moralis\n```\n\n> Make sure to also  `moralis` to the latest version, when you update `react-moralis`.\n\nThen wrap your app in a `<MoralisProvider>`, and provide your appId and serverUrl:\n\n```jsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { MoralisProvider } from \"react-moralis\";\n\nReactDOM.render(\n  <MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n    <App />\n  </MoralisProvider>,\n  document.getElementById(\"root\"),\n);\n```\n\nAnd call the hooks inside your app:\n\n```jsx\nimport React from \"react\";\nimport { useMoralis } from \"react-moralis\";\n\nfunction App() {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Welcome {user.get(\"username\")}</h1>\n    </div>\n  );\n}\n```\n\n# 🧭 Table of contents\n\n- [`react-moralis`](#react-moralis)\n- [⚙️ Quick start](#️-quick-start)\n- [🧭 Table of contents](#-table-of-contents)\n- [🚀 Usage](#-usage)\n  - [Wrap your app in a `MoralisProvider`](#wrap-your-app-in-a-moralisprovider)\n  - [`useMoralis()`](#usemoralis)\n    - [Authenticate](#authenticate)\n    - [Authentication state](#authentication-state)\n    - [`authenticate()` (web3)](#authenticate-web3)\n      - [Elrond](#elrond)\n      - [Walletconnect](#walletconnect)\n      - [Custom signing message](#custom-signing-message)\n    - [`signup()` (non-crypto)](#signup-non-crypto)\n    - [`login()` (non-crypto)](#login-non-crypto)\n    - [`logout()`](#logout)\n    - [Update the user with `setUserData()`](#update-the-user-with-setuserdata)\n    - [Refetch user data `refetchUserData()`](#refetch-user-data-refetchuserdata)\n  - [`useMoralisQuery()`](#usemoralisquery)\n    - [Fetch Queries](#fetch-queries)\n    - [Filter queries](#filter-queries)\n    - [Automatic updates with dependencies](#automatic-updates-with-dependencies)\n    - [Realtime / live queries](#realtime--live-queries)\n  - [`useMoralisSubscription()`](#usemoralissubscription)\n    - [Listen for query events](#listen-for-query-events)\n  - [`useMoralisFile()`](#usemoralisfile)\n    - [Save to Moralis](#save-to-moralis)\n    - [Save to IPFS](#save-to-ipfs)\n    - [Other options](#other-options)\n  - [`useMoralisCloudFunction()`](#usemoraliscloudfunction)\n    - [Trigger manually](#trigger-manually)\n  - [`useMoralisWeb3Api()`](#usemoralisweb3api)\n    - [Resolve data with `useMoralisWeb3ApiCall()`](#resolve-data-with-usemoralisweb3apicall)\n  - [`useNewMoralisObject()`](#usenewmoralisobject)\n  - [`useWeb3ExecuteFunction()`](#useweb3executefunction)\n  - [`useChain()`](#usechain)\n  - [`useWeb3Transfer()`](#useweb3transfer)\n  - [`useERC20Balances()`](#useerc20balances)\n  - [`useERC20Transfers()`](#useerc20transfers)\n  - [`useNativeBalance()`](#usenativebalance)\n  - [`useNativeTransactions()`](#usenativetransactions)\n  - [`useNFTBalances()`](#usenftbalances)\n  - [`useNFTTransfers()`](#usenfttransfers)\n  - [`useTokenPrice()`](#usetokenprice)\n  - [Dex Plugin Hooks](#dex-plugin-hooks)\n    - [`useOneInchQuote()`](#useoneinchquote)\n    - [`useOneInchSwap()`](#useoneinchswap)\n    - [`useOneInchTokens()`](#useoneinchtokens)\n  - [`Web3`](#web3)\n    - [Enable web3 via metamask](#enable-web3-via-metamask)\n    - [Enable web3 via Walletconnect](#enable-web3-via-walletconnect)\n  - [Components](#components)\n- [Handling responses](#handling-responses)\n- [Webpack v5 support](#webpack-v5-support)\n- [😖 Error handling](#-error-handling)\n- [⌨️ Typescript](#️-typescript)\n- [🧑‍💻 Development](#-development)\n\n# 🚀 Usage\n\n## Wrap your app in a `MoralisProvider`\n\nIn order to let your components have access to Moralis functions, wrap your app in a `<MoralisProvider />` component. This will handle the whole initialization for you.\nYou need to provide the `appId` and `serverUrl`, which can be obtained from your dashboard.\n\n```jsx\n<MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n  <App />\n</MoralisProvider>\n```\n\nThis component will automatically initialize Moralis with the provided key and appId.\nIt will also keep the authentication of the user automatically in sync and easy accessible (see `useMoralis`), and give access to all the other hooks.\n\nNow you can use the hooks below in all App.tsx and all of its children:\n\n- `useMoralis` for authentication and user data\n- `useMoralisQuery` for easy query\n- `useMoralisCloudFunction` for easy cloud functions\n- `useMoralisSubscription` for easy subscription\n- `useMoralisFile` for easy file uploads\n\n## `useMoralis()`\n\n### Authenticate\n\nThe `useMoralis` hook provides all the basics functionalities that you need for authentication and user data.\n\nYou can use it inside a component and have access to various data and functions:\n\n```jsx\nconst { Moralis, isInitialized, ...rest } = useMoralis();\n```\n\nYou will have access to the following values by using this hook:\n\n| Option          | Description                                                     |\n| --------------- | --------------------------------------------------------------- |\n| `Moralis`       | The global Moralis instance (same as the global Moralis object) |\n| `isInitialized` | A boolean, indicating if Moralis has been initialized           |\n| `isInitializing` | A boolean, indicating if Moralis is currently initializing           |\n\n| Option              | Description                                                                                                                                                                                                         |\n| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `authenticate()`    | The authentication function, to authenticate via web3                                                                                                                                                               |\n| `logout()`          | The logout function that will end the users session                                                                                                                                                                 |\n| `signup()`          | The signup function that will signup a new user with an username and password                                                                                                                                       |\n| `signin()`          | The signin function that will sign in a user with a username and password                                                                                                                                           |\n| `auth`              | Auth state object (see below)                                                                                                                                                                                       |\n| `authError`         | Error object when authentication failed (auth.state will be \"error\");                                                                                                                                               |\n| `isAuthenticated`   | A boolean, indication if authenticated                                                                                                                                                                              |\n| `isUnauthenticated` | A boolean, indication if user is authenticated                                                                                                                                                                      |\n| `isAuthenticating`  | A boolean, indication if user is authenticating (started but not finished)                                                                                                                                          |\n| `hasAuthError`      | A boolean, indication if authentication has an error                                                                                                                                                                |\n| `isLoggingOut`      | A boolean, indication if the user is logging out (started but not finished)                                                                                                                                         |\n| `isAuthUndefined`   | A boolean, indication if the authentication is unknown, this is the initial state, before checking if the user is already logged in. It will resolve withing a few ms into `isAuthenticated` or `isUnauthenticated` |\n\n| Option          | Description                                                                                                                                                                       |\n| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `setUserData()` | function to set userData and directly sync it in the app AND Moralis (see below)                                                                                                  |\n| `user`          | user object from `Moralis.User.current`, containing the state of the logged in user. It automatically will be (un)set automatically when logging in and out, or setting user data |\n| `enableWeb3`    | function to enable web3                                                                                                                                                           |\n| `web3`          | The web3 instance of `Moralis.Web3`;                                                                                                                                              |\n| `isWeb3Enabled` | Boolean to indicate if web3 has been enabled via the `enableWeb3` function                                                                                                        |\n| `account` | address of the connected web3 wallet |\n| `chainId` | chain id of the blockchain that the web3 wallet is connected to |\n\n### Authentication state\n\nThe authentication state, and the user object will be updated, when the user authenticates or logs out.\n\nThe auth object has the following format:\n\n```js\n{\n  state: \"unauthenticated\",\n  error: null,\n}\n```\n\nwhere state can be one of the following enums\n\n```js\nenum AuthenticationState {\n  UNDEFINED = \"undefined\",\n  UNAUTHENTICATED = \"unauthenticated\",\n  AUTHENTICATED = \"authenticated\",\n  AUTHENTICATING = \"authenticating\",\n  LOGGING_OUT = \"logging_out\",\n  ERROR = \"error\",\n}\n```\n\n### `authenticate()` (web3)\n\nYou can call the `authenticate()` function to authenticate the user via web3, as long as a user has an active web3Provider (such as MetaMask).\n\nThis function calls the `MoralisWeb3.authenticate()` internally and will update the `auth` state and `user` state of your app automatically.\n\n*Example:*\n\n```jsx\nconst User = () => {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Hi {user.get(\"username\")}</h1>\n    </div>\n  );\n};\n```\n\nIf you need direct feedback after authentication, you can provide an `option` object as argument to the `authenticate` call with `onComplete`, `onError` and/or `onSuccess`:\n\n*Example:*\n\n```js\nauthenticate({ onComplete: () => alert(\"🎉\") })\n```\n\n#### Elrond\n\nIf you want to authenticate via Elrond, you can provide the `\"erd\"` authentication type in the options type:\n```js\nauthenticate({ type: \"erd\" })\n```\n\n#### Walletconnect\n\nIf you want to use walletconnect, instead of metamask, you can add the `provider` option:\n```js\nauthenticate({ provider: \"walletconnect\" })\n```\n\nFor some wallets you might want to specify the default chainId, to do so you can provide a `chainId` option:\n```js\nauthenticate({ provider: \"walletconnect\", chainId: 56 })\n```\n\n#### Custom signing message\n\nTo adjust the signing message, you can provide `signingMessage` as an option:\n```js\nauthenticate({ signingMessage: \"Moralis Authentication\" })\n```\n\n### `signup()` (non-crypto)\n\nTo signup users without web3, and use a password/username, you can use the signup function.\n\n*Example:*\n\n```jsx\nconst Signup = () => {\n  const { signup, isAuthenticated, user } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [email, setEmail] = useState(\"\");\n\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => signup(username, password, email)}>Sign up</button>\n    </div>\n  );\n};\n```\n\nIf you need to provide more data, than just the username, password and email, then you can provide an extra argument with an object, containing the data:\n\n*Example:*\n\n```jsx\nsignup(username, password, email, { phone: \"01234567\" });\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `login()` (non-crypto)\n\nSimilar to signup, you can also login via a hook function:\n\n*Example:*\n\n```jsx\nconst Login = () => {\n  const { login } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n]\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => login(username, password)}>Login</button>\n    </div>\n  );\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `logout()`\n\nFollowing the same principle as authentication/login, you can call `logout` and let the MoralisProvider handle the internal authentication state.\n\n*Example:*\n\n```jsx\nconst LogoutButton = () => {\n  const { logout, isAuthenticating } = useMoralis();\n\n  return (\n    <button onClick={() => logout()} disabled={isAuthenticating}>\n      Authenticate\n    </button>\n  )\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### Update the user with `setUserData()`\n\nWhen you want to set userData, you can use the `setUserData()` function from `useMoralis`.\nThis accepts an object with key-value pairs of data that you want to set.\n\nUpon calling this function:\n\n- The user is updated on Moralis\n- The user is updated in the React app\n\nSo this means that at the places where you use `const {user} = useMoralis()`, the user data will automatically be updated.\n\n*Example:*\n\n```jsx\nconst { setUserData, userError, isUserUpdating, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button\n      onClick={() => setUserData({\n        username: \"Batman\",\n        email: \"batman@marvel.com\",\n        numberOfCats: 12,\n      })}\n      disabled={isUserUpdating}\n    >\n      Set user data\n    </button>\n  </div>\n)\n\n```\n\n### Refetch user data `refetchUserData()`\n\nWhen your user data gets updated outside the app (via cloudfunctions or in another session for example), you might want to force a refetch of the user data. You can use `refetchUserData` for this.\n\n*Example:*\n\n```jsx\nconst { refetchUserData, isUserUpdating, userError, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button onClick={() => refetchUserData()} disabled={isUserUpdating}>\n      Refetch user data\n    </button>\n  </div>\n)\n```\n\n## `useMoralisQuery()`\n\n### Fetch Queries\n\nThe `useMoralisQuery` is heavily inspired by react-query. It handles all the async logic and manages the loading/error/data state internally and will automatically execute the query upon mounting in your component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n```\n\nThis query will fetch \"GameScore\" for you when the component mounts.\n\nThe hook will return `data`, `error` and `isLoading`, which you can use to render the component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n\nif (error) {\n  return <span>🤯</span>;\n}\n\nif (isLoading) {\n  return <span>🙄</span>;\n}\n\nreturn <pre>{JSON.stringify(data, null, 2)}</pre>;\n```\n\n### Filter queries\n\nYou can filer the query via a second argument. You can mutate the query in any way that Moralis.Query can.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\", query =>\n  query\n    .greaterThanOrEqualTo(\"score\", 100)\n    .descending(\"score\")\n    .limit(limit),\n);\n```\n\nThis example will fetch the top 3 scores that are at least 100, in descending order.\n\nYou can also filter dynamically, but you need to provide a dependency array as third argument (similar to other hooks), to specify when this hook needs to update.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n);\n```\n\n### Automatic updates with dependencies\n\nThis query will automatically refetch when the limit is changed.\n\nIf you want to disable the automatic fetching, you can also manually fetch. You need to provide `autoFetch: false` as option in the 4th argument. In that case it will ignore the dependencies and will only fetch if you manually call `fetch()`\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [],\n  { autoFetch: false },\n);\n\nreturn <button onClick={() => fetch}>Fetch manually</button>;\n```\n\n### Realtime / live queries\n\nThe `useMoralisQuery` hook can also be used to update upon realtime events. All you need to do is provide `live: true`. If any events update the query, then the `data` is automatically updated.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n  },\n);\n```\n\nBy default we use these rules\n\n| Eventname  | Action                              |\n| ---------- | ----------------------------------- |\n| `\"create\"` | Add to the data                     |\n| `\"update\"` | Update if object is already in data |\n| `\"enter\"`  | Add to the data                     |\n| `\"leave\"`  | Remove to the data                  |\n| `\"delete\"` | Remove to the data                  |\n\nYou can override these rules with your own functions.\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n    onLiveEnter: (entity, all) => [...all, entity],\n    onLiveCreate: (entity, all) => [...all, entity],\n    onLiveDelete: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveLeave: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveUpdate: (entity, all) =>\n      all.map(e => (e.id === entity.id ? entity : e)),\n  },\n);\n```\n\n## `useMoralisSubscription()`\n\n### Listen for query events\n\nThis hook is used when you use `useMoralisQuery` with `live: true`. But if you want fine-grained control over subscriptions, and want to do actions upon the events, then you can use this hook.\n\nIt's as simple as calling this hook with the callbacks that you want. The first 3 arguments are the same as `useMoralisQuery` (queryName, filter, dependencies). In the last argument, you can specify the callbacks:\n\n| Eventname  | callback |\n| ---------- | -------- |\n| `\"create\"` | onCreate |\n| `\"update\"` | onUpdate |\n| `\"enter\"`  | onEnter  |\n| `\"leave\"`  | onLeave  |\n| `\"delete\"` | onDelete |\n\nThey will all return the object as data.\n\nFor example if you want to notify when a new player was added:\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n});\n```\n\nThis hook will handle the subscribing and unsubscribing automatically. It will automatically subscribe/unsubscribe when the component mounts/unmounts. All you have to do is use this hook.\n\nYou can disable the subscription by providing: `enabled: false`\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n  enabled: false,\n});\n```\n\n## `useMoralisFile()`\n\nGet the data, and saveFunction with the `useMoralisFile` hook\n\n```jsx\nconst {\n  error,\n  isUploading,\n  moralisFile,\n  saveFile,\n} = useMoralisFile();\n```\n\n### Save to Moralis\n\nAll you need to do is call the save function with a valid file:\n\n```jsx\nsaveFile(\"batman.jpeg\", file);\n```\n\nThen you can read the state from the provided variables `error`,\n`isUploading` and\n`moralisFile`,\n\n### Save to IPFS\n\n```jsx\nsaveFile(\"batman.jpeg\", file, { saveIPFS: true });\n```\n\nThen you can get the ipfs data via `moralisFile._ipfs` and `moralisFile._hash` or `moralisFile.ipfs()` and `moralisFile.hash()` \n\n### Other options\n\nAdditionally you can also provide metadata, tags or specify the fileType in the options like:\n\n*Example:*\n\n```jsx\nconst metadata = { createdById: \"some-user-id\" };\nconst tags = { groupId: \"some-group-id\" };\n\nsaveFile(\"batman.jpeg\", file, {\n  type: \"image/jpeg\",\n  metadata,\n  tags,\n  saveIPFS: true,\n});\n```\n\n## `useMoralisCloudFunction()`\n\nYou can use the `useMoralisCloudFunction` hook to run cloud functions easily. All you need to do is provide a name for the function, and it will automatically fetch the data for you.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\");\n```\n\nIf you have a function that requires parameters, then you can provide it as second argument:\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\", {\n  limit,\n});\n```\n\n### Trigger manually\n\nIf you rather want to trigger the fetching manually, you can provide `autoFetch: false` as option. And call the `fetch` function manually.\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisCloudFunction(\n  \"topScores\",\n  {\n    limit\n  },\n  { autoFetch: false }\n);\n\n<button onClick={() => fetch()}>Fetch manually<button>\n```\n\n## `useMoralisWeb3Api()`\nThis hook will expose all the convenience functions of the `Moralis.Web3API` in the sdk (ex. `Web3Api.native.getBlock` or `Web3Api.account.getNativeBalance`). You can use this function in any way you want, for example:\n\n```jsx\nconst Web3Api = useMoralisWeb3Api()\n\nconst fetchBlock = async() => {\n  const result = await Web3Api.native.getBlock({\n    block_number_or_hash: '100000'\n  })\n  console.log(result)\n}\n```\n\n### Resolve data with `useMoralisWeb3ApiCall()`\n\nYou can also use a resolver, to resolve the asynchronous function. This works similar to useMoralisQuery or useMoralisCloudFunction. It will resolve the data/error for you and will re-trigger if dependencies change. \n\nFor this you can use `useMoralisWeb3ApiCall()`:\n\n```jsx\n  const [block, setBlock] = useState('100000');\n  const Web3Api = useMoralisWeb3Api()\n\n  const { fetch, data, error, isLoading } = useMoralisWeb3ApiCall(Web3Api.native.getBlock, {\n    block_number_or_hash: block,\n  });\n\n  return (\n    <div>\n      <button onClick={() => fetch()}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  )\n\n```\n\n## `useNewMoralisObject()`\nThis is a wrapper around the save method for a `Moralis.Object`. It creates a new object, and resolves the data, error and loading state, similar to the other hooks.\n\n*Example:*\n\n```jsx\nconst AddScoreButton = ({user, score}) => {\n  const { isSaving, error, save } = useNewMoralisObject('GameScore');\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => save({score, user})} disabled={isSaving}>Save score</button>\n  </div>)\n}\n\n```\n\n\n## `useWeb3ExecuteFunction()`\n\nYou can use the `useWeb3ExecuteFunction` hook to execute on-chain functions. You need to provide the correct `abi` of the contract, the corresponding `contractAddress`, the `functionName` that you would like to execute, and any parameters (`params`) thet you need to send with the function.\n\n*Example:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction({\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data),\n        null,\n        2,\n      )}\n    </pre>}\n  </div>)\n}\n```\n\n*Example with executing by fetch:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction();\n  \n  const options = {\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  }\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch({ params: options })} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data)}\n    </pre>}\n  </div>)\n}\n```\n\n\n## `useWeb3Transfer()`\n\nYou can use the `useWeb3Transfer` hook to transfer any native coins (ETH, BNB etc.), or any ERC20, ERC721 or ERC1155 tokens.\n\n*Example:*\n\n```jsx\nconst TransferEth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.ETH(0.5),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"native\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n*Example:*\n\n```jsx\nconst TransferWeth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.Token(20, 18),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"erc20\",\n    contractAddress: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n### `useChain()` \n\nHook for fast network switching or getting info about current network. To change the current network, set the target chainId to `switchNetwork` function. If the user does not have the target network in the wallet, it will automatically ask permission to add it to the wallet. \n\n**Example**:\n```jsx\nimport { useChain } from \"react-moralis\";\n\nfunction Chains() {\n  const { switchNetwork, chainId, chain, account } = useChain();\n  return (\n    <>\n      <button onClick={() => switchNetwork(\"0x1\")}>Switch to Ethereum</button>\n      <p>Current chainId: {chainId}</p>\n    </>\n  );\n}\n```\n\n### `useERC20Balances()` \n\nGets all token balances of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**\n```jsx\nimport { useERC20Balances } from \"react-moralis\";\n\nconst { fetchERC20Balances, data, isLoading, isFetching, error } = useERC20Balances();\n\nconst ERC20Balances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Balances({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"name\": \"Kylin Network\",\n      \"symbol\": \"KYL\",\n      \"logo\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png\",\n      \"thumbnail\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png\",\n      \"decimals\": \"18\",\n      \"balance\": \"123456789\"\n    }\n  ]\n}\n```\n\n### `useERC20Transfers()` \n\nGets ERC20 token transfers of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useERC20Transfers } from \"react-moralis\";\n\nconst { fetchERC20Transfers, data, error, isLoading, isFetching, } = useERC20Transfers();\n\nconst ERC20Transfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Transfers({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"transaction_hash\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\",\n      \"to_address\": \"0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"value\": \"650000000000000000\"\n    }\n  ]\n}\n```\n\n### `useNativeBalance()` \n\nGets native balance for a current user or specified address.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**:\n```jsx\nimport { useNativeBalance } from \"react-moralis\";\n\nfunction NativeBalance() {\n  const { getBalance, data: balance, nativeToken, error, isLoading } = useNativeBalance({ chain : \"ropsten\" });\n\n  return <div>{balance.formatted}</div>;\n}\n```\n**Example return of balance** (Object)\n```jsx\n{\n  balance: '996869309795359886',\n  formatted: '0.9969 ROP'\n}\n```\n\n**Example return of nativeToken** (Object)\n```jsx\n{\n  name: 'Ropsten Ether',\n  symbol: 'ROP',\n  decimals: 18\n}\n```\n\n\n### `useNativeTransactions()` \n\nGets the transactions from the current user or specified address. Returns an object with the number of transactions  and the array of native transactions \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNativeTransactions } from \"react-moralis\";\n\nconst { getNativeTransations, data, chainId, error, isLoading, isFetching } = useNativeTransactions();\n\nconst NativeTransactions = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNativeTransations({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"nonce\": \"326595425\",\n      \"transaction_index\": \"25\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"to_address\": \"0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef\",\n      \"value\": \"650000000000000000\",\n      \"gas\": \"6721975\",\n      \"gas_price\": \"20000000000\",\n      \"input\": \"string\",\n      \"receipt_cumulative_gas_used\": \"1340925\",\n      \"receipt_gas_used\": \"1340925\",\n      \"receipt_contract_address\": \"0x1d6a4cf64b52f6c73f201839aded7379ce58059c\",\n      \"receipt_root\": \"string\",\n      \"receipt_status\": \"1\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\"\n    }\n  ]\n}\n```\n\n### `useNFTBalances()` \n\nGets all NFTs from the current user or address. Supports both ERC721 and ERC1155. Returns an object with the number of NFT objects and the array of NFT objects.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n\n**Example**\n```jsx\nimport { useNFTBalances } from \"react-moralis\";\n\nconst { getNFTBalances, data, error, isLoading, isFetching } = useNFTBalances();\n\nconst NFTBalances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNFTBalances({ params: { chain: \"0x1\" } })}>Refetch NFTBalances</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"contract_type\": \"ERC721\",\n      \"owner_of\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_number\": \"88256\",\n      \"block_number_minted\": \"88256\",\n      \"token_uri\": \"string\",\n      \"metadata\": \"string\",\n      \"synced_at\": \"string\",\n      \"amount\": \"1\",\n      \"name\": \"CryptoKitties\",\n      \"symbol\": \"RARI\"\n    }\n  ]\n}\n```\n\n### `useNFTTransfers()` \n\nGets the NFT transfers. Returns an object with the number of NFT transfers and the array of NFT transfers.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `offset` (optional): Offset.\n- `direction` (optional): The transfer direction. Available values : both, to, from . Default value : both.\n- `format` (optional): he format of the token id. Available values : decimal, hex. Default value : decimal.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNFTTransfers } from \"react-moralis\";\n\nconst { fetch, data, error, isLoading, isFetching } = useNFTTransfers();\n\nconst NFTTransfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetch({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"from_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"to_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"amount\": \"1\",\n      \"contract_type\": \"ERC721\",\n      \"block_number\": \"88256\",\n      \"block_timestamp\": \"2021-06-04T16:00:15\",\n      \"block_hash\": \"string\",\n      \"transaction_hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"transaction_type\": \"string\",\n      \"transaction_index\": \"string\",\n      \"log_index\": 0\n    }\n  ]\n}\n```\n\n### `useTokenPrice()` \n\nGets the price nominated in the native token and usd for a given token contract address\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `exchange` (optional): The factory name or address of the token exchange. Possible exchanges, for different chains are: ETH mainnet: `uniswap-v3`, `sushiswap`, `uniswap-v2`, BSC mainnet: `pancakeswap-v2`, `pancakeswap-v1`. Polygon mainnet: `quickswap`. *If no exchange is specified, all exchanges are checked (in the order as listed above) until a valid pool has been found. Note that this request can take more time. So specifying the exchange will result in faster responses most of the time.*\n- `to_block` (optional): Returns the price for a given blocknumber (historical price-data).\n\n**Example**\n```jsx\nimport { useTokenPrice } from \"react-moralis\";\n\nconst TokenPrice = () => {\n  const { fetchTokenPrice, data: formattedData, error, isLoading, isFetching } = useTokenPrice({ address: \"0x1f9840...1f984\", chain: \"eth\" });\n\n  return (\n    <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={() => fetchTokenPrice({ params: { address: \"0x6...361\",  chain: \"bsc\" } })}>Refetch</button>\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n**Example return** (Object)\n```json\n{\n  \"exchangeAddress\": \"0x1f98431c8ad98523631ae4a59f267346ea31f984\",\n  \"exchangeName\": \"Uniswap v3\",\n  \"formattedNative\": \"0.004695 ETH\",\n  \"formattedUsd\": \"$20.38\",\n  \"nativePrice\": {\n    \"decimals\": 18,\n    \"name\": \"Ether\",\n    \"symbol\": \"ETH\",\n    \"value\": \"4695118425598734\"\n  },\n  \"usdPrice\": 20.37791922835578\n}\n\n```\n### Dex Plugin Hooks\n\n### `useOneInchQuote()` \n\nHook for getting swap quote info.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Quote() {\n  const { getQuote, data, isFetching, isLoading, error } = useOneInchQuote({\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n  });\n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n### `useOneInchSwap()` \n\nHook for swap.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Swap() {\n  const { swap, data, isFetching, isLoading, error } = useOneInchSwap();\n  \n  const options = {\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n    fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', // Your wallet address\n    slippage: 1,\n  }\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={()=> swap(options)}>Swap</button>\n    </div>\n  );\n}\n```\n\n### `useOneInchTokens()` \n\nHook for get supported token list.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nconst SupportedTokens = () => {\n  const { getSupportedTokens, data, isFetching, isLoading, error } = useOneInchTokens({ chain: 'bsc' });\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n## `Web3`\nIn order to use (non enabled) web3 functionalities, you can just use:\n```jsx\nconst { web3 } = useMoralis()\n```\n\n### Enable web3 via metamask\n\nIf you need features from an enabled web3 instance, then you need to enable web3 first. By default, metamask will be used to get a provider:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3()} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n### Enable web3 via Walletconnect\n\nOptionally, you  can specify to use walletconnect as a provider, to enable web3 via walletconnect:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3({provider: 'walletconnect'})} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n## Components\nIf you want to support Moralis, you can use the `ByMoralis` component, to render our logo 🙏:\n\n*Example:*\n\n```jsx\nconst App = () => {\nimport { ByMoralis } from \"react-moralis\";\n\n  return (\n    <div>\n      <ByMoralis width={300} />\n      <ByMoralis width={300} variant=\"dark\" />\n      <ByMoralis width={300} variant=\"light\" />\n    </div>\n  )\n}\n```\n\nYou can specify the color scheme; `dark`, `light` or `colour`(default), the width (defaults to 250px) and a custom styling via the `style` prop.\n\n#  Handling responses\nThe easiest way to handle the responses of the different async methods (fetch, save etc.), is to read the data directly from the hook. The data will return `error`, `data` and `isLoading`/`isFetching`. These values can easily be used to (conditionally) render different parts of your app.\n\nFor other logic, you might want to listen directly for success/error responses. This is facilitated by passing one or more callback (`onComplete`, `onError` and/or `onSuccess`) to the fetch/save etc. functions:\n\n\n| Callback     | Description                                                                                      |\n| ------------ | ------------------------------------------------------------------------------------------------ |\n| `onSuccess`  | Fires when the request resolves successfully. If possible it is returned with the resolved data. |\n| `onError`    | Fires when the request returns an error. It will return the corresponding error.                 |\n| `onComplete` | Fires when a request finishes (regardless of a success/error response)                           |\n\n*Example:*\n\n```jsx\nconst { fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndNotify = () => {\n  fetch({ \n    onSuccess: () => notifyUser(user.get(\"objectId\")),\n    onError: (error) => showErrorToast(error)\n  });\n};\n```\n\n# Webpack v5 support\n\nYou may see the following error in your project:\n```jsx\nERROR in ../../node_modules/dotenv/lib/main.js 26:13-28\nModule not found: Error: Can't resolve 'path' in '../node_modules/dotenv/lib'\n\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\nThis is no longer the case. Verify if you need this module and configure a polyfill for it.\n```\n\nThere are a lot of breaking changes in Webpack v5. Set up your project to work with `moralis` and `react-moralis`:\n\n### configuring Webpack v5\n\nWe highly recommend you to use the stable `4.0.3` version of Webpack. If you want to use Moralis on your project with Webpack v5 you need to add the fallback to your `webpack.config.js` file:\n\n```jsx\nmodule.exports = {\n    resolve: {\n        fallback: {\n            assert: require.resolve('assert'),\n            crypto: require.resolve('crypto-browserify'),\n            http: require.resolve('stream-http'),\n            https: require.resolve('https-browserify'),\n            os: require.resolve('os-browserify/browser'),\n            stream: require.resolve('stream-browserify'),\n        },\n    },\n};\n```\n\n### create-react-app\n\nTo be able to work with `moralis` and `react-moralis` on the create-react-app project you need to use the `< 5` version of `react-scripts`:\n\n`npx create-react-app --scripts-version 4.0.3`\n\n# 😖 Error handling\n\nFor most hooks, we will resolve the error for you in an error variable. For example, the following function will not throw an error (initially or when you call `fetch` manually).\n\nIf you have a useCase where you do want to respond to an error directly you can provide `throwOnError` as an options parameter. For example:\n\n```jsx\nconst { data, error, isLoading, fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndUseError = async () => {\n  try {\n    await fetch({ throwOnError: true });\n  } catch (error) {\n    alert(\"You got an error\");\n  }\n};\n```\n\n# ⌨️ Typescript\n\nThis library offers first-class Typescript support.\n\n# ⚛️ React native\n\nIn order to use this library with react-native, you need to provide the `environment=\"native\"` property to the `MoralisProvider`. Also you need to provide the Moralis library from `moralis/react-native.js` like:\n\n```js\nimport Moralis from \"moralis/react-native.js\"\n\nconst getMoralis = () => Moralis\n<MoralisProvider\n  appId={appId}\n  serverUrl={serverUrl}\n  environment=\"native\"\n  getMoralis={getMoralis}\n>\n  <App/>\n</MoralisProvider>\n```\n# 🧑‍💻 Development\n\nMake sure to have `node` and `yarn` installed.\n\n- Clone this repo\n- ```sh\n    cd react-moralis\n    yarn install\n  ```\n\nPlease follow the code guidelines before submitting a PR.\n\n- Make sure the code is clear and readable\n- Adhere to the style rules of Eslint, Prettier and Conventional Commit\n\n## Examples\n\nExamples can be found in https://github.com/MoralisWeb3/demo-apps/tree/main/react-moralis-examples\n","readmeFilename":"README.md","gitHead":"5e381970b95fe163a48c50aff8808e8dd64655ce","_id":"react-moralis@1.0.0-beta.2","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-0SVFaqp6ijRVh8qYBj7jtYah8xGC6Gvr20xOLeC1xyMV2usteof3cCdmy3kry+xyNcdqBEQQNwmIrhmvvBZbVw==","shasum":"21ec7ef5967228523464fe710243403892e8b422","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.0-beta.2.tgz","fileCount":98,"unpackedSize":1325288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4bnMCRA9TVsSAnZWagAA1RkP+weznYFozSrT/diWltRC\n+6ur6ydRomj1dA9ZbxM/cNKlWxTjtPdb4U0s+Eg+cWEoWT3yerublXgJ/dl1\nxeYgeVg4hTVX3rGGxmZfhQ9LYa7f6G8tqqFxlnB3qzAahSEkVmw+d0UIjWDX\nfZG+c1XqA0ERTI10Y+kC+3A50Vv5IGuT2J5o5AmdqOEUM1+E3LI6LqYuSoNu\n83NgHCRvElVYFMC4/cQvOvyIuP269RbIQi+HxaYRLwSNRbisdeLsfxiAr/ii\ne5eeeP1bqLIV8disJ6XZc14rWaGNoeMT85G7vNbeOmNWvoLKDpl1ZjUp/bl1\ncKsUOOEzyJvLocr6qCY0fEamaYVr4pAd/b83H1I9ALDzT0jLKau6y/8U8mAC\nMG0RYf5Xq9LDytIKPApOtXv27ah9tSHYPz3zSVSEvDLfjnfmhqs27WL5s1m6\nZIcHezrc4pJbqnx7LQPJBsCqsbe8MnktjGnIO9IXqUhv3IEA2ch1vFnF5fsp\nmm0YVyMP/ak4pc+e4g9XmlR5iFTFkl6rBFAbcYCpU/J1CgUqOxsIQl9lP2c+\nXrT6cGvHq5P/vF+QMTTUxbWjYjdMUIKQtTPAnoS3to4FQKErm9LeAE+vIgjK\nmLFwoPGfmOaOlmDstr07yzmH61jt0nGtKRvOufidn7Ltn/2QHWFhzsdQPdi/\nAtpt\r\n=rrQW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC16EFTeKXAO5AS/Xa4LgwzFxs2wYcFjO5T1u8BUM11YAiEAlEfny5TEc8InfGTHY5ozTjb7n9Tn7fK6RVFlXbConBU="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.0-beta.2_1642183116656_0.8968129262273503"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"react-moralis","version":"1.0.0-beta.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.0-beta.1","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.0-beta.1","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"readme":"<div align=\"center\">\n    <p align=\"center\">\n      <img src=\"./docs/head.png\" alt=\"React Hook Form Logo - React hook custom hook for form validation\" />\n    </p>\n</div>\n\n<div align=\"center\">\n\n![npm](https://img.shields.io/npm/v/react-moralis)\n![node-current](https://img.shields.io/node/v/react-moralis)\n![GitHub last commit](https://img.shields.io/github/last-commit/MoralisWeb3/react-moralis)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-moralis)\n![npm type definitions](https://img.shields.io/npm/types/react-moralis)\n\n</div>\n\n# `react-moralis`\n\n> React components and hooks for your Moralis project\n\nThis project is a thin React wrapper around [Moralis](https://moralis.io/), to easily call functionalities and display data.\n\nPlease check the [official documentation of Moralis](https://docs.moralis.io/#user) for all the functionalities of Moralis.\n\n# ⚙️ Quick start\n\nMake sure to have `react`, `react-dom` and `moralis` installed as dependencies, then install `react-moralis`\n\nIn short:\n\n```sh\nnpm install react react-dom moralis react-moralis\n```\n\nor\n\n```sh\nyarn add react react-dom moralis react-moralis\n```\n\n> Make sure to also  `moralis` to the latest version, when you update `react-moralis`.\n\nThen wrap your app in a `<MoralisProvider>`, and provide your appId and serverUrl:\n\n```jsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { MoralisProvider } from \"react-moralis\";\n\nReactDOM.render(\n  <MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n    <App />\n  </MoralisProvider>,\n  document.getElementById(\"root\"),\n);\n```\n\nAnd call the hooks inside your app:\n\n```jsx\nimport React from \"react\";\nimport { useMoralis } from \"react-moralis\";\n\nfunction App() {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Welcome {user.get(\"username\")}</h1>\n    </div>\n  );\n}\n```\n\n# 🧭 Table of contents\n\n- [`react-moralis`](#react-moralis)\n- [⚙️ Quick start](#️-quick-start)\n- [🧭 Table of contents](#-table-of-contents)\n- [🚀 Usage](#-usage)\n  - [Wrap your app in a `MoralisProvider`](#wrap-your-app-in-a-moralisprovider)\n  - [`useMoralis()`](#usemoralis)\n    - [Authenticate](#authenticate)\n    - [Authentication state](#authentication-state)\n    - [`authenticate()` (web3)](#authenticate-web3)\n      - [Elrond](#elrond)\n      - [Walletconnect](#walletconnect)\n      - [Custom signing message](#custom-signing-message)\n    - [`signup()` (non-crypto)](#signup-non-crypto)\n    - [`login()` (non-crypto)](#login-non-crypto)\n    - [`logout()`](#logout)\n    - [Update the user with `setUserData()`](#update-the-user-with-setuserdata)\n    - [Refetch user data `refetchUserData()`](#refetch-user-data-refetchuserdata)\n  - [`useMoralisQuery()`](#usemoralisquery)\n    - [Fetch Queries](#fetch-queries)\n    - [Filter queries](#filter-queries)\n    - [Automatic updates with dependencies](#automatic-updates-with-dependencies)\n    - [Realtime / live queries](#realtime--live-queries)\n  - [`useMoralisSubscription()`](#usemoralissubscription)\n    - [Listen for query events](#listen-for-query-events)\n  - [`useMoralisFile()`](#usemoralisfile)\n    - [Save to Moralis](#save-to-moralis)\n    - [Save to IPFS](#save-to-ipfs)\n    - [Other options](#other-options)\n  - [`useMoralisCloudFunction()`](#usemoraliscloudfunction)\n    - [Trigger manually](#trigger-manually)\n  - [`useMoralisWeb3Api()`](#usemoralisweb3api)\n    - [Resolve data with `useMoralisWeb3ApiCall()`](#resolve-data-with-usemoralisweb3apicall)\n  - [`useNewMoralisObject()`](#usenewmoralisobject)\n  - [`useWeb3ExecuteFunction()`](#useweb3executefunction)\n  - [`useChain()`](#usechain)\n  - [`useWeb3Transfer()`](#useweb3transfer)\n  - [`useERC20Balances()`](#useerc20balances)\n  - [`useERC20Transfers()`](#useerc20transfers)\n  - [`useNativeBalance()`](#usenativebalance)\n  - [`useNativeTransactions()`](#usenativetransactions)\n  - [`useNFTBalances()`](#usenftbalances)\n  - [`useNFTTransfers()`](#usenfttransfers)\n  - [`useTokenPrice()`](#usetokenprice)\n  - [Dex Plugin Hooks](#dex-plugin-hooks)\n    - [`useOneInchQuote()`](#useoneinchquote)\n    - [`useOneInchSwap()`](#useoneinchswap)\n    - [`useOneInchTokens()`](#useoneinchtokens)\n  - [`Web3`](#web3)\n    - [Enable web3 via metamask](#enable-web3-via-metamask)\n    - [Enable web3 via Walletconnect](#enable-web3-via-walletconnect)\n  - [Components](#components)\n- [Handling responses](#handling-responses)\n- [Webpack v5 support](#webpack-v5-support)\n- [😖 Error handling](#-error-handling)\n- [⌨️ Typescript](#️-typescript)\n- [🧑‍💻 Development](#-development)\n\n# 🚀 Usage\n\n## Wrap your app in a `MoralisProvider`\n\nIn order to let your components have access to Moralis functions, wrap your app in a `<MoralisProvider />` component. This will handle the whole initialization for you.\nYou need to provide the `appId` and `serverUrl`, which can be obtained from your dashboard.\n\n```jsx\n<MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n  <App />\n</MoralisProvider>\n```\n\nThis component will automatically initialize Moralis with the provided key and appId.\nIt will also keep the authentication of the user automatically in sync and easy accessible (see `useMoralis`), and give access to all the other hooks.\n\nNow you can use the hooks below in all App.tsx and all of its children:\n\n- `useMoralis` for authentication and user data\n- `useMoralisQuery` for easy query\n- `useMoralisCloudFunction` for easy cloud functions\n- `useMoralisSubscription` for easy subscription\n- `useMoralisFile` for easy file uploads\n\n## `useMoralis()`\n\n### Authenticate\n\nThe `useMoralis` hook provides all the basics functionalities that you need for authentication and user data.\n\nYou can use it inside a component and have access to various data and functions:\n\n```jsx\nconst { Moralis, isInitialized, ...rest } = useMoralis();\n```\n\nYou will have access to the following values by using this hook:\n\n| Option          | Description                                                     |\n| --------------- | --------------------------------------------------------------- |\n| `Moralis`       | The global Moralis instance (same as the global Moralis object) |\n| `isInitialized` | A boolean, indicating if Moralis has been initialized           |\n| `isInitializing` | A boolean, indicating if Moralis is currently initializing           |\n\n| Option              | Description                                                                                                                                                                                                         |\n| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `authenticate()`    | The authentication function, to authenticate via web3                                                                                                                                                               |\n| `logout()`          | The logout function that will end the users session                                                                                                                                                                 |\n| `signup()`          | The signup function that will signup a new user with an username and password                                                                                                                                       |\n| `signin()`          | The signin function that will sign in a user with a username and password                                                                                                                                           |\n| `auth`              | Auth state object (see below)                                                                                                                                                                                       |\n| `authError`         | Error object when authentication failed (auth.state will be \"error\");                                                                                                                                               |\n| `isAuthenticated`   | A boolean, indication if authenticated                                                                                                                                                                              |\n| `isUnauthenticated` | A boolean, indication if user is authenticated                                                                                                                                                                      |\n| `isAuthenticating`  | A boolean, indication if user is authenticating (started but not finished)                                                                                                                                          |\n| `hasAuthError`      | A boolean, indication if authentication has an error                                                                                                                                                                |\n| `isLoggingOut`      | A boolean, indication if the user is logging out (started but not finished)                                                                                                                                         |\n| `isAuthUndefined`   | A boolean, indication if the authentication is unknown, this is the initial state, before checking if the user is already logged in. It will resolve withing a few ms into `isAuthenticated` or `isUnauthenticated` |\n\n| Option          | Description                                                                                                                                                                       |\n| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `setUserData()` | function to set userData and directly sync it in the app AND Moralis (see below)                                                                                                  |\n| `user`          | user object from `Moralis.User.current`, containing the state of the logged in user. It automatically will be (un)set automatically when logging in and out, or setting user data |\n| `enableWeb3`    | function to enable web3                                                                                                                                                           |\n| `web3`          | The web3 instance of `Moralis.Web3`;                                                                                                                                              |\n| `isWeb3Enabled` | Boolean to indicate if web3 has been enabled via the `enableWeb3` function                                                                                                        |\n| `account` | address of the connected web3 wallet |\n| `chainId` | chain id of the blockchain that the web3 wallet is connected to |\n\n### Authentication state\n\nThe authentication state, and the user object will be updated, when the user authenticates or logs out.\n\nThe auth object has the following format:\n\n```js\n{\n  state: \"unauthenticated\",\n  error: null,\n}\n```\n\nwhere state can be one of the following enums\n\n```js\nenum AuthenticationState {\n  UNDEFINED = \"undefined\",\n  UNAUTHENTICATED = \"unauthenticated\",\n  AUTHENTICATED = \"authenticated\",\n  AUTHENTICATING = \"authenticating\",\n  LOGGING_OUT = \"logging_out\",\n  ERROR = \"error\",\n}\n```\n\n### `authenticate()` (web3)\n\nYou can call the `authenticate()` function to authenticate the user via web3, as long as a user has an active web3Provider (such as MetaMask).\n\nThis function calls the `MoralisWeb3.authenticate()` internally and will update the `auth` state and `user` state of your app automatically.\n\n*Example:*\n\n```jsx\nconst User = () => {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Hi {user.get(\"username\")}</h1>\n    </div>\n  );\n};\n```\n\nIf you need direct feedback after authentication, you can provide an `option` object as argument to the `authenticate` call with `onComplete`, `onError` and/or `onSuccess`:\n\n*Example:*\n\n```js\nauthenticate({ onComplete: () => alert(\"🎉\") })\n```\n\n#### Elrond\n\nIf you want to authenticate via Elrond, you can provide the `\"erd\"` authentication type in the options type:\n```js\nauthenticate({ type: \"erd\" })\n```\n\n#### Walletconnect\n\nIf you want to use walletconnect, instead of metamask, you can add the `provider` option:\n```js\nauthenticate({ provider: \"walletconnect\" })\n```\n\nFor some wallets you might want to specify the default chainId, to do so you can provide a `chainId` option:\n```js\nauthenticate({ provider: \"walletconnect\", chainId: 56 })\n```\n\n#### Custom signing message\n\nTo adjust the signing message, you can provide `signingMessage` as an option:\n```js\nauthenticate({ signingMessage: \"Moralis Authentication\" })\n```\n\n### `signup()` (non-crypto)\n\nTo signup users without web3, and use a password/username, you can use the signup function.\n\n*Example:*\n\n```jsx\nconst Signup = () => {\n  const { signup, isAuthenticated, user } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [email, setEmail] = useState(\"\");\n\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => signup(username, password, email)}>Sign up</button>\n    </div>\n  );\n};\n```\n\nIf you need to provide more data, than just the username, password and email, then you can provide an extra argument with an object, containing the data:\n\n*Example:*\n\n```jsx\nsignup(username, password, email, { phone: \"01234567\" });\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `login()` (non-crypto)\n\nSimilar to signup, you can also login via a hook function:\n\n*Example:*\n\n```jsx\nconst Login = () => {\n  const { login } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n]\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => login(username, password)}>Login</button>\n    </div>\n  );\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `logout()`\n\nFollowing the same principle as authentication/login, you can call `logout` and let the MoralisProvider handle the internal authentication state.\n\n*Example:*\n\n```jsx\nconst LogoutButton = () => {\n  const { logout, isAuthenticating } = useMoralis();\n\n  return (\n    <button onClick={() => logout()} disabled={isAuthenticating}>\n      Authenticate\n    </button>\n  )\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### Update the user with `setUserData()`\n\nWhen you want to set userData, you can use the `setUserData()` function from `useMoralis`.\nThis accepts an object with key-value pairs of data that you want to set.\n\nUpon calling this function:\n\n- The user is updated on Moralis\n- The user is updated in the React app\n\nSo this means that at the places where you use `const {user} = useMoralis()`, the user data will automatically be updated.\n\n*Example:*\n\n```jsx\nconst { setUserData, userError, isUserUpdating, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button\n      onClick={() => setUserData({\n        username: \"Batman\",\n        email: \"batman@marvel.com\",\n        numberOfCats: 12,\n      })}\n      disabled={isUserUpdating}\n    >\n      Set user data\n    </button>\n  </div>\n)\n\n```\n\n### Refetch user data `refetchUserData()`\n\nWhen your user data gets updated outside the app (via cloudfunctions or in another session for example), you might want to force a refetch of the user data. You can use `refetchUserData` for this.\n\n*Example:*\n\n```jsx\nconst { refetchUserData, isUserUpdating, userError, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button onClick={() => refetchUserData()} disabled={isUserUpdating}>\n      Refetch user data\n    </button>\n  </div>\n)\n```\n\n## `useMoralisQuery()`\n\n### Fetch Queries\n\nThe `useMoralisQuery` is heavily inspired by react-query. It handles all the async logic and manages the loading/error/data state internally and will automatically execute the query upon mounting in your component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n```\n\nThis query will fetch \"GameScore\" for you when the component mounts.\n\nThe hook will return `data`, `error` and `isLoading`, which you can use to render the component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n\nif (error) {\n  return <span>🤯</span>;\n}\n\nif (isLoading) {\n  return <span>🙄</span>;\n}\n\nreturn <pre>{JSON.stringify(data, null, 2)}</pre>;\n```\n\n### Filter queries\n\nYou can filer the query via a second argument. You can mutate the query in any way that Moralis.Query can.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\", query =>\n  query\n    .greaterThanOrEqualTo(\"score\", 100)\n    .descending(\"score\")\n    .limit(limit),\n);\n```\n\nThis example will fetch the top 3 scores that are at least 100, in descending order.\n\nYou can also filter dynamically, but you need to provide a dependency array as third argument (similar to other hooks), to specify when this hook needs to update.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n);\n```\n\n### Automatic updates with dependencies\n\nThis query will automatically refetch when the limit is changed.\n\nIf you want to disable the automatic fetching, you can also manually fetch. You need to provide `autoFetch: false` as option in the 4th argument. In that case it will ignore the dependencies and will only fetch if you manually call `fetch()`\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [],\n  { autoFetch: false },\n);\n\nreturn <button onClick={() => fetch}>Fetch manually</button>;\n```\n\n### Realtime / live queries\n\nThe `useMoralisQuery` hook can also be used to update upon realtime events. All you need to do is provide `live: true`. If any events update the query, then the `data` is automatically updated.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n  },\n);\n```\n\nBy default we use these rules\n\n| Eventname  | Action                              |\n| ---------- | ----------------------------------- |\n| `\"create\"` | Add to the data                     |\n| `\"update\"` | Update if object is already in data |\n| `\"enter\"`  | Add to the data                     |\n| `\"leave\"`  | Remove to the data                  |\n| `\"delete\"` | Remove to the data                  |\n\nYou can override these rules with your own functions.\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n    onLiveEnter: (entity, all) => [...all, entity],\n    onLiveCreate: (entity, all) => [...all, entity],\n    onLiveDelete: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveLeave: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveUpdate: (entity, all) =>\n      all.map(e => (e.id === entity.id ? entity : e)),\n  },\n);\n```\n\n## `useMoralisSubscription()`\n\n### Listen for query events\n\nThis hook is used when you use `useMoralisQuery` with `live: true`. But if you want fine-grained control over subscriptions, and want to do actions upon the events, then you can use this hook.\n\nIt's as simple as calling this hook with the callbacks that you want. The first 3 arguments are the same as `useMoralisQuery` (queryName, filter, dependencies). In the last argument, you can specify the callbacks:\n\n| Eventname  | callback |\n| ---------- | -------- |\n| `\"create\"` | onCreate |\n| `\"update\"` | onUpdate |\n| `\"enter\"`  | onEnter  |\n| `\"leave\"`  | onLeave  |\n| `\"delete\"` | onDelete |\n\nThey will all return the object as data.\n\nFor example if you want to notify when a new player was added:\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n});\n```\n\nThis hook will handle the subscribing and unsubscribing automatically. It will automatically subscribe/unsubscribe when the component mounts/unmounts. All you have to do is use this hook.\n\nYou can disable the subscription by providing: `enabled: false`\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n  enabled: false,\n});\n```\n\n## `useMoralisFile()`\n\nGet the data, and saveFunction with the `useMoralisFile` hook\n\n```jsx\nconst {\n  error,\n  isUploading,\n  moralisFile,\n  saveFile,\n} = useMoralisFile();\n```\n\n### Save to Moralis\n\nAll you need to do is call the save function with a valid file:\n\n```jsx\nsaveFile(\"batman.jpeg\", file);\n```\n\nThen you can read the state from the provided variables `error`,\n`isUploading` and\n`moralisFile`,\n\n### Save to IPFS\n\n```jsx\nsaveFile(\"batman.jpeg\", file, { saveIPFS: true });\n```\n\nThen you can get the ipfs data via `moralisFile._ipfs` and `moralisFile._hash` or `moralisFile.ipfs()` and `moralisFile.hash()` \n\n### Other options\n\nAdditionally you can also provide metadata, tags or specify the fileType in the options like:\n\n*Example:*\n\n```jsx\nconst metadata = { createdById: \"some-user-id\" };\nconst tags = { groupId: \"some-group-id\" };\n\nsaveFile(\"batman.jpeg\", file, {\n  type: \"image/jpeg\",\n  metadata,\n  tags,\n  saveIPFS: true,\n});\n```\n\n## `useMoralisCloudFunction()`\n\nYou can use the `useMoralisCloudFunction` hook to run cloud functions easily. All you need to do is provide a name for the function, and it will automatically fetch the data for you.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\");\n```\n\nIf you have a function that requires parameters, then you can provide it as second argument:\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\", {\n  limit,\n});\n```\n\n### Trigger manually\n\nIf you rather want to trigger the fetching manually, you can provide `autoFetch: false` as option. And call the `fetch` function manually.\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisCloudFunction(\n  \"topScores\",\n  {\n    limit\n  },\n  { autoFetch: false }\n);\n\n<button onClick={() => fetch()}>Fetch manually<button>\n```\n\n## `useMoralisWeb3Api()`\nThis hook will expose all the convenience functions of the `Moralis.Web3API` in the sdk (ex. `Web3Api.native.getBlock` or `Web3Api.account.getNativeBalance`). You can use this function in any way you want, for example:\n\n```jsx\nconst Web3Api = useMoralisWeb3Api()\n\nconst fetchBlock = async() => {\n  const result = await Web3Api.native.getBlock({\n    block_number_or_hash: '100000'\n  })\n  console.log(result)\n}\n```\n\n### Resolve data with `useMoralisWeb3ApiCall()`\n\nYou can also use a resolver, to resolve the asynchronous function. This works similar to useMoralisQuery or useMoralisCloudFunction. It will resolve the data/error for you and will re-trigger if dependencies change. \n\nFor this you can use `useMoralisWeb3ApiCall()`:\n\n```jsx\n  const [block, setBlock] = useState('100000');\n  const Web3Api = useMoralisWeb3Api()\n\n  const { fetch, data, error, isLoading } = useMoralisWeb3ApiCall(Web3Api.native.getBlock, {\n    block_number_or_hash: block,\n  });\n\n  return (\n    <div>\n      <button onClick={() => fetch()}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  )\n\n```\n\n## `useNewMoralisObject()`\nThis is a wrapper around the save method for a `Moralis.Object`. It creates a new object, and resolves the data, error and loading state, similar to the other hooks.\n\n*Example:*\n\n```jsx\nconst AddScoreButton = ({user, score}) => {\n  const { isSaving, error, save } = useNewMoralisObject('GameScore');\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => save({score, user})} disabled={isSaving}>Save score</button>\n  </div>)\n}\n\n```\n\n\n## `useWeb3ExecuteFunction()`\n\nYou can use the `useWeb3ExecuteFunction` hook to execute on-chain functions. You need to provide the correct `abi` of the contract, the corresponding `contractAddress`, the `functionName` that you would like to execute, and any parameters (`params`) thet you need to send with the function.\n\n*Example:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction({\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data),\n        null,\n        2,\n      )}\n    </pre>}\n  </div>)\n}\n```\n\n*Example with executing by fetch:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction();\n  \n  const options = {\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  }\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch({ params: options })} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data)}\n    </pre>}\n  </div>)\n}\n```\n\n\n## `useWeb3Transfer()`\n\nYou can use the `useWeb3Transfer` hook to transfer any native coins (ETH, BNB etc.), or any ERC20, ERC721 or ERC1155 tokens.\n\n*Example:*\n\n```jsx\nconst TransferEth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.ETH(0.5),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"native\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n*Example:*\n\n```jsx\nconst TransferWeth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.Token(20, 18),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"erc20\",\n    contractAddress: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n### `useChain()` \n\nHook for fast network switching or getting info about current network. To change the current network, set the target chainId to `switchNetwork` function. If the user does not have the target network in the wallet, it will automatically ask permission to add it to the wallet. \n\n**Example**:\n```jsx\nimport { useChain } from \"react-moralis\";\n\nfunction Chains() {\n  const { switchNetwork, chainId, chain, account } = useChain();\n  return (\n    <>\n      <button onClick={() => switchNetwork(\"0x1\")}>Switch to Ethereum</button>\n      <p>Current chainId: {chainId}</p>\n    </>\n  );\n}\n```\n\n### `useERC20Balances()` \n\nGets all token balances of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**\n```jsx\nimport { useERC20Balances } from \"react-moralis\";\n\nconst { fetchERC20Balances, data, isLoading, isFetching, error } = useERC20Balances();\n\nconst ERC20Balances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Balances({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"name\": \"Kylin Network\",\n      \"symbol\": \"KYL\",\n      \"logo\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png\",\n      \"thumbnail\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png\",\n      \"decimals\": \"18\",\n      \"balance\": \"123456789\"\n    }\n  ]\n}\n```\n\n### `useERC20Transfers()` \n\nGets ERC20 token transfers of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useERC20Transfers } from \"react-moralis\";\n\nconst { fetchERC20Transfers, data, error, isLoading, isFetching, } = useERC20Transfers();\n\nconst ERC20Transfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Transfers({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"transaction_hash\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\",\n      \"to_address\": \"0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"value\": \"650000000000000000\"\n    }\n  ]\n}\n```\n\n### `useNativeBalance()` \n\nGets native balance for a current user or specified address.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**:\n```jsx\nimport { useNativeBalance } from \"react-moralis\";\n\nfunction NativeBalance() {\n  const { getBalance, data: balance, nativeToken, error, isLoading } = useNativeBalance({ chain : \"ropsten\" });\n\n  return <div>{balance.formatted}</div>;\n}\n```\n**Example return of balance** (Object)\n```jsx\n{\n  balance: '996869309795359886',\n  formatted: '0.9969 ROP'\n}\n```\n\n**Example return of nativeToken** (Object)\n```jsx\n{\n  name: 'Ropsten Ether',\n  symbol: 'ROP',\n  decimals: 18\n}\n```\n\n\n### `useNativeTransactions()` \n\nGets the transactions from the current user or specified address. Returns an object with the number of transactions  and the array of native transactions \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNativeTransactions } from \"react-moralis\";\n\nconst { getNativeTransations, data, chainId, error, isLoading, isFetching } = useNativeTransactions();\n\nconst NativeTransactions = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNativeTransations({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"nonce\": \"326595425\",\n      \"transaction_index\": \"25\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"to_address\": \"0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef\",\n      \"value\": \"650000000000000000\",\n      \"gas\": \"6721975\",\n      \"gas_price\": \"20000000000\",\n      \"input\": \"string\",\n      \"receipt_cumulative_gas_used\": \"1340925\",\n      \"receipt_gas_used\": \"1340925\",\n      \"receipt_contract_address\": \"0x1d6a4cf64b52f6c73f201839aded7379ce58059c\",\n      \"receipt_root\": \"string\",\n      \"receipt_status\": \"1\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\"\n    }\n  ]\n}\n```\n\n### `useNFTBalances()` \n\nGets all NFTs from the current user or address. Supports both ERC721 and ERC1155. Returns an object with the number of NFT objects and the array of NFT objects.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n\n**Example**\n```jsx\nimport { useNFTBalances } from \"react-moralis\";\n\nconst { getNFTBalances, data, error, isLoading, isFetching } = useNFTBalances();\n\nconst NFTBalances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNFTBalances({ params: { chain: \"0x1\" } })}>Refetch NFTBalances</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"contract_type\": \"ERC721\",\n      \"owner_of\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_number\": \"88256\",\n      \"block_number_minted\": \"88256\",\n      \"token_uri\": \"string\",\n      \"metadata\": \"string\",\n      \"synced_at\": \"string\",\n      \"amount\": \"1\",\n      \"name\": \"CryptoKitties\",\n      \"symbol\": \"RARI\"\n    }\n  ]\n}\n```\n\n### `useNFTTransfers()` \n\nGets the NFT transfers. Returns an object with the number of NFT transfers and the array of NFT transfers.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `offset` (optional): Offset.\n- `direction` (optional): The transfer direction. Available values : both, to, from . Default value : both.\n- `format` (optional): he format of the token id. Available values : decimal, hex. Default value : decimal.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNFTTransfers } from \"react-moralis\";\n\nconst { fetch, data, error, isLoading, isFetching } = useNFTTransfers();\n\nconst NFTTransfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetch({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"from_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"to_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"amount\": \"1\",\n      \"contract_type\": \"ERC721\",\n      \"block_number\": \"88256\",\n      \"block_timestamp\": \"2021-06-04T16:00:15\",\n      \"block_hash\": \"string\",\n      \"transaction_hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"transaction_type\": \"string\",\n      \"transaction_index\": \"string\",\n      \"log_index\": 0\n    }\n  ]\n}\n```\n\n### `useTokenPrice()` \n\nGets the price nominated in the native token and usd for a given token contract address\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `exchange` (optional): The factory name or address of the token exchange. Possible exchanges, for different chains are: ETH mainnet: `uniswap-v3`, `sushiswap`, `uniswap-v2`, BSC mainnet: `pancakeswap-v2`, `pancakeswap-v1`. Polygon mainnet: `quickswap`. *If no exchange is specified, all exchanges are checked (in the order as listed above) until a valid pool has been found. Note that this request can take more time. So specifying the exchange will result in faster responses most of the time.*\n- `to_block` (optional): Returns the price for a given blocknumber (historical price-data).\n\n**Example**\n```jsx\nimport { useTokenPrice } from \"react-moralis\";\n\nconst TokenPrice = () => {\n  const { fetchTokenPrice, data: formattedData, error, isLoading, isFetching } = useTokenPrice({ address: \"0x1f9840...1f984\", chain: \"eth\" });\n\n  return (\n    <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={() => fetchTokenPrice({ params: { address: \"0x6...361\",  chain: \"bsc\" } })}>Refetch</button>\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n**Example return** (Object)\n```json\n{\n  \"exchangeAddress\": \"0x1f98431c8ad98523631ae4a59f267346ea31f984\",\n  \"exchangeName\": \"Uniswap v3\",\n  \"formattedNative\": \"0.004695 ETH\",\n  \"formattedUsd\": \"$20.38\",\n  \"nativePrice\": {\n    \"decimals\": 18,\n    \"name\": \"Ether\",\n    \"symbol\": \"ETH\",\n    \"value\": \"4695118425598734\"\n  },\n  \"usdPrice\": 20.37791922835578\n}\n\n```\n### Dex Plugin Hooks\n\n### `useOneInchQuote()` \n\nHook for getting swap quote info.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Quote() {\n  const { getQuote, data, isFetching, isLoading, error } = useOneInchQuote({\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n  });\n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n### `useOneInchSwap()` \n\nHook for swap.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Swap() {\n  const { swap, data, isFetching, isLoading, error } = useOneInchSwap();\n  \n  const options = {\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n    fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', // Your wallet address\n    slippage: 1,\n  }\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={()=> swap(options)}>Swap</button>\n    </div>\n  );\n}\n```\n\n### `useOneInchTokens()` \n\nHook for get supported token list.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nconst SupportedTokens = () => {\n  const { getSupportedTokens, data, isFetching, isLoading, error } = useOneInchTokens({ chain: 'bsc' });\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n## `Web3`\nIn order to use (non enabled) web3 functionalities, you can just use:\n```jsx\nconst { web3 } = useMoralis()\n```\n\n### Enable web3 via metamask\n\nIf you need features from an enabled web3 instance, then you need to enable web3 first. By default, metamask will be used to get a provider:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3()} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n### Enable web3 via Walletconnect\n\nOptionally, you  can specify to use walletconnect as a provider, to enable web3 via walletconnect:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3({provider: 'walletconnect'})} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n## Components\nIf you want to support Moralis, you can use the `ByMoralis` component, to render our logo 🙏:\n\n*Example:*\n\n```jsx\nconst App = () => {\nimport { ByMoralis } from \"react-moralis\";\n\n  return (\n    <div>\n      <ByMoralis width={300} />\n      <ByMoralis width={300} variant=\"dark\" />\n      <ByMoralis width={300} variant=\"light\" />\n    </div>\n  )\n}\n```\n\nYou can specify the color scheme; `dark`, `light` or `colour`(default), the width (defaults to 250px) and a custom styling via the `style` prop.\n\n#  Handling responses\nThe easiest way to handle the responses of the different async methods (fetch, save etc.), is to read the data directly from the hook. The data will return `error`, `data` and `isLoading`/`isFetching`. These values can easily be used to (conditionally) render different parts of your app.\n\nFor other logic, you might want to listen directly for success/error responses. This is facilitated by passing one or more callback (`onComplete`, `onError` and/or `onSuccess`) to the fetch/save etc. functions:\n\n\n| Callback     | Description                                                                                      |\n| ------------ | ------------------------------------------------------------------------------------------------ |\n| `onSuccess`  | Fires when the request resolves successfully. If possible it is returned with the resolved data. |\n| `onError`    | Fires when the request returns an error. It will return the corresponding error.                 |\n| `onComplete` | Fires when a request finishes (regardless of a success/error response)                           |\n\n*Example:*\n\n```jsx\nconst { fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndNotify = () => {\n  fetch({ \n    onSuccess: () => notifyUser(user.get(\"objectId\")),\n    onError: (error) => showErrorToast(error)\n  });\n};\n```\n\n# Webpack v5 support\n\nYou may see the following error in your project:\n```jsx\nERROR in ../../node_modules/dotenv/lib/main.js 26:13-28\nModule not found: Error: Can't resolve 'path' in '../node_modules/dotenv/lib'\n\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\nThis is no longer the case. Verify if you need this module and configure a polyfill for it.\n```\n\nThere are a lot of breaking changes in Webpack v5. Set up your project to work with `moralis` and `react-moralis`:\n\n### configuring Webpack v5\n\nWe highly recommend you to use the stable `4.0.3` version of Webpack. If you want to use Moralis on your project with Webpack v5 you need to add the fallback to your `webpack.config.js` file:\n\n```jsx\nmodule.exports = {\n    resolve: {\n        fallback: {\n            assert: require.resolve('assert'),\n            crypto: require.resolve('crypto-browserify'),\n            http: require.resolve('stream-http'),\n            https: require.resolve('https-browserify'),\n            os: require.resolve('os-browserify/browser'),\n            stream: require.resolve('stream-browserify'),\n        },\n    },\n};\n```\n\n### create-react-app\n\nTo be able to work with `moralis` and `react-moralis` on the create-react-app project you need to use the `< 5` version of `react-scripts`:\n\n`npx create-react-app --scripts-version 4.0.3`\n\n# 😖 Error handling\n\nFor most hooks, we will resolve the error for you in an error variable. For example, the following function will not throw an error (initially or when you call `fetch` manually).\n\nIf you have a useCase where you do want to respond to an error directly you can provide `throwOnError` as an options parameter. For example:\n\n```jsx\nconst { data, error, isLoading, fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndUseError = async () => {\n  try {\n    await fetch({ throwOnError: true });\n  } catch (error) {\n    alert(\"You got an error\");\n  }\n};\n```\n\n# ⌨️ Typescript\n\nThis library offers first-class Typescript support.\n\n# ⚛️ React native\n\nIn order to use this library with react-native, you need to provide the `environment=\"native\"` property to the `MoralisProvider`. Also you need to provide the Moralis library from `moralis/react-native.js` like:\n\n```js\nimport Moralis from \"moralis/react-native.js\"\n\nconst getMoralis = () => Moralis\n<MoralisProvider\n  appId={appId}\n  serverUrl={serverUrl}\n  environment=\"native\"\n  getMoralis={getMoralis}\n>\n  <App/>\n</MoralisProvider>\n```\n# 🧑‍💻 Development\n\nMake sure to have `node` and `yarn` installed.\n\n- Clone this repo\n- ```sh\n    cd react-moralis\n    yarn install\n  ```\n\nPlease follow the code guidelines before submitting a PR.\n\n- Make sure the code is clear and readable\n- Adhere to the style rules of Eslint, Prettier and Conventional Commit\n\n## Examples\n\nExamples can be found in https://github.com/MoralisWeb3/demo-apps/tree/main/react-moralis-examples\n","readmeFilename":"README.md","gitHead":"a2e059126943f12be792b7d1a37854b837510cbd","_id":"react-moralis@1.0.0-beta.3","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-ZtwKwZCGtL65fWJW0ewJ/PExNGqM2ratGdolHMppBpVGq7IYAZQnTeD1yDVtm8nIFvoQ9PWcUZ4+ELG+wI71jw==","shasum":"9284df48f17d8cc35d6b952b4ddb3a747c105ef6","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.0-beta.3.tgz","fileCount":98,"unpackedSize":1324082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4bwRCRA9TVsSAnZWagAA9KcQAJ7S6mbwDIQ6x2IfRNth\nmXx9nbOmTiDOnOKjDH5PMyCIw2VC1eVILSNydTNuGLbNyg0NvV36bAaCMEmU\nxMPRDBd0a7ocTFkbSp2brAwmg+0f7zA7t3l1fZICyVC3AdXyGGCnGFZ7KQi1\nZmEUMyGeT8TjeIFbRu9zqZjqijpdBJ7A4RfCUwMr2q9uDkHyHzI4lyhOs2fO\n6KBS/XBIPCTT2Jjwu9utsPnbpIWH54o6glbVcrOmwXdBdIhg1no4jJL6Xmsx\nB+uwou/K1jAvBT8vbO1N2nPT8jXjfCP+jb8lAM4RFEnIzkO2vDYv0kmFlDl7\ngoSzXP/JOs2G5QlEwcZWbrfgrL011SpanbAArspaTHXZbBcHz8S3xGHN6XKM\naAcoZ5po49oYQTve+OQYKRh1o5E+ietYIah4x4li8g2ZaiwbKDH8WfRFryXQ\nH3rwji/oVRuQdkCU8XjR4c7qO/Xfy7eh8Hs6amAuc1lVcxNYVn6N4mf1fWtN\nOTv8svBIBpAiS9635vNmvXK6t2uvbqU8JiaCuBeaT09t+EedWlMrGJo/bXee\niRLGUBjfdLDp6tO2EZpff2eSqokaEWi9oEKsXZYUEiejmkB0NqtZm0mSMv5q\ngu8aZ7Fypvcu6Q/AMZWDRkBQtFktmuPa7VgpBuTUVcn9aaXqaUHqtGZ7qLjI\nFlBY\r\n=HYrd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGl8WnbZOU0GuXxRfRexipUzEY1V3KghMoqLF/2hq5HDAiBUHKycI+vlYY3KAL37R8atqRsxsqlyO5200IZyIMwnKA=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.0-beta.3_1642183697789_0.21952619731885448"},"_hasShrinkwrap":false},"1.0.0":{"name":"react-moralis","version":"1.0.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.0-beta.1","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.0-beta.1","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"13fcb64dc6a2e2f899adb85b26edfdb59b9e17a4","_id":"react-moralis@1.0.0","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-9EEFV1QrS1EilFB8dgmCKP68CNgsyOUqS+XvFQdSWb4I3t8g+TKq/3UbcC32QnkQ9GtC7CeLtlh9G+YIvTRRmw==","shasum":"490568bbd3c701e9fb3fce693be481cc09f772b5","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.0.tgz","fileCount":98,"unpackedSize":1324075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5VRJCRA9TVsSAnZWagAAp38P/ReTUrWwDYGgi6KQBfgU\nPzVdc3lW7QVlyJ+Ldscti930o8eKWyUzSLQJTqyG8PfxKeCCcrbVnBnfi1iv\nLD7e7/JrT3eaf7y9qFSnYTRPyqJUxu5bejuqpASQUuwbTvId9yGkj5CJBSQu\nLZu3LbusnPYg7sxPcAqheAl1aYhPo8TcNVdcdIoRXmPU38WiIorI7Vw1byhd\nPuqFnCqYw+u/eVUeh/fG8jbvzjPqsiZqvAiBf3rZ+DhoI8210Oid7XZK0VHY\nf/PfbMi7SPtM2ZoS+5tl5JdTIfvF70giRzrbMXRva8d7MC1BYvFO8QFIhjZ4\nhuJHfHsPveDiNu+7QrUIhSdC6y5sXkQglc8iG9Q37FynzxlnumEp3oHDU4lx\nQGs//HOJEUJlamhZMdI/hwsRuwoSiFD5sy/c4K5gfDHG55xAmEkiHsPr74A+\nk/W5Rx2RgPVgDN2nC5BfH1koxUPCe4NYCHquoI8jMpnoBrcLk/H3DvtKeSxL\nRPyfZDw1VKIbTBlLqJtKS5YvOpi6jJcV9FCitM5xot4mH9rkX9Is4Co+TpOU\n9M6XYA21o9oBZPwnfuoAF1EhCmj3a7YMHCwtGJ7exFyKptlj5vLP0c3T/Bcv\nagM7xcNqa5JeI8i5Jas3JFuiinMoFXulWcoiknHZJxWdCt18T7EDDneLZRYD\n49n+\r\n=Xn7X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGfm8IpVDuyB15oJWsT3bZuAhbBnxiH0mEgQc+7dkRJ4AiBYk3qIrVAlD0hoWDO1smJdwcOSGbTlwigTrTx6wyD7+g=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.0_1642419272981_0.6817374312631528"},"_hasShrinkwrap":false},"1.0.1":{"name":"react-moralis","version":"1.0.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.2","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.2","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"f1296685fc3e7e19e82716f7501dadfa4c13fa76","_id":"react-moralis@1.0.1","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-F4tgJ66fAQHB+zx6JRL6RlJioRHimePrWFCjzqIvPaXu5Ra9MtXUHwqGnHXZwYUXoBjiGipZtxbtgrQVndTQ7g==","shasum":"ad9d31a95a83378fb66ecc214d444ea951953d00","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.1.tgz","fileCount":98,"unpackedSize":1323859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6GjKCRA9TVsSAnZWagAAVvMP/ROFU5z9Ilxqcey9ezLF\nsrwSv1nd+jaILwEeC8d+m9J2KxP6nGOVRYERoHUqi0Zp9iS9v77mhhQApZ4P\n0oMYq+WDlkcdSRNKL2U6O4dq7U+dcdi5lHXF763xIcf7yDwxyrhel2DCgP6J\nhGlSH5w1rBNS67GH9RH8TolHIYdUZYXipw/odc/nFG3ESDBB9RhufqX1N/zs\nWLQbpS0IAqrzBQfLpwTR6NH0K7ZXyRQabbD78vguIMzCZm3bb+N/OXZgFu5z\ndzF0TJVtTk+sDaMa20MYNGHvclSfr+tOSnmRzeAhWpQLNwlvjnEbfcCXNi0d\njSAc/nEIc/SUv8mktNMBu8Lanzl+Co7ItnqDbMA2nDFcZl90J+QPSk5tlB3w\nBfS4ej4Zs0b6vomLvER2/keJyaJN5VCJ/H1V5g40tim7SwoxVMbq2zvdliLq\nUwrJ2MWyUFsa2lQ4tSjq7tD+sr2YTUhtjaYh7OVz+7iDNaXYZRvCZz+SD2q4\njz2tjakOfvPh1vdlEma5JRjmsOXnnI9ND1iPUyx0xJCqYs8DtMVannt3ANHe\nJpYaVwEC8bxymg6h0Y7hXkxxNiCJGhP6h4gI2QLdeT3mpBaN6/URl0lqRcSj\nknZO5uUEFcbhlkzyRvFqE9vQiWgpJSfHtZYHb3b+JqxzkiX1XeLtAX+d8NDS\nvEf7\r\n=T+en\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBHGffTV+PLdV/yZeRyXvXVtug0RlLKtmdE2UzrKuJd8AiEAi62FZVMeu2YltKwdmEtfnXjvyEtubQmQ9rykxF8Q8b8="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.1_1642621130086_0.31225822376101386"},"_hasShrinkwrap":false},"1.0.2":{"name":"react-moralis","version":"1.0.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^15.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.2","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.2","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"a4fa6fb9941d737aff124451710f36293c4d970f","_id":"react-moralis@1.0.2","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-1skfvQque2yZh+eEI/P2w+FT/Ev2UvL7mKLIgKElvpi4QS0GU+31YyI8KJgoQtmEhA8nPpj4sC8zP7MPI0pjPg==","shasum":"ed88823fc3c9e642b77dd4b193e15e37db4bdffe","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.2.tgz","fileCount":98,"unpackedSize":1325117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6JrGCRA9TVsSAnZWagAA1xkQAIWasAijFxpkbLSe1L23\nPmElRW0I+stm7Pzr9JV1ejvWpRiLFdVRCX/uewT6WHJyOCKEkhNPeGADXNPu\nwf0CTjT8RG8BrgLur/DW2Wns2htHcQvW1wPjoZRMxWwQxKOqPPwDxSLKMNcI\nfPVT5JZpJCMHAQobiQXpO/xGl55iUfOqknDw7nCkpK/hutxetTfSys0v4Qor\nuQLZSXoAe/SEqppanPTAKWijE8YUCichLG+Cmcknekrvdkr+WjhrOEp/fY9z\nZoiOKdk8G9n5ERbR0uyYEBy40qgsZyaJEwZWsPye31BPtoPRvyOdzS9RQzGk\nWmqGm0zUmow7i04gbqfeVTjejm8Xm+JkVuKfIBE/CSgqE6T5cPgLFWKw4qyy\nmQrMZB9hV8r8r5jWIylBmLNYDdWKIE7OIX49ItJ1K4aUBEtlGWzYLibMtcMR\n97KCW1+BWDqxLwjQ6xW4ZoeW9pcdQ/6y324wCkQyUrXfbALAY2gYwurNXJLQ\nGuoZkuWmtmPKS4OLIhNWHcpss4orRnn23wMiomMjX/G2Dd1OuLXWcWyfNhZF\nS6q8ei8w6G/7A6RDgJEvufwToaEYHjAlSyZDs2wjOWc8i5DDiaJfPGwIAaIM\n8SpqqqH6WxvtQnXVUoZgXR7v6wBR49khG+APoYuVvPaPoKmhBLDYygn2Ioix\nlrY9\r\n=wSxU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG8ZfLY/+WhoOVERXKMOTqrLvwvWqs56RtcwUubOlABUAiBp7lA9dWvvl/wfxfmc8RvwWXn8B1t+qYEPp/14kMuOfg=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.2_1642633926026_0.9678540131153457"},"_hasShrinkwrap":false},"1.0.3":{"name":"react-moralis","version":"1.0.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.6","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.6","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"ab7e9fea8d999fa0e095776feb682eb89ccbbf7f","_id":"react-moralis@1.0.3","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-BuG6Kn9Y6ss+kPJe7izSJJDkUbeV3xAW3Li5ezlvl2pGi/gLTRRsKQ3XlQfTKrM5Q/PUoqa+RAa8jmQLDNt7XA==","shasum":"557fe1423a8fdafaf8b921b94cd545786a539432","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.3.tgz","fileCount":98,"unpackedSize":1324899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6eLpCRA9TVsSAnZWagAAuwAQAIZIs3e4BdzMGcwdITj0\nIhnIn8vMOZyeu7qU7RCIjHM1CNuLc3YDYixqdzZ3DVrbXh2avz9P+jz6tp9f\ngGMp7gSJSz+253hurI+0yz9vZWDPAB4f5Z6P55ETGhrMrvnxUy+GHVDZlcqh\neGTeJMpZ3RScS9TEfJs1s9rONWNYjPCB2YPmyIugNaoJMsdC+I0I7Zt6FNy+\nW4Edb+DKwiQZagG1+/2nGMAMJ/ICyAmFLcNbQ1di0TFeONni+6gNhZidUbfj\n6oULQgI3CcqFLo7qzsqraMWx4gnerwlAUcnUOUke59sICOES1eaOVx2C4id+\nbdj7HXk+7mM46fNhFLyUVb+RpKl55u0nedw2U6Bt7Z03akyK5cQVuR645jQI\njUXQB4bZDn1adItMHhgwdTUVfaGHJ0mVAXuRcj4wS9xUWti/5tZ1Gtk4xVZB\nXgVmUSqA4uy5EwDGONhK4TO+A8nqaIiJ9i+2zUMS7v3Y97cmKP/mg4eFcfkH\nWY4ZphVb+MyQyfVZ8/xip1DaHGqQnciob8pcSa5pPGwUe6G+6AqGIDSgMp9s\nYgznlufwKyDML5FfGIKZKNIutIUZJg1js6/OnVBvLznGPcdOW/K7nmg9blr8\nibtO46c8lWZSg8bbBDe/EmpYuTJoQmER/aaZyUBZZpZfmh+5HiKjaL+oemXA\nPHsS\r\n=j2c/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+vNNVuT1HZOYZ+nRL/2BH2etc8CQ4HMcwRUClnk0lKAiEArIAvjPRfI6h+dHYXBlJzhfJznoAtDOzo7iUeCOk83GE="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.3_1642717928811_0.14829655790540075"},"_hasShrinkwrap":false},"1.0.4":{"name":"react-moralis","version":"1.0.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"^1.0.7","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.0.7","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"1045c7cfeb3bfcdfbf2b3e3a63120af22c6f8889","_id":"react-moralis@1.0.4","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-SFwCVaKfy2yEhOwyQDqWOs4BAU1jRkHZqH9Xftyq6TzgzsNPKdk/URHycPDiL3fAJtbAV21aUHixmwVtnW/mZw==","shasum":"a1e1e371d2c2c98d9bb03fc326c33a39a579f1e6","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.0.4.tgz","fileCount":98,"unpackedSize":1325921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6fOACRA9TVsSAnZWagAATrAP/jpXIr8LOz9b/q/L+r4G\ns1mSXxp9IoV0zk/4prAi6SryzcqRyEgxGXV0WVyWqfmSGx6VQ+LPZRQ/LqhL\nY7dSzXSE4E7fa2vwZh1kiFfe2hRunFeJsj1TD9JEangbArVRQyJXgAwkyPwJ\nRUVZAgiMude5mC0WPapK4/GpMM8DRrAkunNF0LkRpCbS6vTy1tqVwxSg4gqL\nNRB3t+7XyRAPT4tcAPqgYl/tLfv68LERUROvWo4w/GaO9WQwOkEU1yvvL5M4\nj5KCwJtXt9iPOl8ist24eL1dN/oIgtHcrXCOVnqpIHmWxcatSW+rRGqQg3CN\nbJhslsjHPrDAy8igZNxLVpsXbmxQ4ELe+q3dgnnKGJutbtmFpEAU3OYTtxZv\n6mEcB3wxDJ/BndhQU+CHc6qTSoAedntUmpckX7Gu3et2SHdba+jarhRzPwar\nyAJ0irrbns+uMPoczSmgXDKpwMIviG1fUmWz7zhELaPikfd62+mdv1pOWUmd\nDb8qrjijBcdfnAMsrLkRCCGM8VFaWyd4N38RldB2TESMjGBN5igrWuEhsHUU\nlJ18x+LKxXcsyF+jqXxIH/JDYj3LylVKG2qv37bT1VYAFVWYkBMUFP3QYBgX\n0tjP/d/snvdUgD8vS1NTg+pyo0oifr1ERKkl+iW2OFz9O9YeNVwJAUFVvhpF\ne9Dz\r\n=crmO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvvrq5SdioYTurvlInnMgP3vTf6YtQl7GG2VLQjxwR9AIgUte9To3z5OoVDEbF5KAgWNRsnpXjzigm5MbJhKuyOcc="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.0.4_1642722176417_0.641589404268718"},"_hasShrinkwrap":false},"1.1.0":{"name":"react-moralis","version":"1.1.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"eaa4c3b1758bcf183c590ad8f53e67d9fbec2db9","_id":"react-moralis@1.1.0","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-hsjYguLCtDqI5MvbazO1bv7/GUPjIlT60l9/aymdqr+7ht9yxTZWOqe4FnrBf2XsamFWt/x4Vsg3mhzKnAzL/g==","shasum":"c5b98ed32044796406d1ed8ee7f8c819177da1f7","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.1.0.tgz","fileCount":100,"unpackedSize":1332627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6zp0CRA9TVsSAnZWagAAkkwQAJQgSEU+AyabincQJzfO\n3qRSlnNuZNmiRnR23mexvmrne+ZbGDW/3+SIfFdOSxmy2ULg7SaeSSAZxL8s\nolWjbk2zXf+CBDkOWtJcYWsJKNhHpG+adjhnGE87jLCs7EofUGp6TjKs4VBT\ntbzl4nRL5MjKMjbsFBOhCagGgsed8QwBVBHRAT29mzX9W7SH3XCuKqnKGWrL\n1xqEZQMgU7UzV6vv6E4ZAi7PtkMHphzMXqVyDwByoOJfoOOR4FAJDcdtNK+z\nnsoLU04W0aFcZS4VCVww2KxQ8xpsuq8aslApOwmVCgldvdOmbMJaeALX0Gm/\nMP7VrQ19qh972l7v8A/Gf8fx44dSV4zI3ItcE9OjevB+R8ozgmq6Fi/sZNn9\nhh17aseGBP38qivs/o058cNDbkSrKi2nmiN3AUot1IbLWtEIOmX4LRitdVev\nMwQZizrra/cZEj0bwFrPA7VHqQMc50LCGDpufdcyulTUmnN99Hf1DDyuWWe1\nOxl2i9mUPteBmjM7ZlGEHdbtAWOHvCCEKYlyA5YBBVlmYYK/kIwjbbZ+cQg6\nw0sVoojpZdCorGa5Aih6nZTZV7yKQbZ4cWJm6bYuclpUXof4qHkLixoPvIqP\nr9K/6Wysj125K7NkS06kv3dwgnvfMD73ItGr9YRS66lN4wg6XbIw5NPkSAZe\npY9t\r\n=OX02\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwjYXPvBI1KRRUGAYYC26eb01JTGg3ZUUWFRAkSlsT0gIhAOYLKt5mUOlx5jKJDMfOiGk55MZzr9IkfF3aMXddBxsk"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.1.0_1642805876475_0.07109874988722242"},"_hasShrinkwrap":false},"1.1.1":{"name":"react-moralis","version":"1.1.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"02c50c3c76a8d311160d2a1e5cc1f56640e8ad06","_id":"react-moralis@1.1.1","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-lUcwNby5VmwVBhrESikF/tt/EM5vf5KgQbMP6rqynKJ5XDPKMfymY+hVqKHhDr6snkkf+Rpq/q8dwvQSiZJu/Q==","shasum":"7ebcf6e07558fa2a9b4abb01c9690a5fcffc4210","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.1.1.tgz","fileCount":100,"unpackedSize":1333349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9Az4CRA9TVsSAnZWagAAJN4P/0Z0FnIsx9UCB/m2FqZ3\n0QZvHDxzZa7WUFT2x54OGoRiCQNYirEyGtMbr46gMmsUlU/rggjpf/P/eRe7\nUQ4hLh+4u/HHLmpuxuHprKot2EmDGXIHxrpwLXmFJsXD+S9AEYfQbGi1EgzN\nhPSliSysy9RKQ9WxWoYDsWub9BWjl/bMTM0AG3KF2p7UDDLKX4LV2Y/rn9kt\n5ET54DN5MOsxqMt++jFi6kfxUzxO3ZmV2DsDWc+BKjJRQ6i2w5zJYVx7WN0J\nMMynPd1R3Ijp9UL0LipPOsBd+c2KkjwmK2l2eAPigo91X3bzQpLB4maF4Z+Z\nfxwp0fCCze6/MIm7nMCfosCWTY6Zm8iNErXxRnnYx+lmzdG07WPImLG39ltz\nI67bTz7955WtmlrC5O1xyB36n7iCMe6oEuzRQjTuRV+soNXhVoGF8/Yjtt8d\nSs0CIt2L2yQT4uca3Zm9peIsk0f6dlFUfOyCpd9y0kIjHfjM5xhbUPOh3G3k\njQm9BBP1lcSqc/mWZ5rcO3uZ6UTOgpL0nfwzC6VqFjma8g8he98GB/sPq0PI\nv5B1pIbYPRYHRoBuFM8ljGGSogfF2eZ50CJLmcuRKl+gNdTQhrMn47iQT8FU\nFDT2B2X09+op8aqt4jG1gdHrFfLhwiHXrJZ2O5DLwRBxDLe+gngSlXsNZZqE\nXa32\r\n=884y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHPc/pAtmwybTJ3PfYPlExCZSI0e1N0yjlt8YGX4BRkAiEA/dMNw5ADoWoXmxtBgiMbapC0Hmmc9wQR4bHETQZ7ZJk="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.1.1_1643384056263_0.7876396145936984"},"_hasShrinkwrap":false},"1.2.0":{"name":"react-moralis","version":"1.2.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"f98ff8ceeb3d390a47dc321b321b35b4bed44ac4","_id":"react-moralis@1.2.0","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-Ap+eQ0mHO4WdiJz7mPEBUEFh7GG9bcwTho/wynm4PpcSLNaxAqpJpLrS9sUZDuDSjiRbuOssYaui/iAe3YmTrA==","shasum":"8d75cd9a5e854a7ca9ed8364760c56e8e0fac401","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.2.0.tgz","fileCount":100,"unpackedSize":1345501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9ClKCRA9TVsSAnZWagAAmuIP/jgEJpeMm4mgh+3kxFmO\nViORip/bcZFLikYtR63I1whoh0yOvkQ1t1BmRo3DPTgz7H3eWymCqlJdEhoK\nAT0X2v/BLZms/JZC5sFijxtS4ZNBqiV3iiekQxlra60LwAaXaMCSjSQzNGfF\n0uTpbMuUlB5NWs0l2hW1mIySyXu4BkDY0sBwuO8xeAxzCjMiKcPwCX9PWvG6\nbDeDU+s6BfxO+piI1GMEfHE37tHZURUhcyu3B7MM1FFGRmLCPQ1JMJJeVTWk\nqbI1KTVi3xSRmDYmYGfA1z1ESg1AFjdfWKGhKRXNcUgPBHzhgGTGLFJqzwQn\nvvYuKuEYSBppn9gY+00DCuxlmBbLJCLFSVx7n/tXHFyRtP5pCKam/y6by7Fu\nKrCNyuRmzoSMwCNA2lZCZuRLWPZmSkeWMCECRNPfxhnVx1LUx3XaPsMA0VRW\nqqqxNvUPyn5+OjW7saX/Xr3ck85taAE4TgswB0S831/CDGQq/1JnVzqD6beG\nm3/oWqSwccHxucC0SyhGOs2koNAUdCeDAwlSua5gop8Iz6M61M3BxnTOdirQ\nXLqyYL/d0FA/sf0fdcYelqSmefsgSsKMiZgIY2oKheNIAIIcQJDawqdfXz4d\nCZ1oWt8xPQFGmO12fMnHmhbnIzLl2nl4rrIsG1UdSg4iIIlF8AKOc+EEqvo3\nwv0k\r\n=/xKd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICc7USWY3WeGaKIMVhiVGp23Sy86JEmQ168NTqvKVBSDAiAhO9DtlBtwZNaP5exXmOa4L2pDpnZE0PmGUvJUtir4sA=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.2.0_1643391306100_0.37266597155138914"},"_hasShrinkwrap":false},"1.2.1":{"name":"react-moralis","version":"1.2.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"b0d39e1c828275262cbfdf62b7833ea8b1a99714","_id":"react-moralis@1.2.1","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-+35NOMVXsPrvNRyjLBZFmKYJ9HSS4Zqir/o0O8rsf+yUw7oZNHhkBI8mEu9sOJ2qDu86bvUGxlhq9czsUjb6iw==","shasum":"b5b8460078e8c8e4da791ab3831e711705089865","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.2.1.tgz","fileCount":100,"unpackedSize":1347323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9J/3CRA9TVsSAnZWagAAG+EQAImxSmncav1IfUnWaOzM\nW6kTCWg8zBcArPC4pBFjI1bbSrf55zdgBT65VDJ42/wMeDwtfTf4XDBym9ST\nayJRK3xmHyj84nEoRRKW3g2XMPKcyhB2jpGTXIl0mCcpn6GWYZII+sjgYJ7O\nOrfu935R4kDrBhtAyU/z7T2BS1fW7yuUeHSUKmszB9+oeHzxdjjX/YEoo/n/\nJNX4ShGNTv0yCazSOvYy6jU5AqKFAOvyuk2G7EMiI9Pr279RtXZp4+0gtEr6\nLRFLGP2KuK5uNw4/MOvMcBQCkyQ3KOLjYTUqfAFf3b5rvDpjxTY0aQ0nwXEy\no2mazFkWbYL4TuOzu5QUSzedGp4n/LfsGh77SBvoi8HPubvjmoM2tEMtHuB0\nCy7IOHwnWEacYMpfrwmDWN4Yr1qZW2x17b/R5JH4RzeV60x3WXjgT1lQmmcp\nKA73lM07OwWWfJ3qpKM2BSkRxddUTmQPIG0Vh6dqtIrJP38O5RZhEnP5Isgk\nhWuq23osnRjREhbcN+nQDGtN2IZIEsXCEOpjh/m3aReNbpGJP/F8O02CGJFz\nAF3S2qSS7idtpDRyXjdbdRCVOQCOUyqKkyP37kY1yIx9lI+bz78DVtNYeOa5\nEjrYD8k+HEvaZOBGH7ErbOMN6J6c9qPAXf9Z1N34HX8EkwvenXDedlqwKdnN\n0hEY\r\n=/gaZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDChWMztPOH4Yzw00QaLIpDlgHJ1xrItP/CjGENhPlSgwIgCCzIfRIpz3MJ0DzcfK4IVfgG1NIaqqP7DvjmiOijacw="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.2.1_1643421687072_0.2870779491256903"},"_hasShrinkwrap":false},"1.2.2":{"name":"react-moralis","version":"1.2.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"0af84b1d8942cef0183f4b6617a43945de5cf465","_id":"react-moralis@1.2.2","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-zZaZH5NGqIqFrDimqgjHZoabIBKCx4BNtb9viDAnubLPcmylwZf4HfRLyu5jFm5dItN9hL3vc50MzmAJ/jcFyg==","shasum":"93b1f8342f549d73f42d04221d170af3789a566c","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.2.2.tgz","fileCount":100,"unpackedSize":1347403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/V7FCRA9TVsSAnZWagAAdHYP/217u2nXrukXbfT9Bi7G\nkF6NEJVXCn4c5D7Rx7JbzLrzY6WeJRq3CZMfcZ2+63TFxVs/N5tZqRyt0fcg\nDl7yG+t+puNF09MP5A6XH5cBK35hxbMM8bUeMKTd/mD0QALXKzgjUa6JWb+P\ncsiYSUpG48G584frHgv2UEA1VElllczvsomScrVIUfhCYafXj4wdheHnDxbW\nfOOBEkmtAeG52Pr3xc1kDocR+ORcpBtkslVO+60YUaNPHAw1myBBGQR+8Pso\nrm54RlH2Ku2h4W7IwfIN6NGlLuPw1KS8bZ43210qRzZdLD2YP0mQqc4kJlk1\n/UVTtYpuyJnSV/0BgTMwm+24j7JvKnSL1albTxDoU5FAqmd+2ONhxZhFnA6p\nEXmB+8dA+E+njYtchEPfLc4jwjTZGyV99wseIpLf/eMOfM8ojFaK8J0bI0Il\nmgD+lhVZec8odhsPUI7AmeBhPvD201277H5F7M2KISQ5B/hUWza26K4T/rAa\nIxKPE/LoDhWPGKbsr94MXeiT2mW752mKvoH+xvVP5bSdUIQgzqtZ9S7VOUYA\nONUeMJOhiWrrtHA6tYS/N251r2RK9veyd+KAYhXGD/a7KPyEv8WVzD1XclG8\nwg0viBA2yr3jrMtDhF+ieb0LMx3QuSuSFpYYKpAXz7BbotthwPYU7ma9OeOQ\nVlFA\r\n=by95\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7XKgxbV+faQViASRInB6vIonROmITkbGvOz73bNYUmAiEAr21gQEDfumbct7lXewqmby5OQd2ZzeZaC9s0izmPyoI="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.2.2_1643994821345_0.13055439081600584"},"_hasShrinkwrap":false},"1.2.3":{"name":"react-moralis","version":"1.2.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"90356656810b0ad01d2ab09063b1e32382ea9c19","_id":"react-moralis@1.2.3","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-VLOnGAJlgQE9o49/G/k7sk1l+BZx/HmgND7S7JxXvKKNq/Zh5vdc4+0tCp/1JBmPt/KdGxDzsfjZYrROUz+CBQ==","shasum":"ba43d9dbbc025a9192845246f9fefb2f407beafe","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.2.3.tgz","fileCount":100,"unpackedSize":1347406,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAP/5CRA9TVsSAnZWagAANGoQAJ7K2xK03FXjbeh1pR6F\nnbP6Cc2fD0QhwGB4wbsZxDjFnLnI+Y+hYily6frkFQbIigLeR2DH+cQ0BU6R\n77keCDiEeIuZqWEOLhiTSXQhK+493azYvV5xudVWIWbffyR8zBUCRJBMr/z8\nvfracCo8CZNAKG94tjbLwp9w+zz+1y6GLgplF6Pccmb/Rddc2iDffGMgGpA3\nTHiveGyotHxISDq1dPR8F/A9ctJCP4Yi5hP77GoxJreuAQpxTo+LXLZKHJjY\nUyTyO5iAA/iXmsgNupL5/KI6jjRAwIhbhsH94Cp8ULB+BPFb/VMzEeI2YbZv\nCDs10yYK2kxe3dfpnlJOP6EZrO7QY7pIbctAg2SAkqDAiBD7VS0q0MRdcuGe\nBvcPrCYqIwFz/D9NJ5phrQWRvawLSnTQSkT+Cnhz51vDnCFtcXCP7p/n1YwW\nd2l5dO2IMMFICCJoA41QeQ3gBgJlkrqyeHVouGh56Ts70ja+BkjjuGPsvu+N\nKcZA8dUoL+WY+/j44B0IKEFrbGL9iL0gvk8fxExaqRKVqaSsRqYeI1iLEgCS\n0v+qWAIS3mjt8Bwhpl/jtmcSBp0LDsWdPvibfv1cOwhO1jh1eAaS+Gh8EmiJ\nU4ph+UErYNpknGOpwERYZ8On9TNiJsNAzdNY01vsCmsCpio+uAKT51t3fPHy\ngv64\r\n=bh1J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHNleMOb2UPiLzh2tKPcqCSGM4UbCEP6zAzFFI6UTN24AiAroH/DgaORSJQw/ZGehlQ2DKg6OGLn6avIvKSeak7vnQ=="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.2.3_1644232696753_0.8251234987190186"},"_hasShrinkwrap":false},"1.2.4":{"name":"react-moralis","version":"1.2.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"627231d372405a439e838cc597ecb3e07d658fc1","_id":"react-moralis@1.2.4","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-D2lZVNklZAxoD4mC3RSkD5Du57mHOl9QSkju4jlGG5Dip0KTMt7k80eYUDPy+U7tlYjAmaR/ADurIhAqeN9qpA==","shasum":"f8719314ded46d1bba81d96fb4b474214a53d956","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.2.4.tgz","fileCount":100,"unpackedSize":1347560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAQSeCRA9TVsSAnZWagAAHLYQAIS+6eluw5pv8crDODQi\np41qsn5Ba+GV5vO4bK6MNsj+XUxt+R8+GkLt9cP7kKdiEhFDxFCn53Ud367o\nScRoQ7l6orRDdOSQc2KWSB5miq1g1jEmVibXo9o90H4y1ncyq5riKGIx3GWF\nKW5sTiVLPpsurv/ddVG0ItRiiudgfNVyzFgwcVSxYQgmewVkwcBxa+D0H0+t\n8X9/IxpwW8dZUd1fWrDIKVZQFyaLJ85+aDpDm3xxm0ve40D5j2ZveJql/LOG\nL80N7mw6rHwCF22fXwS0Il1EFs8U9htzj/wSet59yIcklVa67xVqze2xRllC\ni2ITNubbXI92RZNzIkC9dkZ7anD5L1Y5HqmsKhpx5sGEDBEx8eYW/Kpc6rKi\nU+xL2G9Q7nKYX/3JEggNAYaIm0DO7GavX5pkOn3KAFwuZXSIq67e0dBfCVnF\nRJWGqyLWqcsI9j56W215gKpS5PnM00A3esFHIqIx9B3YW8bO62qJDEI+FgKQ\nbxv8eqeoUq4+00+5YlbLb5A405YfzUiRE5XRdLKyz5tWNrMFrfiMTwlj4ifm\ngH6AMV6YEHIcYut7hCEIw/+I1xinnS3xIZlYpn9Xg2xFGuoW9ytopVy551uH\nloCWEFusC/SPb106LwGZYqNZdMdi7wXDDGEIDIULxkGChyvcgwiSiZAOWC8H\n4q/F\r\n=LNI/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbtiqiRcdgibCtaOypJLRrSnAN+A391ehDZ6qvLP4SHAIgZaUtS0zHnmiew17kdVSLX786F24NnhzeWSHWoXr0D9c="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.2.4_1644233886275_0.6088266622200618"},"_hasShrinkwrap":false},"1.2.5":{"name":"react-moralis","version":"1.2.5","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"bedc695382ad067fa9db533af0edc5466cb136d8","_id":"react-moralis@1.2.5","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-bt2SFq34NT4QrJjNKah8Zr21JxrvwQfzInV8pFH0jYgdR2Ho6naSlq+HqLHGSFGMNVhBp+cBcWUg6uhINfcG9A==","shasum":"85a55043fa9dc1fdba5477280ec09e2278490770","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.2.5.tgz","fileCount":100,"unpackedSize":1347372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAZZqCRA9TVsSAnZWagAAyrgP/287NjgKV781YBDm3eXm\niTuk/LN+58vfHXfOpK9iT6gA4RqrpI62B8ItDe/9tWH07MvIABStY02FYrOs\nWmQxEJHRsijept74wHu/fLFOH4uy4S3veT6Mbg7+KsCWsWQJojpAJ/wSbCk9\nYajOCmvoCgjgcn+Lo0yg8t3cKhITilWwxdO1r5fam/N0wHG31AeM0gJQV0rj\ndfJlEZoT0v2hFXhLceolpdyhEE0Tlt+AAIfp9+thBI6O56lkKpsbtY3NFfx0\nkIKmf29A+7gWGd9NctZ+cFyaWwOLR3qPyh01TZAS7pfBj1xW/+i9qj4XjqkN\ndV3bZNHcpDhQ0zBN+JYRs8CrWBkTYkoeR2Fy6D6inKHpwip84d1CZcA+NzS4\nJ70fTYq+NBVIn/t3LPeh8znWrd6gFJ6PI9gSPax2cx0U8x+pkr0oUFcs7z98\n3Uqy/pf/AI40PuhiHRyEoCItLuF1oX85xj0iq+gytBiB1Dxd386aFQKs3hlM\ncKcJCr3NU42YdWpebL2pNHstjh1KDtqGjmINNMRn62w2Oh8ejzyK91xtcLFU\ndwM0ytMLspb+EEiob9ikHqfK09sdJ2A0lSOU1p2ZLeaJREIwZHKAAS3DVGfh\nn7g46oeXjTHyPqb59qBkQCLF793Spq/AhP1hkY8M+zzLft5WqdzafRXLsm8E\nKSIV\r\n=W2R8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPEoNbn6/Fl/E8B0Jo94RLnfoyu1W85WhHlORRpmvcUwIhAJKK10zimuGbRmtafMxqhchmv/McN6wAd3kXehUtYB7a"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.2.5_1644271210640_0.6585692876328393"},"_hasShrinkwrap":false},"1.3.0":{"name":"react-moralis","version":"1.3.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"e5412d324b26bd2d4794a275d7c5c871313064eb","_id":"react-moralis@1.3.0","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-HiEel/bRj7x1rDEODNUEJpvL0DDI9gtIa/o2AkQljS52FdkcORA70uIqVzobD/2DVf29cnWNPeufjTBZ0UwXNQ==","shasum":"09e72b0242911218e3303f89f5e52d81f231f66a","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.3.0.tgz","fileCount":104,"unpackedSize":1369279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBAEPCRA9TVsSAnZWagAAb+UQAJ8r3qVDegM238RMke/l\nZr4+k5ru3hEdreYR54SCLqoXrDpWN10ZMKKyOuMxWb2Xswh/osstGYvmX+Fy\nu3V/j3+Hf6hjtX4Jmp8jAREcbxlncFdnSMDHrN+pRMtx2jQvE1r32CMEeizz\n25idN6QNZV0OCiZJG8OrBxK9Q3ZvIzh1ObO9gVEvXSLUYO7JV17QB96vMAQj\nbn/dLD6j9gA6zYGqhaPvK+goDRlTb8Rhk/4kbZAhPW5UTl5XeU/5cmvATIAL\nn1zLCStita2AdZTajRfVhqy3W3Iw9/iZUoFrAiVWiyDoj+yy+5oUQThK1svn\nGP4McOze9anOqcjClDgWNfpAI7V7WXnGUgNUuxvk6h/1logDGt957qkq05i2\n0/ZFBsc+kD1gK1paAnQYsYDYuVqas3AdWjGvRRxmonttRPJxnh1zz8FYkSTJ\nlJfqfhnyaasSlJdWhFg6IVs5C5/k9DXVUfvqNeuD2uCHjYR3id8rxizlGQQM\nUufGqb8RALEj6v+zxZSPtABcsmmkDn2qszLRxZUifuv8dzIzY0Vgziqisnsz\nHhFe5eWYaeie2r+RxskDiO52aIpcaIOIOsB1orctYJH/sUSzijpF8rDE6Ukh\nRw2quASO/PtbDcSxU6OcjcroXnXLHc6L6tbkHe6bDE/nLZbaAYdXJOsbBUVJ\nRE4K\r\n=9P0X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG0oOMfz5fcBsDoOk1IHy6Sq0J+Qjw30YGgT/QDf+8cQAiEA308QndWbSSkmwBew0Ee/mgYKCrL9RHA0c+PUeLmeIK0="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.3.0_1644429582812_0.6778417321692154"},"_hasShrinkwrap":false},"1.3.1":{"name":"react-moralis","version":"1.3.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.1.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"35b8601bf8be7228338898b140b16f38428d022d","_id":"react-moralis@1.3.1","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-ckPw71e5wKuVYiR0Ju2kEw2IJAVM8orQIAdNEKaKDkxzvpwtQc5XpGqRBYUHHyH6esCScGMbCxpbMqlzmNYrkw==","shasum":"dd47db5acfacc4868ccaa93e9a39c1253e320c53","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.3.1.tgz","fileCount":104,"unpackedSize":1370681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBE55CRA9TVsSAnZWagAAU0gP/ieMFE8nCD5IP1zP0+oP\nLRZJ++AmURES4TqIlPhlk2lX5TU6DX/ynnqhQzYAUKO+BFKKD3ff8rfPp4/o\njixhQnD58DcZDKYaRYiMskJ1sSEtyRRrDT3NBqVAi0+rGP6gag3wNFud08cH\nxivHgVTwqJOASMjnMshM0DeYdEhhXdHcUUEbZ1IfFEULhJ7mTcgZYVD+LUjZ\nMpmIivA/ngtjcMct1GsiF0gLj+MHRkXWdDN14u6iXhVEgCaXwi5glObKW4w4\nG0jGLB8/FtSTIWIKwF3sDYYsligMpJOcxuI7r57+afcO8rfZ3oAoZ6EfJ5b4\nhVcVApUMtYjOe1+pO4pmC451fUsQwJetWUCaH/PHAAjBPnMZcgfAMPlt7aNR\nRSAUMARMeXf8gHckyak4cwdnGV7MekJAlzOQCtJ3JQR92m0B996s+PqMZOBa\ng22tX3Tj6u3xQliLe1LLUS9K3hAdPPUwnMm1DYttV0zwlQo00yq6qJhlfEb/\ni6vvJwxQmmO795yn4FkiVnK059JsBA5l3pjUlIKTMAFTuarpyqmZhD2lUZ7l\nPV+G1IrfrH9/DiSku16T9yX4pQ2wmSxWXmWJeZwv4e5+qa7NEC5w9+xdS0Bk\nQEhM+k568g04tL0aiVZm4c6eRU5r8xzYIn8zJdos1jgu/TwgceKfHvmBhusS\nkXwj\r\n=aWYE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7hwNzItz5mW9rx0SZUvN2aIticLqwObEc3bud0wUzNAIhAJ4hiMRm/ws5n0V6u9Rxyc1FwbIYlruyMDK6TXe63ps+"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.3.1_1644449401213_0.867927707790247"},"_hasShrinkwrap":false},"1.3.2":{"name":"react-moralis","version":"1.3.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.3.5","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"14ca1ecef0a81ab5170ba11678dbd99cd4c1fdc2","_id":"react-moralis@1.3.2","_nodeVersion":"14.19.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-CU9v6YMFNne3q9JM7FGOCa5nnSy53BsBFcyd+CffbYFSkRDtgUSG3KRFTOb2vjG7OCtFk5ZXhG51tCoG7sdE0A==","shasum":"32c0e00b7365b50d5240006a3d6ed4394ecc9704","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.3.2.tgz","fileCount":104,"unpackedSize":1369875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHnOEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroRA//VeICX2fqISnC99gLPSF9o2HG6Iod0prvwc8FulRlKtRXmWxE\r\n2lD0cf3XWQ0K1MTOrFl/BaGEpTEByRoVylcHtcMKSk61qkKuDpLtBXNa2Imy\r\nDJh9tmmT6epJMHze/FUEQzgDnrXfMBzZffVq5C7lrlFILqXswg/Toyym5cQ6\r\n1vpuwdVm00IxUxImcGy89U+DyxB1OugnZKbMe+VuoP+EG7SCdMHrh4a7RHDS\r\n7V4iozYXiZE/LeahGo8U2wYgG1oZUfqvxxfr8XnEd9dgwro+SkLXB/jbDlh9\r\nfYsBqxQqTDfUwdA5c7XlLl7Vdxy0byLKi9HQ+r5AP31buHzGv1hjZFiLUSFR\r\nP8PBgz7ReHc/RjE2SfVlG1vSYrLBRAZC4YIOKXtY5SS7/kKF63Zu1Q6gTVGq\r\nmvqFWIh7iwxg5lsI7zGcSTdAdXnyhNry32gllSohRrwxIEpAJx9y0Nxjy/LW\r\nBe18SI46ZB+QbedEUjzh8xBcTVAlXL3UFpUb28Q4LOKlIXo67RZZjVi13uVa\r\nzKpIWRAGSI3lBy2sRLNWlOF1ztbcbS0emqQnAyYxnwaKBjxacEH7iD90UTvJ\r\nG1AB9G6LHU65/2Ey2xewpM3G1ObJlZGL3sARXKlQtmT6/9L3emzaJNvFCIVr\r\nfdKvPqubcvNobkqsEsq7fWbeoGhsWFp5i84=\r\n=YX+u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgUBvA6k94Pgr59hSpywaYXWggIunDKT2hey79P+TSuAIhAJZmlIASF4KCs01TC5WLTHlYbRMnogbSDcnOPXVoJcXA"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.3.2_1646162819825_0.16992814259613054"},"_hasShrinkwrap":false},"1.3.3":{"name":"react-moralis","version":"1.3.3","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.3.5","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"41e11a915d56ca0508c585e87e4e9c3411c75e43","_id":"react-moralis@1.3.3","_nodeVersion":"14.19.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-Ufvub8kx9H/lZVKoqn5GuLzlkbWjENg+JuS6xO19BgHAN00VvW8uXtCbZDSj6kaVxP7u4xOXcNbb2A+SjFJfug==","shasum":"5144d3abc3e7e269dbc15b5907ad15269d25fc0c","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.3.3.tgz","fileCount":104,"unpackedSize":1369875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOE3yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoSBAAhezNlf5zvIaSFaB+xgwa1WvmISmuUt0m4UtIVVNwKME6FuRZ\r\nqOY0l0BXppN5MXLPhkIdsdV50Yx+3sosEyUeUzobgoD5QJ6yoPQnODcHs5NW\r\ngK1qIFSywaGnvd2gBM2FNC9TXw7WuYDElfUQdpQ2aFTixZtvxcKwdd3XT81A\r\ncqGIijDzswVYYRFVm2nmc7bmpGYTQYlKaRa7riePp7GCqma2HPzjeRNQV87z\r\n89GZ0FqlxXvPx8+j5odkkEaB503ctymqs3coT0aHC9UptVKyHDLBVSJVyMRI\r\nFCTMKihzjEj30EYaS5VPRYg8hIeOiBB+UzH76tHDENtYt1vmFpC3fdyLOCat\r\nPKOAqjzSlmgUcr4//qdSau9q8ySFBH+vWLpr0FQxKBLrQGdgTPOpm6kK+wJV\r\n154o9nWLvI0O5+B5bIGSt24vYG/So5vLwUg+f9si33M9ws3XUn9w9S+2YSki\r\nzvGyPQP06+/f8G8mBnpbuvQGtiWgfAZp4HFoAHAd9yFtgTIdNcB1r7l0S0Mi\r\nn49WdG2AsWb2+7HYejjXdV8Ov5OKLT5ez1CqrGyChpJrSrY6p3LauWVomDbJ\r\n0PckPhRTekpCipfdtZRdesQikBIGkKt1tm2JoWxcnmkpRoGSYcC5U8xyzfR+\r\n4JDZRf22cVf/VVrjcY6BuiPPShYsobaS14E=\r\n=GB0A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB+Q5cNWOXtFm/Mt8eNuV+l4fW7q5pDd4+wuo68gxaDLAiEAqwocO8GrQwU59eUrVYpK7+he67tQRLqdjOAzE9q9xCU="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.3.3_1647857138524_0.8534612079858923"},"_hasShrinkwrap":false},"1.3.4":{"name":"react-moralis","version":"1.3.4","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.3.5","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"cd680bc3d3b2ab9e3cedadc8eec5d914863bcda2","_id":"react-moralis@1.3.4","_nodeVersion":"14.19.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-RBGGjJbQXt7r4JImcSUcNl1gt/GMjlA+P1KzhrvwmapdWO2fXWxKxV15aQ6v77MphrCry5MCLlr0shOdKxms7Q==","shasum":"039587110bd67bc7e41913e28ac8515c3a876078","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.3.4.tgz","fileCount":104,"unpackedSize":1369875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOE5wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqaVA//S6kL2a9/Htfrj9cGd89IQRilsG3kfsSIbzRapAPuQOm7pS6N\r\nN5tNYwKMKgYs9UUuaVIdEwFqoyaLiInDLcgli/IwCj2auTqnbW5I8KK7umED\r\nQQt/BBtxZVRjbX783bxGYjkz9hsf5038HWkfsIhkl6XsNRPWZWTMwj6aMnEG\r\nEyNMbsNKcgKoMxOFgIIIliSSjSDwD6jibEtgO/UyrkqZh63axiBxEILXIaPT\r\n6ZIS+kULa/k/oHNISzG38q4y0Qt0wuTwBPnAXHsFy6R6J4M8hMbAbf2e3Qxr\r\nnvwyMNxYeQMYNHPBb561PAO1dR1nWe1ekV2CL3Vry/J8I32yY/eCKmuGUDwy\r\nHwsEXv/FEf1KG+KYPcQ87icaNr7ujb/oMFpl8xz9dqW/EbHQy+bN2jqsuzVw\r\n67ihgq6oqlD7FfeYpIEwtlBA5nu0+KgSGhm1trBHSBoCsVt5C41MfwmDQS1V\r\nTl5f8N7c5lyVVyLlGQ/+lljV+SN0fHEcP8gjIwlXl1ht1K9ZmYLjnKDSlQc3\r\n+T2bj9yWtP3MEQe1TGSTU5UKoSXJ/06JlqJ3vvfoj1eTjd4RduD+XAB66I5F\r\nNYZYnVRX5BekgcZ3dN52qkTjkOFHzD7NNCvGWfj0S2Z4pyh4t5F9jE/ySlDz\r\nbKmB+eMSkl2fbDPRDYNu8kjPOWvm/lAjwpA=\r\n=Bcrn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFnpUibOQU7Rgpc/FF8kJFBpLzxbzyA97AxDE0Puj7/TAiEA3Fw2HCxgJC/LwhfrX+AvktXepBQuZ66CEL8oBM7ANa4="}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.3.4_1647857264064_0.17053225817907225"},"_hasShrinkwrap":false},"1.3.5":{"name":"react-moralis","version":"1.3.5","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.1.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.3.5","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"2478af83e84268e2171cec7579dd20bc07a03293","_id":"react-moralis@1.3.5","_nodeVersion":"14.19.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-Z78gjQStR301biEzfJe4MZYGqWZh3bk8hfBzguobWM/98MR7DEBiCCWEEeUqkphc2zkCzo9mKRGV/YTdTdD/vg==","shasum":"d811e8c7e16d6ff3988fc2115a6bcce7e85263bd","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.3.5.tgz","fileCount":104,"unpackedSize":1369875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQznRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDThAAjgnM4xR57WHJW+Sv7YDECOJAESlyB+J23lIpms5k/9mHsVGp\r\naH70bN7KDOlkODGjuP7s7hStGWAqWCWY4HE7VdP26k9bmEtOALtm0qDp0lO+\r\ntWZ7/Ft7V06fSoiBS/0db5zNi6aD3VYOOxP6uHP+/EwxBAwGuX3bw09pKLal\r\nWcOZKLU6JbjHYd9VvuFdb4h1Hc+0bFXDHckgb3Hmqar3IFbAUklEnFV2k1FE\r\nfJydBJq3HcIAit9nJnH1oaqvP0D6syFxV3Xb7eSK1t8b+w8k+E9eoctK+9PJ\r\nbgSqqagddvwMYQt5/lzvpp1hBTDthQTgjjtq/FHMLBXVq0DvFrtmwWhwrdTO\r\nq0z5l/GSCHGZnMIJF8Ge07PyswjD4OIECeaJOaLNn8cJC2EV8rxATnY2/mlT\r\nVrV6tGhWmMIHO5MbuKagCJzGcI1iokZ6G1/TdPd5ZtcGJC6nIsCzs64nDiyW\r\n5jWyzE/AkU+wKfH0OunRkaoGrOQdMeaYT8/sYh4tIZHUb5Jj4cYB/xajyksm\r\nL/UlVUA+/Ys+RSaOvDZvmMnri1BWhcQsB1TJewCrjZ15gZpMfLblhFWGOliN\r\nCdn8zDKJ2DU6foEUs2FIG6aUc/utai0GmK/mSyy6SSQobrOM7PnUUZ8y9leN\r\nnqFwwo4J4rHMXleg0jAJcF4Fa5qz5xjBROY=\r\n=Ul9f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx7fhgCL2HpPkTq0ZA5QElPpdbDjaxCZlAZGU/Np4NlwIhAIU9nEfgGnf0o9xSwCx9TLdFhKqzMMrrdqySfqX7U3Y/"}]},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.3.5_1648572880771_0.9559879824616344"},"_hasShrinkwrap":false},"1.4.0":{"name":"react-moralis","version":"1.4.0","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.8.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis":">=1.8.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"9da7f40e4b74ba6f4a86e38616b3e489cee05fa4","_id":"react-moralis@1.4.0","_nodeVersion":"14.19.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-NYt/LMARpWVLQ/giWQllu2lZxNHfq/EzKmGz7n5HQ7DQBQwfRpZUv8dwvx6phlC8yNdp6osMP8Y0vnh4+Sf2qQ==","shasum":"782b17b01666d8da0f2d92951ca1371e4d2e089e","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.4.0.tgz","fileCount":104,"unpackedSize":1370145,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVwqrby0MLpMFWPrbSMmY5UXYaPzF5kMN1iUaPcHWWwAIgZjHTZdyGD7ZmfCKwN+zPIeHP2CKYvN7SN4o9Tptykow="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJik8GaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrsVQ//Rr1nAZugDawUObHYRRxP83E9U1QAIg1SaEj1LhECYbqSGeGo\r\nrOT+AtIJxiDfpMR5JvRim0OkuktXHKFm7d7g7SGIvHkgbm7TDaIfcUchI9xy\r\nhlJw1gA0cY3z4+XZ/1/CK8ssu2mWILa2XwJYf+XjV6JLL6j9TYUUV9Nc1Y4J\r\n9VaHjPDw9cXJP6DHir6PGwbOQPesFr0NArTgJvqjh+SRIbCZzY3Jy0KxlmIP\r\nC4/ExhWmUlJYw+nPFznhiwdxhGrcCNTPIiYPWh8QPbg4QldKc6wvbmMFDCIT\r\no0+sQPJsCyEm2TDKdv8RjGhGomKa7upCFKTuk08EBdvCwOt7IZSr36WHywVB\r\nkaqSn1DZgpJofLT7rmRF5zURd45XWmYkBD3ZJ2ACJ1/JSQIatg92slwy7WH6\r\nK07wlY+acOANPzJvtGD5RQrHLGBWTIARswKiYKzjxdK8pOEG7AtCDSbq2NqZ\r\nyqGGOtPhGNA/poisfj8KUbkhSnixRcQNvKsGYPDALm7DTf7ul2ErzEiVuZbV\r\n6EdNkpfRU4JZNn7u+r/i1FVtMSWGq06E1wi4xAgz2PD53q+ukNYqiuDiBVD3\r\np1lV1x7JhbtY5KEdp99VwP9kS2MSw1JFyCnvnKP7tmifV3KtYhmdvrbVNYOv\r\nXeFphKfI+Gybik7v+rLlIU6/QGrKCF92EkY=\r\n=v0yX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.4.0_1653850522281_0.7090285530931577"},"_hasShrinkwrap":false},"1.4.1":{"name":"react-moralis","version":"1.4.1","description":"Hooks and components to use Moralis in a React app","keywords":["moralis","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis":"1.8.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis-v1":">=1.11.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"08bffbb6e28be83d06061d401d49c480f3c2367a","_id":"react-moralis@1.4.1","_nodeVersion":"14.20.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-H8ry9JzrJlByE+URUFBe6nbSdD7Yep6fZlRg4YmQELBCVRYIifIKPML5gD8z74tCIYkWrat3Xr3f0Zv7Jy7MYQ==","shasum":"16885954435719cae923bb1a787455ac4d5d2308","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.4.1.tgz","fileCount":104,"unpackedSize":24385985,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZehc12S6NWHZrYeeu5VI/5GE48JanOss+t+BTfv/KjgIhAL+MyVzTrqfT/qCJ/ctnlZx5c81m9bKq/bIxId6JeEx5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi88imACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmox6w/+IWXuOfmK/qzFOwqttDj3ncYkLEACAS/VgE5Ft+RHT//0XLqc\r\nQcZSUP/bVj+xtafSVnd5buVteYD2uafhEMTUBGgOJ+12NzIP31rmxPHsqdK9\r\nCN+BMArHddsQq7J4JyVrP4b+HTQYwyZZh17WQoxV7mgh+hdKuBsJNKXTUTBg\r\nWC32+4oOQfXcKc7w7n0eAYMUmPE3kNkA++XsgEJsSVq9IdeQTBgjyaGC6HOH\r\n+EjkAVuKSOzlmq7eujpWzzTlo34Bt9VULi8mKRCDRxfT3dMEAQHd9CyZ+g3k\r\nryEqug3SVpmCPRRE4u7+PyCcATlF7xtxaVNIuNNWktQteGEQV30PLN3tnutO\r\nHUQeijYu+AHj8nwJU5JYISPfBUT+URlnyB0vKj3Et+pyXev4GD64lHJJ9DAi\r\nV9A6KcTKzFi21P0BAJGOxOCjMh490x3CgMDxEBMXt1S9dscp1WCV3drj+yxl\r\nwmuCij8fM5HX801KRtBIyLkQxHCYrnvOW3O8NWowY+QmxbCOXVAhrjxJNC00\r\nKzV4eVAuYOCJqT1+1OPLltsi7Zb9unqmxgIV4y69GDtIGs5M79ewpnqmx12Q\r\nB2WQl/UdpYd9nNsxVEMp/0+xWuSHuu35DCUMRvAdPqf/w0zyu473YV5zLp22\r\n6ys5U9aYI6ZrvwTsP5SyXtiZxchOfPiuEeo=\r\n=saee\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.4.1_1660143782543_0.9279082314322653"},"_hasShrinkwrap":false},"1.4.2":{"name":"react-moralis","version":"1.4.2","description":"Hooks and components to use Moralis in a React app","keywords":["moralis-v1","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"homepage":"https://github.com/MoralisWeb3/react-moralis","repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","author":{"name":"Erno Wever","email":"erno@ernowever.com"},"main":"lib/index.cjs.js","module":"lib/index.esm.js","types":"lib/index.d.ts","engines":{"node":">=v12.22.0"},"devDependencies":{"@babel/core":"^7.16.5","@babel/preset-env":"^7.16.5","@babel/preset-typescript":"^7.16.5","@commitlint/cli":"^16.0.1","@commitlint/config-conventional":"^16.0.0","@commitlint/prompt":"^15.0.0","@rollup/plugin-commonjs":"^21.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^8.3.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@types/jest":"^27.0.3","@types/react":"^17.0.37","@types/react-dom":"^17.0.11","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.4.5","babel-loader":"8.2.3","commitizen":"^4.2.4","dotenv":"^10.0.0","eslint":"8.5.0","eslint-plugin-react":"^7.27.1","husky":"^7.0.4","jest":"^27.4.5","lint-staged":"^12.1.2","moralis-v1":"^1.11.0","prettier":"^2.5.1","rollup":"^2.61.1","rollup-plugin-cleaner":"^1.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-typescript2":"^0.31.1","rollup-watch":"^4.3.1","semantic-release":"^18.0.1","ts-loader":"^9.2.6","tslib":"^2.3.1","typescript":"^4.5.4"},"peerDependencies":{"moralis-v1":">=1.11.0","react":">=17.0.0","react-dom":">=17.0.0"},"scripts":{"build":"rollup -c","build:watch":"rollup -cw","prepublishOnly":"yarn run build","install:clean":"rm -rf node_modules && yarn install","lint":"eslint ./src","test":"jest","test:ci":"jest","lint:ci":"eslint --output-file eslint_report.json --format json ./src","commit":"npm run git-cz","format":"yarn prettier --write .","format:check":"yarn prettier --check .","tsc":"tsc","prepare":"husky install","pre-commit":"lint-staged","semantic-release":"semantic-release"},"lint-staged":{"*.js":["eslint"],"*.{js,ts,html,css,md,json}":["prettier --write"]},"dependencies":{"fast-deep-equal":"^3.1.3","immer":"^9.0.7","use-immer":"^0.6.0"},"gitHead":"d80b1cf556a0f2b151a8944e45d1ad1efc02275d","_id":"react-moralis@1.4.2","_nodeVersion":"14.20.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-M6R9+AO4r/ZmJEMbv2IySnp1+8fRvzu1osehAWYqQgN8cPsHWGuDpnmNSd8Q+DegZ/sjiBkfWjuEXFRwrHYorQ==","shasum":"745cd5fba311071ecb23267966f35784862f585b","tarball":"https://registry.npmjs.org/react-moralis/-/react-moralis-1.4.2.tgz","fileCount":104,"unpackedSize":1415979,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVxegvSVT6LZDsm+AQWBhfS8DF+gR8bnvJu7jMid2+ewIgEOMK71UN1KyKzIwe39kt/h6+8/lF3Pj2PyZv54GQUDU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFM/HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr00A/+I3NBrqQSKAjWJDYS8NajckR0m96krBZfAfVVG7rakf18N7u8\r\nWLv5nQhOgVEIBlze4+SI+0OFB8Nam0oaqyECmE9MDnYhWEQ9DIiYEQrxib9z\r\nYQokY3b28H9yd//KYW5b0GQdIO5c4jlsU5k9YR+ALxHrKKIVSG6rJV4qkcde\r\nyJZwgsiPgJe4EsQtS6q1pQw5JB7UbsUQ30c4SYUdJBnrB//hyldO7afP/tdY\r\nYwmkSogQ5RG6qA8J+gP5STDkRvaPAbSgEI34bEh7FBMtlwwSCIYYiDVWlNYi\r\nLZ7S2w94o2wQxTR4McjTM85SJAfI8/G+Yu6Z5SSBJeGovj3ER5wm+2uxzOS8\r\nq7k6RUrrpLMhB0zy6Ik9L8iQuTMoBt34a2MTCZ8KYhB5MQxVfl/+el0LetMi\r\nab8w5b/v87UPIMlH3hh1oH1Da10/smG2Ml5y6q06HJtQUIw/r2/N6VyZU0Q4\r\nsv0gWCXbTq5zdOnvSNN3CMTApwTb58DQnXd5qtUUBW+dhPxGd7jHgQ5dSlaD\r\nwPGBtNQG9V7Puv9dxsX0DTWTGnVGHIPjgTndAdtDYMT4l1pGrnbG53T7PigI\r\noKOskowm78HRdozd+D3Y4wWtDrDa4qlHdNqhz+9PCtFoMyGZJhbnB+yt/3ix\r\n99XfMJljl3pmF2NLaOf48LOOqgfQuUCGKb0=\r\n=A89u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ernow","email":"erno@ernowever.com"},"directories":{},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-moralis_1.4.2_1662308295469_0.8654775559756107"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-15T15:19:42.957Z","0.0.1":"2021-04-15T15:19:43.186Z","modified":"2022-09-04T16:18:15.788Z","0.0.2":"2021-04-15T15:20:23.925Z","0.0.3":"2021-04-15T15:22:26.921Z","0.0.4":"2021-04-17T21:02:46.299Z","0.1.0":"2021-04-19T19:34:16.691Z","0.1.1":"2021-04-19T19:52:10.554Z","0.1.2":"2021-04-27T16:55:21.849Z","0.1.3":"2021-04-28T00:17:14.220Z","0.1.4":"2021-04-28T01:05:18.911Z","0.1.5":"2021-04-28T01:12:06.839Z","0.1.6":"2021-04-28T20:45:36.818Z","0.1.7":"2021-05-19T19:06:21.194Z","0.1.8":"2021-05-20T12:49:15.194Z","0.1.9":"2021-05-21T23:10:25.466Z","0.2.0":"2021-07-09T18:45:23.642Z","0.2.1":"2021-08-26T16:00:50.949Z","0.2.2":"2021-09-08T01:15:04.807Z","0.2.3":"2021-09-13T16:25:12.725Z","0.2.4":"2021-09-30T11:39:04.043Z","0.2.6":"2021-10-12T13:36:44.946Z","0.2.7":"2021-10-21T13:56:17.332Z","0.2.8":"2021-10-25T16:06:21.711Z","0.3.0":"2021-11-17T17:52:59.524Z","0.3.1":"2021-12-06T16:48:12.555Z","0.3.2":"2021-12-17T01:56:04.633Z","0.3.3":"2021-12-17T20:27:29.276Z","0.3.4":"2021-12-18T03:04:23.148Z","0.3.5":"2021-12-18T03:17:58.313Z","0.3.6":"2021-12-18T03:19:26.120Z","0.3.7":"2021-12-18T03:20:47.135Z","0.3.8":"2021-12-18T03:22:00.434Z","0.3.9":"2021-12-20T08:46:38.057Z","0.3.10":"2021-12-20T09:09:47.293Z","0.3.11":"2021-12-20T09:23:34.231Z","0.4.0-beta.1":"2021-12-22T22:59:13.805Z","1.0.0-beta.1":"2022-01-05T12:48:05.360Z","1.0.0-beta.2":"2022-01-14T17:58:36.825Z","1.0.0-beta.3":"2022-01-14T18:08:17.960Z","1.0.0":"2022-01-17T11:34:33.139Z","1.0.1":"2022-01-19T19:38:50.284Z","1.0.2":"2022-01-19T23:12:06.286Z","1.0.3":"2022-01-20T22:32:09.012Z","1.0.4":"2022-01-20T23:42:56.633Z","1.1.0":"2022-01-21T22:57:56.796Z","1.1.1":"2022-01-28T15:34:16.478Z","1.2.0":"2022-01-28T17:35:06.276Z","1.2.1":"2022-01-29T02:01:27.347Z","1.2.2":"2022-02-04T17:13:41.561Z","1.2.3":"2022-02-07T11:18:17.005Z","1.2.4":"2022-02-07T11:38:06.473Z","1.2.5":"2022-02-07T22:00:10.854Z","1.3.0":"2022-02-09T17:59:42.997Z","1.3.1":"2022-02-09T23:30:01.392Z","1.3.2":"2022-03-01T19:27:00.037Z","1.3.3":"2022-03-21T10:05:38.732Z","1.3.4":"2022-03-21T10:07:44.284Z","1.3.5":"2022-03-29T16:54:40.972Z","1.4.0":"2022-05-29T18:55:22.485Z","1.4.1":"2022-08-10T15:03:02.864Z","1.4.2":"2022-09-04T16:18:15.672Z"},"maintainers":[{"name":"ernow","email":"erno@ernowever.com"},{"name":"ivanontech","email":"ivan@ivanontech.com"}],"description":"Hooks and components to use Moralis in a React app","homepage":"https://github.com/MoralisWeb3/react-moralis","keywords":["moralis-v1","react","react-hooks","web3","ethereum","dapp","frontend","javascript","typescript","metamask"],"repository":{"type":"git","url":"git+https://github.com/MoralisWeb3/react-moralis.git"},"bugs":{"url":"https://github.com/MoralisWeb3/react-moralis/issues"},"license":"MIT","readme":"<div align=\"center\">\n    <p align=\"center\">\n      <img src=\"./docs/head.png\" alt=\"React Hook Form Logo - React hook custom hook for form validation\" />\n    </p>\n</div>\n\n<div align=\"center\">\n\n![npm](https://img.shields.io/npm/v/react-moralis)\n![node-current](https://img.shields.io/node/v/react-moralis)\n![GitHub last commit](https://img.shields.io/github/last-commit/MoralisWeb3/react-moralis)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-moralis)\n![npm type definitions](https://img.shields.io/npm/types/react-moralis)\n\n</div>\n\n# `react-moralis`\n\n> React components and hooks for your Moralis project\n\nThis project is a thin React wrapper around [Moralis](https://moralis.io/), to easily call functionalities and display data.\n\nPlease check the [official documentation of Moralis](https://docs.moralis.io/#user) for all the functionalities of Moralis.\n\n# ⚙️ Quick start\n\nMake sure to have `react`, `react-dom` and `moralis-v1` installed as dependencies, then install `react-moralis`\n\nIn short:\n\n```sh\nnpm install react react-dom moralis-v1 react-moralis\n```\n\nor\n\n```sh\nyarn add react react-dom moralis-v1 react-moralis\n```\n\n> Make sure to also  `moralis-v1` to the latest version, when you update `react-moralis`.\n\nThen wrap your app in a `<MoralisProvider>`, and provide your appId and serverUrl:\n\n```jsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { MoralisProvider } from \"react-moralis\";\n\nReactDOM.render(\n  <MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n    <App />\n  </MoralisProvider>,\n  document.getElementById(\"root\"),\n);\n```\n\nAnd call the hooks inside your app:\n\n```jsx\nimport React from \"react\";\nimport { useMoralis } from \"react-moralis\";\n\nfunction App() {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Welcome {user.get(\"username\")}</h1>\n    </div>\n  );\n}\n```\n\n# 🧭 Table of contents\n\n- [`react-moralis`](#react-moralis)\n- [⚙️ Quick start](#️-quick-start)\n- [🧭 Table of contents](#-table-of-contents)\n- [🚀 Usage](#-usage)\n  - [Wrap your app in a `MoralisProvider`](#wrap-your-app-in-a-moralisprovider)\n  - [`useMoralis()`](#usemoralis)\n    - [Initialize](#initialize)\n    - [Authenticate](#authenticate)\n    - [Authentication state](#authentication-state)\n    - [`authenticate()` (web3)](#authenticate-web3)\n      - [Elrond](#elrond)\n      - [Walletconnect](#walletconnect)\n      - [Custom signing message](#custom-signing-message)\n    - [`signup()` (non-crypto)](#signup-non-crypto)\n    - [`login()` (non-crypto)](#login-non-crypto)\n    - [`logout()`](#logout)\n    - [Update the user with `setUserData()`](#update-the-user-with-setuserdata)\n    - [Refetch user data `refetchUserData()`](#refetch-user-data-refetchuserdata)\n  - [`useMoralisQuery()`](#usemoralisquery)\n    - [Fetch Queries](#fetch-queries)\n    - [Filter queries](#filter-queries)\n    - [Automatic updates with dependencies](#automatic-updates-with-dependencies)\n    - [Realtime / live queries](#realtime--live-queries)\n  - [`useMoralisSubscription()`](#usemoralissubscription)\n    - [Listen for query events](#listen-for-query-events)\n  - [`useMoralisFile()`](#usemoralisfile)\n    - [Save to Moralis](#save-to-moralis)\n    - [Save to IPFS](#save-to-ipfs)\n    - [Other options](#other-options)\n  - [`useMoralisCloudFunction()`](#usemoraliscloudfunction)\n    - [Trigger manually](#trigger-manually)\n  - [`useMoralisWeb3Api()`](#usemoralisweb3api)\n    - [Resolve data with `useMoralisWeb3ApiCall()`](#resolve-data-with-usemoralisweb3apicall)\n  - [`useMoralisSolanaApi()`](#usemoralissolanaapi)\n    - [Resolve data with `useMoralisSolanaApiCall()`](#resolve-data-with-usemoralissolanaapicall)\n  - [`useNewMoralisObject()`](#usenewmoralisobject)\n  - [`useWeb3ExecuteFunction()`](#useweb3executefunction)\n  - [`useWeb3Transfer()`](#useweb3transfer)\n  - [`useChain()`](#usechain)\n  - [Web3-api wrappers](#web3-api-wrappers)\n    - [`useApiContract()`](#useapicontract)\n    - [`useERC20Balances()`](#useerc20balances)\n    - [`useERC20Transfers()`](#useerc20transfers)\n    - [`useNativeBalance()`](#usenativebalance)\n    - [`useNativeTransactions()`](#usenativetransactions)\n    - [`useNFTBalances()`](#usenftbalances)\n    - [`useNFTTransfers()`](#usenfttransfers)\n    - [`useTokenPrice()`](#usetokenprice)\n    - [`useWeb3Contract()`](#useweb3contract)\n  - [Dex Plugin Hooks](#dex-plugin-hooks)\n    - [`useOneInchQuote()`](#useoneinchquote)\n    - [`useOneInchSwap()`](#useoneinchswap)\n    - [`useOneInchTokens()`](#useoneinchtokens)\n  - [`Web3`](#web3)\n    - [Enable web3 via metamask](#enable-web3-via-metamask)\n    - [Enable web3 via Walletconnect](#enable-web3-via-walletconnect)\n  - [Utils](#utils)\n    - [Resolve/Lookup ens names](#resolvelookup-ens-names)\n      - [`useEnsName`](#useensname)\n      - [`useEnsAddress`](#useensaddress)\n  - [Components](#components)\n- [Handling responses](#handling-responses)\n- [Webpack v5 support](#webpack-v5-support)\n    - [configuring Webpack v5](#configuring-webpack-v5)\n    - [create-react-app](#create-react-app)\n- [😖 Error handling](#-error-handling)\n- [⌨️ Typescript](#️-typescript)\n- [⚛️ React native](#️-react-native)\n- [🧑‍💻 Development](#-development)\n  - [Examples](#examples)\n\n# 🚀 Usage\n\n## Wrap your app in a `MoralisProvider`\n\nIn order to let your components have access to Moralis functions, wrap your app in a `<MoralisProvider />` component. This will handle the whole initialization for you.\nYou need to provide the `appId` and `serverUrl`, which can be obtained from your dashboard.\n\n```jsx\n<MoralisProvider appId=\"xxxxxxxx\" serverUrl=\"xxxxxxxx\">\n  <App />\n</MoralisProvider>\n```\n\nThis component will automatically initialize Moralis with the provided key and appId.\nIt will also keep the authentication of the user automatically in sync and easy accessible (see `useMoralis`), and give access to all the other hooks.\n\nNow you can use the hooks below in all App.tsx and all of its children:\n\n- `useMoralis` for authentication and user data\n- `useMoralisQuery` for easy query\n- `useMoralisCloudFunction` for easy cloud functions\n- `useMoralisSubscription` for easy subscription\n- `useMoralisFile` for easy file uploads\n\n## `useMoralis()`\n\n### Initialize\nBy wrapping your app in a `<MoralisProvider>`, it will automatically initialize with your provided appId and serverUrl:\n```js\n  <MoralisProvider \n    appId=\"xxxxxxxx\"\n    serverUrl=\"xxxxxxxx\"\n  >\n    <App />\n  </MoralisProvider>\n```\n\nIf you want do not want to initialize automatically, but rather do it manually, you can provide the `initializeOnMount=false` prop:\n\n```js\n<MoralisProvider\n  initializeOnMount={false}\n>\n  <App />\n</MoralisProvider>\n```\n\nand then when you're ready to initialize, call `initialize`:\n```js\nconst { initialize, isInitialized } = useMoralis()\n\n<Button\n  disabled={isInitialized}\n  onClick={()=>{\n    initialize({\n      appId: 'xxx',\n      serverUrl: 'xxx'\n    })\n  }}\n>\n  Initialize\n</Button>\n```\n\nOr alternatively, you can set the `appId` and `serverUrl` on the `MoralisProvider` and call `initialize` without any params:\n\n\n```js\n<MoralisProvider\n  initializeOnMount={false}\n  appId=\"xxx\"\n  serverUrl=\"xxx\"\n>\n  <App />\n</MoralisProvider>\n```\n```js\nconst { initialize, isInitialized } = useMoralis()\n\n<Button\n  disabled={isInitialized}\n  onClick={()=>{initialize()}}\n>\n  Initialize\n</Button>\n```\n\nand then when you're ready to initialize, call `initialize`:\n```js\nconst { initialize, isInitialized } = useMoralis()\n\n<Button onClick={()=>{\n  initialize({\n    appId: 'xxx',\n    serverUrl: 'xxx'\n  })\n}}>\n  Initialize\n</Button>\n```\n\nIf you do not specify `initializeOnMount={false}`, or set `initializeOnMount={true}`, then you **must** specify the appId and serverUrl directly on `<MoralisProvider>` when the app renders.\n\n### Authenticate\n\nThe `useMoralis` hook provides all the basics functionalities that you need for authentication and user data.\n\nYou can use it inside a component and have access to various data and functions:\n\n```jsx\nconst { Moralis, isInitialized, ...rest } = useMoralis();\n```\n\nYou will have access to the following values by using this hook:\n\n| Option          | Description                                                     |\n| --------------- | --------------------------------------------------------------- |\n| `Moralis`       | The global Moralis instance (same as the global Moralis object) |\n| `isInitialized` | A boolean, indicating if Moralis has been initialized           |\n| `isInitializing` | A boolean, indicating if Moralis is currently initializing           |\n\n| Option              | Description                                                                                                                                                                                                         |\n| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `authenticate()`    | The authentication function, to authenticate via web3                                                                                                                                                               |\n| `logout()`          | The logout function that will end the users session                                                                                                                                                                 |\n| `signup()`          | The signup function that will signup a new user with an username and password                                                                                                                                       |\n| `signin()`          | The signin function that will sign in a user with a username and password                                                                                                                                           |\n| `auth`              | Auth state object (see below)                                                                                                                                                                                       |\n| `authError`         | Error object when authentication failed (auth.state will be \"error\");                                                                                                                                               |\n| `isAuthenticated`   | A boolean, indication if authenticated                                                                                                                                                                              |\n| `isUnauthenticated` | A boolean, indication if user is authenticated                                                                                                                                                                      |\n| `isAuthenticating`  | A boolean, indication if user is authenticating (started but not finished)                                                                                                                                          |\n| `hasAuthError`      | A boolean, indication if authentication has an error                                                                                                                                                                |\n| `isLoggingOut`      | A boolean, indication if the user is logging out (started but not finished)                                                                                                                                         |\n| `isAuthUndefined`   | A boolean, indication if the authentication is unknown, this is the initial state, before checking if the user is already logged in. It will resolve withing a few ms into `isAuthenticated` or `isUnauthenticated` |\n\n| Option          | Description                                                                                                                                                                       |\n| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `setUserData()` | function to set userData and directly sync it in the app AND Moralis (see below)                                                                                                  |\n| `user`          | user object from `Moralis.User.current`, containing the state of the logged in user. It automatically will be (un)set automatically when logging in and out, or setting user data |\n| `enableWeb3`    | function to enable web3                                                                                                                                                           |\n| `web3`          | The web3 instance of `Moralis.Web3`;                                                                                                                                              |\n| `isWeb3Enabled` | Boolean to indicate if web3 has been enabled via the `enableWeb3` function                                                                                                        |\n| `account` | address of the connected web3 wallet |\n| `chainId` | chain id of the blockchain that the web3 wallet is connected to |\n\n### Authentication state\n\nThe authentication state, and the user object will be updated, when the user authenticates or logs out.\n\nThe auth object has the following format:\n\n```js\n{\n  state: \"unauthenticated\",\n  error: null,\n}\n```\n\nwhere state can be one of the following enums\n\n```js\nenum AuthenticationState {\n  UNDEFINED = \"undefined\",\n  UNAUTHENTICATED = \"unauthenticated\",\n  AUTHENTICATED = \"authenticated\",\n  AUTHENTICATING = \"authenticating\",\n  LOGGING_OUT = \"logging_out\",\n  ERROR = \"error\",\n}\n```\n\n### `authenticate()` (web3)\n\nYou can call the `authenticate()` function to authenticate the user via web3, as long as a user has an active web3Provider (such as MetaMask).\n\nThis function calls the `MoralisWeb3.authenticate()` internally and will update the `auth` state and `user` state of your app automatically.\n\n*Example:*\n\n```jsx\nconst User = () => {\n  const { authenticate, isAuthenticated, user } = useMoralis();\n\n  if (!isAuthenticated) {\n    return (\n      <div>\n        <button onClick={() => authenticate()}>Authenticate</button>\n      </div>\n    );\n  }\n\n  return (\n    <div>\n      <h1>Hi {user.get(\"username\")}</h1>\n    </div>\n  );\n};\n```\n\nIf you need direct feedback after authentication, you can provide an `option` object as argument to the `authenticate` call with `onComplete`, `onError` and/or `onSuccess`:\n\n*Example:*\n\n```js\nauthenticate({ onComplete: () => alert(\"🎉\") })\n```\n\n#### Elrond\n\nIf you want to authenticate via Elrond, you can provide the `\"erd\"` authentication type in the options type:\n```js\nauthenticate({ type: \"erd\" })\n```\n\n#### Walletconnect\n\nIf you want to use walletconnect, instead of metamask, you can add the `provider` option:\n```js\nauthenticate({ provider: \"walletconnect\" })\n```\n\nFor some wallets you might want to specify the default chainId, to do so you can provide a `chainId` option:\n```js\nauthenticate({ provider: \"walletconnect\", chainId: 56 })\n```\n\n#### Custom signing message\n\nTo adjust the signing message, you can provide `signingMessage` as an option:\n```js\nauthenticate({ signingMessage: \"Moralis Authentication\" })\n```\n\n### `signup()` (non-crypto)\n\nTo signup users without web3, and use a password/username, you can use the signup function.\n\n*Example:*\n\n```jsx\nconst Signup = () => {\n  const { signup, isAuthenticated, user } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [email, setEmail] = useState(\"\");\n\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => signup(username, password, email)}>Sign up</button>\n    </div>\n  );\n};\n```\n\nIf you need to provide more data, than just the username, password and email, then you can provide an extra argument with an object, containing the data:\n\n*Example:*\n\n```jsx\nsignup(username, password, email, { phone: \"01234567\" });\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `login()` (non-crypto)\n\nSimilar to signup, you can also login via a hook function:\n\n*Example:*\n\n```jsx\nconst Login = () => {\n  const { login } = useMoralis();\n\n  const [username, setUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n]\n  return (\n    <div>\n      // [Your form and inputs somewhere here... ]\n      <button onClick={() => login(username, password)}>Login</button>\n    </div>\n  );\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### `logout()`\n\nFollowing the same principle as authentication/login, you can call `logout` and let the MoralisProvider handle the internal authentication state.\n\n*Example:*\n\n```jsx\nconst LogoutButton = () => {\n  const { logout, isAuthenticating } = useMoralis();\n\n  return (\n    <button onClick={() => logout()} disabled={isAuthenticating}>\n      Authenticate\n    </button>\n  )\n};\n```\n\nAfter calling this function the `auth` and `user` will automatically be updated to reflect the new state.\n\n### Update the user with `setUserData()`\n\nWhen you want to set userData, you can use the `setUserData()` function from `useMoralis`.\nThis accepts an object with key-value pairs of data that you want to set.\n\nUpon calling this function:\n\n- The user is updated on Moralis\n- The user is updated in the React app\n\nSo this means that at the places where you use `const {user} = useMoralis()`, the user data will automatically be updated.\n\n*Example:*\n\n```jsx\nconst { setUserData, userError, isUserUpdating, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button\n      onClick={() => setUserData({\n        username: \"Batman\",\n        email: \"batman@marvel.com\",\n        numberOfCats: 12,\n      })}\n      disabled={isUserUpdating}\n    >\n      Set user data\n    </button>\n  </div>\n)\n\n```\n\n### Refetch user data `refetchUserData()`\n\nWhen your user data gets updated outside the app (via cloudfunctions or in another session for example), you might want to force a refetch of the user data. You can use `refetchUserData` for this.\n\n*Example:*\n\n```jsx\nconst { refetchUserData, isUserUpdating, userError, user } = useMoralis();\n\nreturn (\n  <div>\n    {userError && <p>{userError.message}</p>}\n    \n    <pre>\n      {JSON.stringify(user)}\n    </pre>\n\n    <button onClick={() => refetchUserData()} disabled={isUserUpdating}>\n      Refetch user data\n    </button>\n  </div>\n)\n```\n\n## `useMoralisQuery()`\n\n### Fetch Queries\n\nThe `useMoralisQuery` is heavily inspired by react-query. It handles all the async logic and manages the loading/error/data state internally and will automatically execute the query upon mounting in your component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n```\n\nThis query will fetch \"GameScore\" for you when the component mounts.\n\nThe hook will return `data`, `error` and `isLoading`, which you can use to render the component.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\");\n\nif (error) {\n  return <span>🤯</span>;\n}\n\nif (isLoading) {\n  return <span>🙄</span>;\n}\n\nreturn <pre>{JSON.stringify(data, null, 2)}</pre>;\n```\n\n### Filter queries\n\nYou can filer the query via a second argument. You can mutate the query in any way that Moralis.Query can.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisQuery(\"GameScore\", query =>\n  query\n    .greaterThanOrEqualTo(\"score\", 100)\n    .descending(\"score\")\n    .limit(limit),\n);\n```\n\nThis example will fetch the top 3 scores that are at least 100, in descending order.\n\nYou can also filter dynamically, but you need to provide a dependency array as third argument (similar to other hooks), to specify when this hook needs to update.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n);\n```\n\n### Automatic updates with dependencies\n\nThis query will automatically refetch when the limit is changed.\n\nIf you want to disable the automatic fetching, you can also manually fetch. You need to provide `autoFetch: false` as option in the 4th argument. In that case it will ignore the dependencies and will only fetch if you manually call `fetch()`\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [],\n  { autoFetch: false },\n);\n\nreturn <button onClick={() => fetch}>Fetch manually</button>;\n```\n\n### Realtime / live queries\n\nThe `useMoralisQuery` hook can also be used to update upon realtime events. All you need to do is provide `live: true`. If any events update the query, then the `data` is automatically updated.\n\n*Example:*\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n  },\n);\n```\n\nBy default we use these rules\n\n| Eventname  | Action                              |\n| ---------- | ----------------------------------- |\n| `\"create\"` | Add to the data                     |\n| `\"update\"` | Update if object is already in data |\n| `\"enter\"`  | Add to the data                     |\n| `\"leave\"`  | Remove to the data                  |\n| `\"delete\"` | Remove to the data                  |\n\nYou can override these rules with your own functions.\n\n```jsx\nconst [limit, setLimit] = useState(3);\nconst { data, error, isLoading } = useMoralisQuery(\n  \"GameScore\",\n  query =>\n    query\n      .greaterThanOrEqualTo(\"score\", 100)\n      .descending(\"score\")\n      .limit(limit),\n  [limit],\n  {\n    live: true,\n    onLiveEnter: (entity, all) => [...all, entity],\n    onLiveCreate: (entity, all) => [...all, entity],\n    onLiveDelete: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveLeave: (entity, all) => all.filter(e => e.id !== entity.id),\n    onLiveUpdate: (entity, all) =>\n      all.map(e => (e.id === entity.id ? entity : e)),\n  },\n);\n```\n\n## `useMoralisSubscription()`\n\n### Listen for query events\n\nThis hook is used when you use `useMoralisQuery` with `live: true`. But if you want fine-grained control over subscriptions, and want to do actions upon the events, then you can use this hook.\n\nIt's as simple as calling this hook with the callbacks that you want. The first 3 arguments are the same as `useMoralisQuery` (queryName, filter, dependencies). In the last argument, you can specify the callbacks:\n\n| Eventname  | callback |\n| ---------- | -------- |\n| `\"create\"` | onCreate |\n| `\"update\"` | onUpdate |\n| `\"enter\"`  | onEnter  |\n| `\"leave\"`  | onLeave  |\n| `\"delete\"` | onDelete |\n\nThey will all return the object as data.\n\nFor example if you want to notify when a new player was added:\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n});\n```\n\nThis hook will handle the subscribing and unsubscribing automatically. It will automatically subscribe/unsubscribe when the component mounts/unmounts. All you have to do is use this hook.\n\nYou can disable the subscription by providing: `enabled: false`\n\n*Example:*\n\n```jsx\nuseMoralisSubscription(\"GameScore\", q => q, [], {\n  onCreate: data => alert(`${data.attributes.playerName} was just created`),\n  enabled: false,\n});\n```\n\n## `useMoralisFile()`\n\nGet the data, and saveFunction with the `useMoralisFile` hook\n\n```jsx\nconst {\n  error,\n  isUploading,\n  moralisFile,\n  saveFile,\n} = useMoralisFile();\n```\n\n### Save to Moralis\n\nAll you need to do is call the save function with a valid file:\n\n```jsx\nsaveFile(\"batman.jpeg\", file);\n```\n\nThen you can read the state from the provided variables `error`,\n`isUploading` and\n`moralisFile`,\n\n### Save to IPFS\n\n```jsx\nsaveFile(\"batman.jpeg\", file, { saveIPFS: true });\n```\n\nThen you can get the ipfs data via `moralisFile._ipfs` and `moralisFile._hash` or `moralisFile.ipfs()` and `moralisFile.hash()` \n\n### Other options\n\nAdditionally you can also provide metadata, tags or specify the fileType in the options like:\n\n*Example:*\n\n```jsx\nconst metadata = { createdById: \"some-user-id\" };\nconst tags = { groupId: \"some-group-id\" };\n\nsaveFile(\"batman.jpeg\", file, {\n  type: \"image/jpeg\",\n  metadata,\n  tags,\n  saveIPFS: true,\n});\n```\n\n## `useMoralisCloudFunction()`\n\nYou can use the `useMoralisCloudFunction` hook to run cloud functions easily. All you need to do is provide a name for the function, and it will automatically fetch the data for you.\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\");\n```\n\nIf you have a function that requires parameters, then you can provide it as second argument:\n\n*Example:*\n\n```jsx\nconst { data, error, isLoading } = useMoralisCloudFunction(\"topScores\", {\n  limit,\n});\n```\n\n### Trigger manually\n\nIf you rather want to trigger the fetching manually, you can provide `autoFetch: false` as option. And call the `fetch` function manually.\n\n*Example:*\n\n```jsx\nconst { fetch, data, error, isLoading } = useMoralisCloudFunction(\n  \"topScores\",\n  {\n    limit\n  },\n  { autoFetch: false }\n);\n\n<button onClick={() => fetch()}>Fetch manually<button>\n```\n\n## `useMoralisWeb3Api()`\nThis hook will expose all the convenience functions of the `Moralis.Web3API` in the sdk (ex. `Web3Api.native.getBlock` or `Web3Api.account.getNativeBalance`). You can use this function in any way you want, for example:\n\n```jsx\nconst Web3Api = useMoralisWeb3Api()\n\nconst fetchBlock = async() => {\n  const result = await Web3Api.native.getBlock({\n    block_number_or_hash: '100000'\n  })\n  console.log(result)\n}\n```\n\n### Resolve data with `useMoralisWeb3ApiCall()`\n\nYou can also use a resolver, to resolve the asynchronous function. This works similar to useMoralisQuery or useMoralisCloudFunction. It will resolve the data/error for you and will re-trigger if dependencies change. \n\nFor this you can use `useMoralisWeb3ApiCall()`:\n\n```jsx\n  const [block, setBlock] = useState('100000');\n  const Web3Api = useMoralisWeb3Api()\n\n  const { fetch, data, error, isLoading } = useMoralisWeb3ApiCall(Web3Api.native.getBlock, {\n    block_number_or_hash: block,\n  });\n\n  return (\n    <div>\n      <button onClick={() => fetch()}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  )\n\n```\n\n## `useMoralisSolanaApi()`\nThis hook will expose all the convenience functions of the `Moralis.SolanaAPI` in the sdk (ex. `SolanaApi.account.balance`). You can use this function in any way you want, for example:\n\n```jsx\nconst SolanaApi = useMoralisSolanaApi()\n\nconst fetchBalance = async() => {\n  const result = await SolanaApi.account.balance({\n    network: \"mainnet\",\n    address: \"3yFwqXBfZY4jBVUafQ1YEXw189y2dN3V5KQq9uzBDy1E\",\n  })\n  console.log(result)\n}\n```\n\n### Resolve data with `useMoralisSolanaApiCall()`\n\nYou can also use a resolver, to resolve the asynchronous function. This works similar to useMoralisQuery or useMoralisCloudFunction. It will resolve the data/error for you and will re-trigger if dependencies change. \n\nFor this you can use `useMoralisSolanaApiCall()`:\n\n```jsx\n  const SolanaApi = useMoralisSolanaApi()\n\n  const { fetch, data, error, isLoading } = useMoralisSolanaApiCall(SolanaApi.account.balance, {\n    network: \"mainnet\",\n    address: \"3yFwqXBfZY4jBVUafQ1YEXw189y2dN3V5KQq9uzBDy1E\",\n  });\n\n  return (\n    <div>\n      <button onClick={() => fetch()}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  )\n\n```\n\n## `useNewMoralisObject()`\nThis is a wrapper around the save method for a `Moralis.Object`. It creates a new object, and resolves the data, error and loading state, similar to the other hooks.\n\n*Example:*\n\n```jsx\nconst AddScoreButton = ({user, score}) => {\n  const { isSaving, error, save } = useNewMoralisObject('GameScore');\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => save({score, user})} disabled={isSaving}>Save score</button>\n  </div>)\n}\n\n```\n\n\n## `useWeb3ExecuteFunction()`\n\nYou can use the `useWeb3ExecuteFunction` hook to execute on-chain functions. You need to provide the correct `abi` of the contract, the corresponding `contractAddress`, the `functionName` that you would like to execute, and any parameters (`params`) thet you need to send with the function.\n\n*Example:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction({\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data),\n        null,\n        2,\n      )}\n    </pre>}\n  </div>)\n}\n```\n\n*Example with executing by fetch:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, fetch, isFetching, isLoading } = useWeb3ExecuteFunction();\n  \n  const options = {\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  }\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch({ params: options })} disabled={isFetching}>Fetch data</button>\n    {data && <pre>\n      {JSON.stringify(data)}\n    </pre>}\n  </div>)\n}\n```\n\n\n## `useWeb3Transfer()`\n\nYou can use the `useWeb3Transfer` hook to transfer any native coins (ETH, BNB etc.), or any ERC20, ERC721 or ERC1155 tokens.\n\n*Example:*\n\n```jsx\nconst TransferEth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.ETH(0.5),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"native\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n*Example:*\n\n```jsx\nconst TransferWeth = () => {\n  const {fetch, error, isFetching} = useWeb3Transfer({\n    amount: Moralis.Units.Token(20, 18),\n    receiver: \"0x0000000000000000000000000000000000000000\",\n    type: \"erc20\",\n    contractAddress: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => fetch()} disabled={isFetching}>Transfer</button>\n  </div>)\n}\n```\n\n## `useChain()` \n\nHook for fast network switching or getting info about current network. To change the current network, set the target chainId to `switchNetwork` function. If the user does not have the target network in the wallet, it will automatically ask permission to add it to the wallet. \n\n**Example**:\n```jsx\nimport { useChain } from \"react-moralis\";\n\nfunction Chains() {\n  const { switchNetwork, chainId, chain, account } = useChain();\n  return (\n    <>\n      <button onClick={() => switchNetwork(\"0x1\")}>Switch to Ethereum</button>\n      <p>Current chainId: {chainId}</p>\n    </>\n  );\n}\n```\n\n## Web3-api wrappers\n\n### `useApiContract()`\n\nExecute a on-chain contract's function. \nIt calls Moralis API and doesn't require web3 to be enabled.\n\n**Options**\n- `address` : The contract address (i.e. 0x1a2b3x...).\n- `functionName` : The name of the contract's function that you want to call.\n- `abi` : The contract's abi. \n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: 'eth'.\n- `params` (optional): Any parameter you want to send with the function.\n\n**Example**\n```jsx\nimport { useApiContract } from \"react-moralis\";\n\nconst {\n    runContractFunction,\n    data,\n    error,\n    isLoading,\n    isFetching,\n  } = useApiContract({\n    address: ensRegistryAddress,\n    functionName: \"resolver\",\n    abi: ensRegistryAbi,\n    params: { node: hashedDomain },\n  });\n\n  return (<div>\n    {error && <ErrorMessage error={error} />}\n    <button onClick={() => runContractFunction()} disabled={isFetching}>Run contract function</button>\n    {data && <pre>\n      {JSON.stringify(data),\n        null,\n        2,\n      )}\n    </pre>}\n  </div>)\n```\n\n**Example return** (Object)\n```json\n{\n  \"result\": \"0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41\"\n}\n```\n\n### `useERC20Balances()` \n\nGets all token balances of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**\n```jsx\nimport { useERC20Balances } from \"react-moralis\";\n\nconst { fetchERC20Balances, data, isLoading, isFetching, error } = useERC20Balances();\n\nconst ERC20Balances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Balances({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"name\": \"Kylin Network\",\n      \"symbol\": \"KYL\",\n      \"logo\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png\",\n      \"thumbnail\": \"https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png\",\n      \"decimals\": \"18\",\n      \"balance\": \"123456789\"\n    }\n  ]\n}\n```\n\n### `useERC20Transfers()` \n\nGets ERC20 token transfers of a current user or specified address. \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useERC20Transfers } from \"react-moralis\";\n\nconst { fetchERC20Transfers, data, error, isLoading, isFetching, } = useERC20Transfers();\n\nconst ERC20Transfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetchERC20Transfers({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"transaction_hash\": \"0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09\",\n      \"address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\",\n      \"to_address\": \"0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"value\": \"650000000000000000\"\n    }\n  ]\n}\n```\n\n### `useNativeBalance()` \n\nGets native balance for a current user or specified address.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `to_block` (optional): The block number on which the balances should be checked\n\n**Example**:\n```jsx\nimport { useNativeBalance } from \"react-moralis\";\n\nfunction NativeBalance() {\n  const { getBalances, data: balance, nativeToken, error, isLoading } = useNativeBalance({ chain : \"ropsten\" });\n\n  return <div>{balance.formatted}</div>;\n}\n```\n**Example return of balance** (Object)\n```jsx\n{\n  balance: '996869309795359886',\n  formatted: '0.9969 ROP'\n}\n```\n\n**Example return of nativeToken** (Object)\n```jsx\n{\n  name: 'Ropsten Ether',\n  symbol: 'ROP',\n  decimals: 18\n}\n```\n\n\n### `useNativeTransactions()` \n\nGets the transactions from the current user or specified address. Returns an object with the number of transactions  and the array of native transactions \n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain.\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `from_date` (optional): The date from where to get the transactions (any format that is accepted by momentjs). Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_date` (optional):  Get the transactions to this date (any format that is accepted by momentjs). Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `from_block` (optional): The minimum block number from where to get the transactions Provide the param 'from_block' or 'from_date' If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n- `to_block` (optional): The maximum block number from where to get the transactions. Provide the param 'to_block' or 'to_date' If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n- `offset` (optional): Offset.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNativeTransactions } from \"react-moralis\";\n\nconst { getNativeTransations, data, chainId, error, isLoading, isFetching } = useNativeTransactions();\n\nconst NativeTransactions = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNativeTransations({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"nonce\": \"326595425\",\n      \"transaction_index\": \"25\",\n      \"from_address\": \"0xd4a3BebD824189481FC45363602b83C9c7e9cbDf\",\n      \"to_address\": \"0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef\",\n      \"value\": \"650000000000000000\",\n      \"gas\": \"6721975\",\n      \"gas_price\": \"20000000000\",\n      \"input\": \"string\",\n      \"receipt_cumulative_gas_used\": \"1340925\",\n      \"receipt_gas_used\": \"1340925\",\n      \"receipt_contract_address\": \"0x1d6a4cf64b52f6c73f201839aded7379ce58059c\",\n      \"receipt_root\": \"string\",\n      \"receipt_status\": \"1\",\n      \"block_timestamp\": \"2021-04-02T10:07:54.000Z\",\n      \"block_number\": \"12526958\",\n      \"block_hash\": \"0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86\"\n    }\n  ]\n}\n```\n\n### `useNFTBalances()` \n\nGets all NFTs from the current user or address. Supports both ERC721 and ERC1155. Returns an object with the number of NFT objects and the array of NFT objects.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n\n**Example**\n```jsx\nimport { useNFTBalances } from \"react-moralis\";\n\nconst { getNFTBalances, data, error, isLoading, isFetching } = useNFTBalances();\n\nconst NFTBalances = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => getNFTBalances({ params: { chain: \"0x1\" } })}>Refetch NFTBalances</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"contract_type\": \"ERC721\",\n      \"owner_of\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"block_number\": \"88256\",\n      \"block_number_minted\": \"88256\",\n      \"token_uri\": \"string\",\n      \"metadata\": \"string\",\n      \"synced_at\": \"string\",\n      \"amount\": \"1\",\n      \"name\": \"CryptoKitties\",\n      \"symbol\": \"RARI\"\n    }\n  ]\n}\n```\n\n### `useNFTTransfers()` \n\nGets the NFT transfers. Returns an object with the number of NFT transfers and the array of NFT transfers.\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `offset` (optional): Offset.\n- `direction` (optional): The transfer direction. Available values : both, to, from . Default value : both.\n- `format` (optional): he format of the token id. Available values : decimal, hex. Default value : decimal.\n- `limit` (optional): Limit.\n\n**Example**\n```jsx\nimport { useNFTTransfers } from \"react-moralis\";\n\nconst { fetch, data, error, isLoading, isFetching } = useNFTTransfers();\n\nconst NFTTransfers = () => {\n  return (\n    <div>\n      {error && <>{JSON.stringify(error)}</>}\n      <button onClick={() => fetch({ params: { chain: \"0x1\" } })}>Refetch</button>\n      <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n};\n```\n\n**Example return** (Object)\n```json\n{\n  \"total\": 1,\n  \"page\": 0,\n  \"page_size\": 500,\n  \"result\": [\n    {\n      \"token_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"token_id\": \"15\",\n      \"from_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"to_address\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"amount\": \"1\",\n      \"contract_type\": \"ERC721\",\n      \"block_number\": \"88256\",\n      \"block_timestamp\": \"2021-06-04T16:00:15\",\n      \"block_hash\": \"string\",\n      \"transaction_hash\": \"0x057Ec652A4F150f7FF94f089A38008f49a0DF88e\",\n      \"transaction_type\": \"string\",\n      \"transaction_index\": \"string\",\n      \"log_index\": 0\n    }\n  ]\n}\n```\n\n### `useTokenPrice()` \n\nGets the price nominated in the native token and usd for a given token contract address\n\n**Options**:\n- `chain` (optional): The blockchain to get data from. Valid values are listed on the intro page in the Transactions and Balances section. Default value: current chain (if the chain is not supported it will use the Eth chain).\n- `address` (optional): A user address (i.e. 0x1a2b3x...). If specified, the user attached to the query is ignored and the address will be used instead.\n- `exchange` (optional): The factory name or address of the token exchange. Possible exchanges, for different chains are: ETH mainnet: `uniswap-v3`, `sushiswap`, `uniswap-v2`, BSC mainnet: `pancakeswap-v2`, `pancakeswap-v1`. Polygon mainnet: `quickswap`. *If no exchange is specified, all exchanges are checked (in the order as listed above) until a valid pool has been found. Note that this request can take more time. So specifying the exchange will result in faster responses most of the time.*\n- `to_block` (optional): Returns the price for a given blocknumber (historical price-data).\n\n**Example**\n```jsx\nimport { useTokenPrice } from \"react-moralis\";\n\nconst TokenPrice = () => {\n  const { fetchTokenPrice, data: formattedData, error, isLoading, isFetching } = useTokenPrice({ address: \"0x1f9840...1f984\", chain: \"eth\" });\n\n  return (\n    <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={() => fetchTokenPrice({ params: { address: \"0x6...361\",  chain: \"bsc\" } })}>Refetch</button>\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n**Example return** (Object)\n```json\n{\n  \"exchangeAddress\": \"0x1f98431c8ad98523631ae4a59f267346ea31f984\",\n  \"exchangeName\": \"Uniswap v3\",\n  \"formattedNative\": \"0.004695 ETH\",\n  \"formattedUsd\": \"$20.38\",\n  \"nativePrice\": {\n    \"decimals\": 18,\n    \"name\": \"Ether\",\n    \"symbol\": \"ETH\",\n    \"value\": \"4695118425598734\"\n  },\n  \"usdPrice\": 20.37791922835578\n}\n\n```\n\n### `useWeb3Contract()` \n\nYou can use the `useWeb3Contract` hook to execute on-chain functions. You need to provide the correct `abi` of the contract, the corresponding `contractAddress`, the `functionName` that you would like to execute, and any parameters (`params`) thet you need to send with the function.\n\n**Options**:\n- `address` : The contract address (i.e. 0x1a2b3x...).\n- `functionName` : The name of the contract's function that you want to call.\n- `abi` : The contract's abi. \n- `params` (optional): Any parameter you want to send with the function.\n\n*Example:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, runContractFunction, isFetching, isLoading } =\n    useWeb3Contract({\n      abi: usdcEthPoolAbi,\n      contractAddress: usdcEthPoolAddress,\n      functionName: \"observe\",\n      params: {\n        secondsAgos: [0, 10],\n      },\n    });\n\n  return (\n    <div>\n      {error && <ErrorMessage error={error} />}\n      <button onClick={() => runContractFunction()} disabled={isFetching}>\n        Fetch data\n      </button>\n      {data && <pre>{JSON.stringify(data)}</pre>}\n    </div>\n  );\n};\n```\n\n*Example with executing by fetch:*\n\n```jsx\nconst ShowUniswapObserveValues = () => {\n  const { data, error, runContractFunction, isFetching, isLoading } =\n    useWeb3Contract();\n\n  const options = {\n    abi: usdcEthPoolAbi,\n    contractAddress: usdcEthPoolAddress,\n    functionName: \"observe\",\n    params: {\n      secondsAgos: [0, 10],\n    },\n  };\n\n  return (\n    <div>\n      {error && <ErrorMessage error={error} />}\n      <button\n        onClick={() => runContractFunction({ params: options })}\n        disabled={isFetching}\n      >\n        Fetch data\n      </button>\n      {data && <pre>{JSON.stringify(data)}</pre>}\n    </div>\n  );\n};\n```\n\n## Dex Plugin Hooks\n\n### `useOneInchQuote()` \n\nHook for getting swap quote info.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Quote() {\n  const { getQuote, data, isFetching, isLoading, error } = useOneInchQuote({\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n  });\n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n### `useOneInchSwap()` \n\nHook for swap.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nfunction Swap() {\n  const { swap, data, isFetching, isLoading, error } = useOneInchSwap();\n  \n  const options = {\n    chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)\n    fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', // The token you want to swap\n    toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', // The token you want to receive\n    amount: 1000,\n    fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', // Your wallet address\n    slippage: 1,\n  }\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <button onClick={()=> swap(options)}>Swap</button>\n    </div>\n  );\n}\n```\n\n### `useOneInchTokens()` \n\nHook for get supported token list.\n\n**Example**:\n```jsx\nimport { useOneInchQuote } from \"react-moralis\";\n\nconst SupportedTokens = () => {\n  const { getSupportedTokens, data, isFetching, isLoading, error } = useOneInchTokens({ chain: 'bsc' });\n  \n  return (\n     <div>\n        {error && <>{JSON.stringify(error)}</>}\n        <pre>{JSON.stringify(data, null, 2)}</pre>\n    </div>\n  );\n}\n```\n\n## `Web3`\nIn order to use (non enabled) web3 functionalities, you can just use:\n```jsx\nconst { web3 } = useMoralis()\n```\n\n### Enable web3 via metamask\n\nIf you need features from an enabled web3 instance, then you need to enable web3 first. By default, metamask will be used to get a provider:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3()} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n### Enable web3 via Walletconnect\n\nOptionally, you  can specify to use walletconnect as a provider, to enable web3 via walletconnect:\n\n*Example:*\n\n```jsx\nconst EnableWeb3 = ({user, score}) => {\n  const { web3, enableWeb3, isWeb3Enabled, isWeb3EnableLoading, web3EnableError } = useMoralis()\n\n  if(isWeb3Enabled){\n    return null\n  }\n\n  return <div>\n    {web3EnableError && <ErrorMessage error={web3EnableError} />}\n    <button onClick={() => enableWeb3({provider: 'walletconnect'})} disabled={isWeb3EnableLoading}>Enable web3</button>\n  </div>\n}\n```\n\n## Utils\n\n### Resolve/Lookup ens names\nIf you want to resolve/lookup ENS names, then you can use `useEnsName` or `useEnsAddress`.\n\n#### `useEnsName`\nResolve the ENS name and lookup the address, avatar, email and url details (if they are set)\n\n*example:*\n```javascript\n  const {\n    address,\n    avatar,\n    email,\n    url,\n    isLoading,\n    error\n  } = useEnsName(\"ricmoo.eth\");\n\n```\n\n#### `useEnsAddress`\nLookup if an ENS name is registered for the address\n*example:*\n```javascript\n  const { name, isLoading, error } = useEnsAddress(\"0x5555763613a12D8F3e73be831DFf8598089d3dCa\");\n```\n\n\n## Components\nIf you want to support Moralis, you can use the `ByMoralis` component, to render our logo 🙏:\n\n*Example:*\n\n```jsx\nconst App = () => {\nimport { ByMoralis } from \"react-moralis\";\n\n  return (\n    <div>\n      <ByMoralis width={300} />\n      <ByMoralis width={300} variant=\"dark\" />\n      <ByMoralis width={300} variant=\"light\" />\n    </div>\n  )\n}\n```\n\nYou can specify the color scheme; `dark`, `light` or `colour`(default), the width (defaults to 250px) and a custom styling via the `style` prop.\n\n#  Handling responses\nThe easiest way to handle the responses of the different async methods (fetch, save etc.), is to read the data directly from the hook. The data will return `error`, `data` and `isLoading`/`isFetching`. These values can easily be used to (conditionally) render different parts of your app.\n\nFor other logic, you might want to listen directly for success/error responses. This is facilitated by passing one or more callback (`onComplete`, `onError` and/or `onSuccess`) to the fetch/save etc. functions:\n\n\n| Callback     | Description                                                                                      |\n| ------------ | ------------------------------------------------------------------------------------------------ |\n| `onSuccess`  | Fires when the request resolves successfully. If possible it is returned with the resolved data. |\n| `onError`    | Fires when the request returns an error. It will return the corresponding error.                 |\n| `onComplete` | Fires when a request finishes (regardless of a success/error response)                           |\n\n*Example:*\n\n```jsx\nconst { fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndNotify = () => {\n  fetch({ \n    onSuccess: () => notifyUser(user.get(\"objectId\")),\n    onError: (error) => showErrorToast(error)\n  });\n};\n```\n\n# Webpack v5 support\n\nYou may see the following error in your project:\n```jsx\nERROR in ../../node_modules/dotenv/lib/main.js 26:13-28\nModule not found: Error: Can't resolve 'path' in '../node_modules/dotenv/lib'\n\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\nThis is no longer the case. Verify if you need this module and configure a polyfill for it.\n```\n\nThere are a lot of breaking changes in Webpack v5. Set up your project to work with `moralis` and `react-moralis`:\n\n### configuring Webpack v5\n\nWe highly recommend you to use the stable `4.0.3` version of Webpack. If you want to use Moralis on your project with Webpack v5 you need to add the fallback to your `webpack.config.js` file:\n\n```jsx\nmodule.exports = {\n    resolve: {\n        fallback: {\n            assert: require.resolve('assert'),\n            crypto: require.resolve('crypto-browserify'),\n            http: require.resolve('stream-http'),\n            https: require.resolve('https-browserify'),\n            os: require.resolve('os-browserify/browser'),\n            stream: require.resolve('stream-browserify'),\n        },\n    },\n};\n```\n\n### create-react-app\n\nTo be able to work with `moralis` and `react-moralis` on the create-react-app project you need to use the `< 5` version of `react-scripts`:\n\n`npx create-react-app --scripts-version 4.0.3`\n\n# 😖 Error handling\n\nFor most hooks, we will resolve the error for you in an error variable. For example, the following function will not throw an error (initially or when you call `fetch` manually).\n\nIf you have a useCase where you do want to respond to an error directly you can provide `throwOnError` as an options parameter. For example:\n\n```jsx\nconst { data, error, isLoading, fetch } = useMoralisQuery(\"GameScore\");\n\nconst fetchAndUseError = async () => {\n  try {\n    await fetch({ throwOnError: true });\n  } catch (error) {\n    alert(\"You got an error\");\n  }\n};\n```\n\n# ⌨️ Typescript\n\nThis library offers first-class Typescript support.\n\n# ⚛️ React native\n\nIn order to use this library with react-native, you need to provide the `environment=\"native\"` property to the `MoralisProvider`. Also you need to provide the Moralis library from `moralis/react-native.js` like:\n\n```js\nimport Moralis from \"moralis-v1/react-native.js\"\n\nconst getMoralis = () => Moralis\n<MoralisProvider\n  appId={appId}\n  serverUrl={serverUrl}\n  environment=\"native\"\n  getMoralis={getMoralis}\n>\n  <App/>\n</MoralisProvider>\n```\n# 🧑‍💻 Development\n\nMake sure to have `node` and `yarn` installed.\n\n- Clone this repo\n- ```sh\n    cd react-moralis\n    yarn install\n  ```\n\nPlease follow the code guidelines before submitting a PR.\n\n- Make sure the code is clear and readable\n- Adhere to the style rules of Eslint, Prettier and Conventional Commit\n\n## Examples\n\nReact Boilerplate https://github.com/ethereum-boilerplate/ethereum-boilerplate\n\nReact Native Boilerplate https://github.com/ethereum-boilerplate/ethereum-react-native-boilerplate\n","readmeFilename":"README.md","author":{"name":"Erno Wever","email":"erno@ernowever.com"}}