{"_id":"@usedapp/core","_rev":"408-f37433385fda1bcfc08cf2c89185a89f","name":"@usedapp/core","dist-tags":{"latest":"1.2.16","dev":"1.2.16-dev.e0c8437"},"versions":{"0.1.0":{"name":"@usedapp/core","version":"0.1.0","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@types/styled-components":"^5.1.6","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","clean-webpack-plugin":"^3.0.0","eslint":"7.19.0","html-webpack-plugin":"^4.5.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-loader":"^8.0.11","ts-node":"^9.1.1","typescript":"^4.1.3","webpack":"^5.10.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","ethereum-waffle":"^3.2.2","react":"^17.0.1","react-dom":"^17.0.1","styled-components":"^5.2.1"},"scripts":{"start":"webpack serve --mode development","build":"tsc","test":"mocha -r jsdom-global/register","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src, test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src, test}/**/*.{ts,tsx}'"},"description":"Framework for creating Dapp on Ethereum with React. Easy. Secure. Testable. Extendable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-pjCEdMXsnxuDMW0mB4poDZ6jzMu8mTeSSgvbpsC4aMQtGFv7AME0GgmTd5bwLmmudJWDGTrZ1EuM/q4cz9CAoA==","shasum":"b0cb5aad731d19158a3a8bf59576e81d06bc43af","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.0.tgz","fileCount":211,"unpackedSize":363193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJYd4CRA9TVsSAnZWagAAOvIP/AuM/5E+kgmbjR+GJf7I\nXo5yjYw6dNvYwlhvT1HkBNrOqArWjixTAOSPbE229ggdFZDs4l9UGKAgigjt\n1Hbwliw6Dk/Yt26FWJeq8eXK3YDhMROlo+gkXbA99SW0TGsGYOhQXcJJUmEu\nSyWRjU6ZMHbn4RFhAMWs9ag8uMc4Simgmx0A3KVzqREu2eKtCZIHXTyYWFI1\nkb36KPo+9bD8XBn+NC3s1JTegXGpteh3FkDSlvRTx7wc9y5j/TWIeewbOhp1\nFRnq+Ajg/dDBt1HHwr+i9b9iqU5JeUgECi8oonBifxC6cQOV3qXefooDKSHB\nsTHOvZsQlubeLrOuAOfVFrpx5QckP7PI/1W0XkcQqII7/xiLUFasHl3NXr0H\nupFAVlvlfWZmmT1C90M4Fv4OeDF5MbpFtDI0MBp1qcRx8yPplEo/xuZqtpzE\n3i3V0NwoNm8Fsv2n61IWyqXAy2S3JrhI4I3AYwq9nO200xMnnBurJ2QvrWIB\nTdvd5iGzfYdpQ30xZG7r4lH4Pgny2abNNXU2P4QYJY4T1AsUHosr3hLXu2Nj\n8CuwSb4B2H4gy6XO7HO/2F0VSMIipPvfnByH+jUGAm2g1oXGyVw/UTn++iTQ\nHr5lcKSnFsjDIFUCcNIpdi+prjz6BL4UMLOrJYcUtThh9OoDeJnn3c2cFEBH\nxzJX\r\n=X/y0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNzwFtMKTP/KIlN60iAlycyJQZKZGj2a1dC01CK4Tk1gIgIq7wUw6sbgwC1nijswn3wXr3jHregsVI5UHzmr7WhCI="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.0_1613072247819_0.13382168655455917"},"_hasShrinkwrap":false},"0.1.1":{"name":"@usedapp/core","version":"0.1.1","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDapp.git"},"author":{"name":"Ethworks"},"license":"MIT","devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@types/styled-components":"^5.1.6","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","clean-webpack-plugin":"^3.0.0","eslint":"7.19.0","html-webpack-plugin":"^4.5.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-loader":"^8.0.11","ts-node":"^9.1.1","typescript":"^4.1.3","webpack":"^5.10.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","ethereum-waffle":"^3.2.2","react":"^17.0.1","react-dom":"^17.0.1","styled-components":"^5.2.1"},"scripts":{"start":"webpack serve --mode development","build":"tsc","test":"mocha -r jsdom-global/register","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src, test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src, test}/**/*.{ts,tsx}'"},"description":"Framework for Ethereum Dapps on React. Easy to learn for developer. Robust experience for user.  Secure. Testable. Extendable.","bugs":{"url":"https://github.com/EthWorks/useDapp/issues"},"homepage":"https://github.com/EthWorks/useDapp#readme","_id":"@usedapp/core@0.1.1","dist":{"shasum":"3082e3ed974883689c526624d04128289dca3d95","integrity":"sha512-boNgBphYpHwW9T4oanunO1gXuomRWvjGjXNwP/YZOcoOa88NtRB02icEiID6D1TuxpgKWpMBGTcQcF8fHjIdsQ==","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.1.tgz","fileCount":235,"unpackedSize":364804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKVH0CRA9TVsSAnZWagAAob0P/Rvk4W3dzy6KqJhZ5rWw\naVP4gqI9GWfk9cxSUTWOqaRJAcQeKZmjBpgHGHFjnrRNIi16zgwZ65L4rI6Z\nnu226IpdYP5hOv59AgcEWGNbWIz5umU1/SttQWLSSsmTddmLb6UqgnoKYU+6\n81kjGlUKhJtCyhlyiKqZC9WmKT2kpVMsAl8XmOM95SP9w/WMb2nk3eH++P5j\nCxtqAyjurU+f4JPfuU4LR3yPpJzuusJwGdFWF5dzi3LuLTEr3gEz31HlX57s\nLYU5D+Kv4xnHgUuOA9PpV9dIoVJh4TYOwS4dp9+j3OsTInu/rdsZEI22eGZI\n7DT004Es2yqkMFk4Svw1TKGgSPk7QdLpZKz+64eBT+GFKo9LYi4ai+Y+M4ei\nts96nJ+J6IWJm5VXeJGi/ahzT6tg+DbMxhw0djA+qwwyiZisTwmMAaUpicQK\nKcWK4Oi+Fw7/B/za297cxyZeuukvWeh1z5SCGtB04TEPXjSsQ9/YpmBsRp5J\nki+hCXReRVVXHqv54jbFvIUdAKb3XmcL793ykhVqcoXE4MtrsyNTC4PMmEQz\n3HxIzw5CZb/efUZIjL7ELRl3xFYo/67K+8BIOJ5ZhoNISXnIyWZ8eXZ1FsX2\nM9W0x1pLqqU0mnDtSQfHlwDgLxpGc8xT8H4D/Pp7cCcf8E7QgICA14oQAkkS\ny25p\r\n=xCIz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcJaLEuaZ2oe/bCNKRMXsiaxgcLJV0eurH7mJlWRWoNAiBMA/OgA78cmuCYAm1WO/VD8Tx20K0eDk21KX//Ib8mvA=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.1_1613320691987_0.10856919882033034"},"_hasShrinkwrap":false},"0.1.2":{"name":"@usedapp/core","version":"0.1.2","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","ethereum-waffle":"^3.2.2","react":"^17.0.1","react-dom":"^17.0.1"},"scripts":{"build":"tsc","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"Framework for Ethereum Dapps on React. Easy to learn for developer. Robust experience for user.  Secure. Testable. Extendable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"dist":{"integrity":"sha512-6v2JVALgSajz+g8xcvqyTqfDpgF6i069yQFcGk1Jlw/qsn6TGwzAa0+zglmN380TH03Alvzn3ZRNE9krAO/wYQ==","shasum":"e64e75e5601ac94c5aae04a17a59b4857adcedab","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.2.tgz","fileCount":201,"unpackedSize":355507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKjNjCRA9TVsSAnZWagAAvYcQAJQ9nOdy+L2/Vc6uEDQb\nqfWuWT98uQ2JVB9YaNx+Z1HxPM6ZBYZmJUOVwllsGv9bF4FuVBJXAm/+zxP2\n5Vr4SS/gAX4j88ncAukG2dkr39q5uuT1H7K1/YiJJ9rB+V9/8vsjtJ5h6Vi6\n9UYiky2R+6oJXD74kqwKCf65D+SrxZfyq43KSMF3wF5gIVpJeRYJCMmVKwum\n9HrUdiIoZFhJSR/OsxH9yHcCQ+y2nNGDLMnrwoM4hMcI+4w38uHdA8zvTEVl\na3ROtSiI8F5/IzRiDFc+6a+j1uCXOR2l2zxiwbNYFr11EeXijylpE2GJ0ZNJ\nCRuHgA+Y9DQUb54iV6LOQ/bAGQNo14PdLI2J+QEoWi1TcIF4TVvM3K7fsGpu\nJ4lB/22tx4FBTIa/+S9t0Vnj9dNJP9FbjZR/LdODhn3cRzJo7VfCDyLX9+iP\npgyTYho2ygAYn/Do9ONsrA1gmFkfqSK4aQRQZ11idSINlFfCak7sKMw1oXQG\nhG4p7L4qbbB0NPGn+kRQATm9Za833Mubfvddm9D8ixuBB+FmZ3d8c4ip8+oY\nf3qqkUJfJljgyb74C6TlacDK/jCPSu7Eydfu9LUqRrTAHJIcTtChLj8bg8gt\n7kEXBD6SeaH5hEUW5Xc8j/cNftewcYQR6+H4Yzr/HZ03OyIgW2e3mxX0pQUe\neETZ\r\n=8uI/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwe0NZTrGIdrzB379xWxk/aU2vS9r6bjnCl2FX6z/cdAiAhuq/i4PtmplT3nq5g/cP9vvFYnMrduj4hkR5Yu6mv/Q=="}]},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.2_1613378402791_0.09769824490235157"},"_hasShrinkwrap":false},"0.1.3":{"name":"@usedapp/core","version":"0.1.3","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","ethereum-waffle":"^3.2.2","react":"^17.0.1","react-dom":"^17.0.1"},"scripts":{"build":"tsc","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"Framework for Ethereum Dapps on React. Easy to learn for developer. Robust experience for user.  Secure. Testable. Extendable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.3","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-y1DCo+kwW82HtUHm3BCSASVt7PhCiFIrz4i7ZLyvAH9ftvq1uOMUorYhFBQ6gEC46g3mZJuURbYg51vklvgKOg==","shasum":"be0b236178615b081c18ca85ff04769691708b13","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.3.tgz","fileCount":145,"unpackedSize":203364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKkHWCRA9TVsSAnZWagAAhhoP/29XjKLlhz4FzV2pS4E2\n4YNU5v8bBl1Z38ZNdiFq0xe6UGji1bBcqojbTrKRO6xGZ3xS6+mTPAGjQAuh\nC1C9u9Xk+SLhUx9DZwdXzhepvaBJN3DYNpwgkGAfBumHY6zqWxRHnywCgmpY\nRx3AWUkyM4Ivd8gKiy0l2MWHjFkFyn8FG0M8jczUXq52DsTJwIB/jeKbomOq\nU09OLus/CR/IybdEdzQlJZjJ+sLOehCz3Oxktiyh+600SxUtPy+ibAk6Gvib\nSeLlKg2IIs1bOQz8XJfCr3Bk+zzyY6vGoZb5HzAngtDulJVcY1A5t4H0UIv1\nU9oTFIZF79vuTrOaNRtvC9mZejzcTU/+qDNey1kNJykHrCvwo6hfnWUlEPw+\ndNpLTgIteITTYUvYwrJCpyQh9WQJkQK9JdWSF1eG7jfEyCQVGEOAsVAsNsze\nTQhbzNGbHF4AKuxWhXMobyqe1tXRBhU0P7fPAr9tN0i0zWQyKuzLRli2hIDa\nJKi2DS9oJF5BgXGkyk8wxa3wtVKYilgCuSoiOozcJXA4hjY+gvZG+j+mT5XU\nMBODFrjzNUbMdyDQWr4mZjQXgiB3oTXIarXmo4c+kl/RRavlCWoiOdIrRC2O\nCZVRGWB3GMmALfiWwHLMdbWvtJ8ZFKFnMWMtio1hljf5scZPdUOSGTKmGccs\nkmEP\r\n=TiA2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqnSpaV19UOJQuHv7I9qpPhWgn/PCmtRFvkNCCMlXnVAiEA78ELolQ5GS5rWByMKhhgKJ5rCKNwGwJO607tFZiT4Do="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.3_1613382102308_0.0461899124303391"},"_hasShrinkwrap":false},"0.1.4":{"name":"@usedapp/core","version":"0.1.4","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2","react":"^17.0.1","react-dom":"^17.0.1"},"scripts":{"build":"tsc","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.4","_nodeVersion":"12.20.2","_npmVersion":"6.14.11","dist":{"integrity":"sha512-5SA1knMXDondu7+gsOQvyCNGClQuWEqL5wce96YcTsigVIKt54NC3cNGZKhTwi1W/epYjc6wR9H3H+MKPm8YqA==","shasum":"be3896ee4d7fc014ce586b399155cdd4c2303660","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.4.tgz","fileCount":180,"unpackedSize":249349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgONRMCRA9TVsSAnZWagAAu/4P/2H9hYUY1IZImXFTo5Z6\nr5dbzuC/olxop71/SFcrd+8b2L+nMuG/v6ZMRUBnG+mvueLOfdQ20Z7WNS8r\nSJN3CmPYAr77h/+IsgDxBzfvCu8SsaZcOFMgohb9/cjf6xjvyJwnw+VY4QzU\nAnrsK7WeHjhRUj7GjGAo37O58Pd2C8MLL/ssjKltNvrkpYLX4+ucXiZTZYUf\nf62hu7QdyG9eSxrJPn9RbRIn76zSesLtfTyejwHW7tvhPVs8rWiJdcYItgG1\n5Qr1/R4ue+4Ahuj2oMcGrlDnMDKmYkWdv4eVr+SkYjkQwY3rgV0DkInufDgd\ncA2cDdbpqrxYJqiciP/iMo+WPVh/T7gpAD35q7ADVrAbou7hj7JAq1SCtgrF\n8sYiIc3fSV5Sd/bRn02u7bmYZXR+Kl5JSvIHLOfJW88715t+DgLpkuq8FdTU\nFmc0riwiDovX7v1oisqKMiUPIV12BegCsW1Gm+GoDA/21nWq0N1sejENTtr7\nDcI5ROQU5TyHFdnkO1Ly7GiKoNo8hFNPZoL2WVc3mMT8XK0uf29Fp12xTgCB\nniB4mhz/HCUAQqtPSKILgMoy191ziXSsVZj0Q4uDkophV7Y8Izci3K6dwfiP\nZZywoA3cEt38kGn3Y512OuGkW334nOie4PALnzl9gvG+zEgOAfraNxIKAXtS\n6SgK\r\n=yYHK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiL0eylqbpVbkdTpIiPmeuxREG6izUvbeZgiEYqrFzsAIgK4A3HYoM5o+LHRkAQqlguSQMTM7o4vIMrRGhYCQwqqE="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.4_1614337099418_0.49710766829526665"},"_hasShrinkwrap":false},"0.1.5":{"name":"@usedapp/core","version":"0.1.5","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2","react":"^17.0.1","react-dom":"^17.0.1"},"scripts":{"build":"tsc","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.5","_nodeVersion":"12.20.2","_npmVersion":"6.14.11","dist":{"integrity":"sha512-8XR9za8oBxSvMtJ7rPs9nDk7TOU5CasUqewGczBNLElcQYH7jgO6YJlGUjeHvdBf3utXDZ8BPySopLExzS88mQ==","shasum":"36f42a30369969ebb9c7a34288ecb6398cd5e18c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.5.tgz","fileCount":180,"unpackedSize":250993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgONy2CRA9TVsSAnZWagAAuwsQAKF1zlMw5kR/mST9zp8E\nbT5L5IeBKAuaKYHvmB3Hv/4W3VU8y6xxG2dpH4sZt8ra/hfdCc3up8TzfUyk\nuZ7YyJAz2EbEmVVQcNUUWUHleh46cS6Zp4wJf37FZfRF1QdH851GFD7Q5yn0\nI11kRab/4Ygbtr+PUWNQYA1PwGQ0hUOnncb9HUltTQes91ze0KcfQi91tDu7\nAVTTCQPOteql62LUwTEV8+/dTF/5VJJvZAex/E3rbKHzSy6vub14PaCD4baR\nTpMxe7WBkIfUGbMG3wZ7N6f9DxTHEbuIEY4lo0nHoNBhgCKwSnIhrKxyk3gD\nc0f0jjlf9qNK7OxxdfYnyQZDYWSmND/d6lzlJzn668OvT+shg1tFHO3MyfbP\n+T6979MqDu30glcSG3t75IXvYN/FBf53tRhZJINbVJfNMTrnLLfgkTTeG/2m\ndmWD2yaNG5BPawPJ2yNvsNvaRy8sPNTQTx8bJHnoaNUgT49Cqz5ZJXVvhn7A\nmhMN9MRwUQeiel2OPG/17Sc8lFixDguUNknZtaywIUrCSrUTV65nDPrtWTYT\nG2D+0QzgPEDaobYNdV10Dt6HVov8x4vpzcLoa5QHEbnTF4rHpNgyD2jJZOZX\nSjPP2Cb4crxerlTg6t7Gik1KWL45kKFldy/bPAc4OMGmfyZPv0kaZ+HHXhF9\nWDOw\r\n=lHGy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9LuNc1POXehTTeyBcHwihCzl4CdmEykdgCxCPAL4Y1gIhAOPfL+0/rSEH3L2aydHhVxLqfyl5jm6J0pT2AadIRGgJ"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.5_1614339253676_0.11195515162052083"},"_hasShrinkwrap":false},"0.1.6":{"name":"@usedapp/core","version":"0.1.6","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.6","_nodeVersion":"12.20.2","_npmVersion":"6.14.11","dist":{"integrity":"sha512-CsUxuEyNFKz1URNK6368F4n1gfVUYy9SuBspZsbeSI8EzbiyBJ9xSiu5dedT7f172kvblku+FQgu5xzVUv/PHQ==","shasum":"bc5b4ee84927dac195bcf82949ec97b0f9828505","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.6.tgz","fileCount":200,"unpackedSize":273822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOPQWCRA9TVsSAnZWagAAg5IP/28xB3w0Q76TH1lFzG36\neJgj/ir5DxlnUTf9EsOb+GYua6rqXU7ynfSj7moNGE/ViEOAqJ4wWmvXTxlM\n6/EHuLU1m9YW5my4lUbB6aMqxOuQ183jS2W1SAwfYHTfeQWs0gkNAQcSQOJL\nn/Cr9S0H6re0NmT0A/lgNl9O7nsCW+lItUZu5O7eZn4fKheD+wRLjxxymB1b\npZCGtPLCSiNjt+Mpd9O2XW0e6uMXznVvHsXgAeOopU8jZIs+fvSa3Dytu2A3\nOl70f56870q0JwccoM9OL1LQeIGozK61XKXnpj2319LWt3ZqJKixHKNv6WAZ\n69P+IeYdX88AouvUGIKLa1gIyQd9SB6/s55qUQ1pfegGeSap5nJRWN+rcpHY\nX4ltGbyM6xFHYjKFHplNOQK2H6vBOgaqgSreEnSwgMIAYrg48cvBnZrY40s5\ncuEToqla2b6Dga9FQ1L0mDujF9XBMo1RGvCFrUUstVt4OHI8eqmQFyovPFBK\nBjmJs+G4sRwj4oYleVj5zGFVWt4AkNihusci9KSKZIZOtY60J+IlCoQ0dNeg\n4CtqaZlqHb9nvdyndaNoofg2+FNF+fkFg2jZXGKN3vj/sPlvDUummoTxXNBr\nHPqhUO7Hjfx+Y1moWghKU47hYbeBnbFN6mN5ICxvzZfTx5SqYcFkooSVtVfR\n+TSK\r\n=xvwk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhhauqb/KbM0pWig3FfPf290wP6MXjoqNY3ZsqbSlUOQIhAPhx88b/t3E6Sn38YZBMSexV6Aox+fK9x/0rMKlis4lC"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.6_1614345237646_0.5734720077213744"},"_hasShrinkwrap":false},"0.1.7":{"name":"@usedapp/core","version":"0.1.7","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.1.7","_nodeVersion":"12.20.2","_npmVersion":"6.14.11","dist":{"integrity":"sha512-y5ifZGy/PhiBlWTb8iYLxdJHZJs0J9NIFCmApuqLT8oS1IENohtKerpJCEAT6zeNFK862t4Jq+JVjdA9lm912g==","shasum":"4b32066a099204f22e9b3b975534fc7f4a6a78ad","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.1.7.tgz","fileCount":205,"unpackedSize":276449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOQLkCRA9TVsSAnZWagAAposP/0XQhiUBUBgQsLBP9xOo\n2XaOhSVRoxoBds+xy6X3p2etqfZiBVKPeFUkYFSAD9wN3ukDLE/HBwPhiSFG\nuw/DaZznZZU5iMW9mjr0et/AsRVyEFvVdQ7xo3j+So6Pyu0gAoEXniUfOV0U\nZg5iaWR/bX6HA6aUYKe6qqQR+juWwZABVN5sJPxf4Mgal2MNsUxoUAVurMPA\nGtab9NQevtXgywTQgUmrdfD15acZ3lI4OgABagH9b62lDdZmnVSN2VnHwxrR\niZSSNOQp2oU3xzL4dN8EpZiYF+BB/5MIHB8UmqRwvWN+x8/ZWQlfSwIZaWyx\nTlhrKyZ8Zj3SRRQYgxiIMyy2P3+buCqEElpFk3am1TYHO9ATeeBEsXdfRfRr\nue4u3UuB99XSF1cMdUuzA8KqkftSNrsE5LbpLHW8JItE8CpvqyxlVQxlrUA4\nhytp3Dub1X4KyyiZIo0s2IniNoZHqcala5v+cCFzVOzvFlmtqYzkmyI9XmKC\nSqEIposkZfT5DOXBgWk7uxXvpeTTdGPQfewK52BlZNHvy9yjCJ9JrJM+csgW\nmj4z3xf/3MFNiMEAGLHSfLnSXKwt5jbwfj5ZJq5negGWODobSGZNLn6/McYq\n+pvS8j2dfU2rFnsVsQ4UotsjVJuw+bj+46bFNWuVF01u4/GeyHp2pSQsdhQh\n0LTH\r\n=WUlC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8McaSKUuqYVSAmDYrReA8JAlgkh+KIVhtOmL/7NimrAIgZ0Y4BJMI8RFrWNvmZlopL2B/HE9k+Pvz0fDduRl8xi0="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.1.7_1614349028005_0.3968164126566329"},"_hasShrinkwrap":false},"0.2.0":{"name":"@usedapp/core","version":"0.2.0","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.2.0","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-Q7K/5own1/gV8Y+OhPE9PZycQy2Y9D2Md78U4PRM3TFPFNZnBkPSFet+B0Bi/a5kArRUp9XHnmkAG57I4N6kYw==","shasum":"dfa79381165510fc3cb33d3695ef688a285717db","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.2.0.tgz","fileCount":244,"unpackedSize":523229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQh7LCRA9TVsSAnZWagAA0BIP/1GzRyAl8WU5s+1iCMJz\nLz4/dCrxsJNPhb5xQ8I6KhKowD5X98z2LMI2Y2MWYPz3SD7qYXqtOFPTvE8K\nE7PHRLA3PUnCrGhakQHWGLCwrypui8/twwf++aVVdhy0B+c8iB6NJoH7q6Mp\npj+REWun6SvKTaueawTACgOOMS8tyl338JKXl3aBSvu65llANYnPxtDLqObz\nzf9uM2Caak9OuPEaxcmpg41XjRSojer5GjgkORZe6ybTi3Xwqa4oS82P1OOJ\n30HIidR0FbRDo0ttFCdvUF2fBKpYKAKwzpT8n5gERDK2JJ/NafpHwVK940qE\ntf6Y24wsGP+0IcCtIvwoUdtY6tuIduthWyjo1eOhIhOjJNMCC6BWOogLXP0Z\nr6OiYElme5pBLnpT8XeXlVH65LR1Hcqg1V9K8BVwsu2m4OIa2t3lo2ZXgd4+\nkaFcZjRmU9FbWDKRsXbGB4NRhmuvmxxSD2LlkK2xqmxu1Zzg44h8SCTcsmC1\nFSSF+wpy1dziYuWlXDmz2cYIqvzhp4YZELmuBlmnAto7nhV9sN0ntoUxqWAz\nWu539X1xvq2jq7jjJ1SrVPYS5i/uQvBAxFA7zqcoAdODWCUnXeZtEJPxfMCr\nssxxCFQfeUMTwpbURD/crzzkh2/hWNrWHfWHY8tEIQg5KwMqk+N8ydrUT5hW\nqtJ5\r\n=wl4S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTCFQvMoSHZG/Fx04+2Z/aXQjiLB088iuaa7lQsjlgUwIhAPr+cRAKwiuwqSvteUtShGLn1KDJ+92fscJbcAaygHpW"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.2.0_1614945994566_0.58695932391106"},"_hasShrinkwrap":false},"0.2.1":{"name":"@usedapp/core","version":"0.2.1","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.2.1","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-hY5nTWfUpwkhHxh8RO1C2xbtrJ0Hn1B72E7jjIzrXsgPwnQpDoSYvDBW58lXVhQqGIIWsahBlgW9JQHIZ9oRYA==","shasum":"b26ae4c98f5634e668b431c729a88a4fb6cbd282","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.2.1.tgz","fileCount":244,"unpackedSize":523303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTHFVCRA9TVsSAnZWagAAUycP/3Jutw2tRsza8jKrMsyR\nIw6wkkXoPkXvxEJ5D0iNxxvVI/ahMi9jcUHhHM3m3jLb0SqCgNvES1ZYp/bQ\nsO8r8CyZKpiXemeUG9FZxz/Db76yZYnn2TI+IL2Sf9jKEM1MxycreX/yzth9\nL9M+JSQBsVvVE/lL0r7kjH+4Zqt4pDrBWNNRrtvLm53wtkHpSeszW4xDeHe5\nXLQkmbLuNrNTvRDC1SGx1G36qmm5jLm61sMwnDBOCz3sG8On4hmW+GRTMTfl\nuGN59W/0yFH5L8s2sCBLSrGlUx98FTji3+6YhExSB9ulIEKBlCzy8L1YJXHE\nwvnlPO7jtonAIpreAeBwGmp8SH4+ZApHBmNngmuB6ux+Yv1LLZJ9UpQU8p/y\nWv1XQllVdZIbSjZnRSdzq0fX/RIhiWSB0A8lzXLQ7R/WPTm3qasWdW3DTa81\no5S03nu30WN83IqMSa9B70GdIFvDHu78Z61w15/IHNFhc6GsIxL66g1JR8yc\nOkyWHGB6gU2u6aM/tPLTLIwM1ZyqT+L6MVD4KJRahbkRcW3IF0MG+OYrMwAD\nBuOKQ5zl8zDooy6gVCIsTevYfMeefYRoc4F4kyZkr1IZGwCrmk7LNN3mvzCW\nMKeJWjLX/Mmz559+Y5mqD6Ewlz8rorCQdBQcbABIAsqY2PonOf4vUprzuQS2\nZja3\r\n=T93Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSgHbkAk6nTBdPiTBIu+RbQ+2rshqlUz4OxwrIHtPi9QIhAIAWcEbAJPUkCeGJB2bWkF8gDK+homnUQN0U+b15B7Q7"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.2.1_1615622485154_0.01803269053415879"},"_hasShrinkwrap":false},"0.2.2":{"name":"@usedapp/core","version":"0.2.2","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethereum-waffle":"^3.2.2"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.2.2","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-YUg4d4NcmBcG8bltDd7gsgx/4W0s+qp2/xHrvhTzTsKhTNNuo3wYtKh2PT24iGnwarZGo/onZ+Bpji5SNr9G0Q==","shasum":"665f0f011e5b5bf6f64f16523bee7a121b730ddd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.2.2.tgz","fileCount":259,"unpackedSize":551627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXKTUCRA9TVsSAnZWagAA15kP/ilUbqYbGqbln1YUzcYK\np1uF9iX8UDhErDuUu4gWxITK/6GADx5u9YSEyDcTOwqdktAFmzLQ97VZx1Ag\noxIiQM/rEWkZuSqt/SSm3SV8zXE1Y+6o3XkEzQPvYJyV+ZGnRiviBJJ3danh\nV9vsFiRehqYxWMtOs4aUmE9A5q3yQESa4/L7OapOZJo0ttqmKT3cKC0cv8YJ\nkSZGm8BMqCGemO4uQgJdEfDc5e7RcZ7h3AbDevHchKpU24pN99bYa5h1nDRZ\n7EGzYyn7QDIUVHyTLps5as6OsfEXbko/+fy5TH/9Dx2Uy6eVdAbU8Dfh6BWD\nBvacHBLMoHKyN9xxUtO22b9T8wiM4y1N+OUBQbp9ir+ak3Rvx2c5nxJ3GUVR\nQQ8idnFZZyKVK9RUblvwY/bYsDpnmYdGQTBIJeQK5qzfmEFnaHBzRdqBHHkL\nH4ZthK0u8pUnhAFKk8Lk2pJfD/Ykkpn6HI7tu54oXAuN/Y0UX1BUHN1HTtkY\nu2fYLw3OTl6CZWy+jOYfh4EiorlL0kzr3JHc120QbOVT2tGICkO5OBcZ+jrU\n+yWMYE0N2MWhwQjIA9onX19HHhFtbPOheZAVgUpEQgAJAzT9oeMiVz93F+Nc\nknSFArYp1eV92yx24hw6bElgwrMvsbipuzyvSkoaMIP6oCcDF3j73JsRUsoC\njN9/\r\n=2fs6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqL8T+zTYnt1dkJKRNVjFbD9fePs7hK3QgSbwVs/HgLAIhANYyFEkVuvWHW2ppxGdDr/evgy7OlB4Urlr8N7ZekCCZ"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.2.2_1616684244423_0.9754966917644836"},"_hasShrinkwrap":false},"0.3.0":{"name":"@usedapp/core","version":"0.3.0","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.0","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-0DsbUXR66N58zQrAj7cNdDoYeT5t6+OrAD+MlSkXbhy5U8Dw8cJQ+leW1IFD4NNsSZ7dLwBKc6+vHGukw0dAGw==","shasum":"594d8ab44c17a24637b863dbd992300eebdeb5d2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.0.tgz","fileCount":344,"unpackedSize":643279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZu6cCRA9TVsSAnZWagAA1joP/jJbhM8FxYD3UrNm3pGp\nh/TPWWfoflp3/KEnfgsnCnpPw/T7gjWkDt99Cqba7BcneCNN9Td29b0/VbSN\nIQ6R7UBYXU0UUcLzFZEzWwycshFfMKI+2U+DtyodKasAD3+KJy+s/1AtSxfs\n8SQU0hMTbxVII7M8pNn1DPSTIvBacFgXGTwzh1rR1q5s7jHbAQmv/bTXdlis\nu04XxxY8OvKnbNVLs4q3eSsiE2rOQpTAXuvzQeBnE/03pwg33VgL3CKVHtsV\niA2vF9mQifIO65tcJ3RIGfUy9s2tfr2u+9wCnqYvmByuY6+ULcnm7ZLHpHkY\nq/0laAdOy1+9ITqynHoYDlSF13JRW/red/Q4m5VV8SeKr1qdIkG8N1s4JVux\nwPKa/zIkXK/l4nsHkmUbXKbYj4+co3eHLazGL7MeegmL8jU03Y4USgljVphD\nGyQhXEjchf/mQPRF+j4XNVg4H4CFpiKBa2ZHSA9ntwtLijDD8DIPcXgcQGz4\ntOw9TjhGhuI27Qa4eApbiwdp+53a0AQqgoGCfVojJBUbMg7joeth5iqU8CQQ\nUN1O1xi/8lbHG6uV6/D1NBHiziBi91UNIo3XQowLRQO7vAjxiySbYDKx80KY\ndF5jRPWYF9xR6G3Qbw/si0UpMaprfQ5+wO+ltkZ3D3EsVPNDN1KDQGGnMw5X\n9KnT\r\n=Br41\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfPlGDv6SQngsMdRvpRSbCMG8bqeRphSYMOxySljh+4QIhAMkBokodKGtdwAohAcQypebRWD5SA/Zdqljfh3T1Usw5"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.0_1617358492401_0.09172689915382493"},"_hasShrinkwrap":false},"0.3.1":{"name":"@usedapp/core","version":"0.3.1","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@ethersproject/providers":"^5.0.17","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.1","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-OK1v/Z+jT/NUTKXI917aCs2ChwZIwxaW1vkIIJgFl+ZPcCe0tGfS3pr/swYP+AJVRIWywx15IBoHhmNwqhHclQ==","shasum":"9ba7a287cd61a6f01338dd5b973e860b9898571a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.1.tgz","fileCount":344,"unpackedSize":643348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ4IsCRA9TVsSAnZWagAAiaMP/2fJNpgLU8Hwu1+VrFSU\nro9AO1MqC9Bx0m0PBrvFe1pJcV3pjnyUqEG1mEKye6OOXkloJFNgDFR/34lq\n2HyaZ7dqckEu3Icpqi4oW1yrj2Jk5MYVoMmQp0m78SHLaL1pcOhCRScCJKXO\nhEgH4/PbHJ0FAa+AQno5bmmFeu1T4/9OP78w2Kt97O7VbUgujpayBUB2b5kx\nFLuD2TYwbGW079s7PjSDvPOv92le/nUWdbBHPrIMWsI4fVaZATHQ6XBy0V2y\nJALuN25USIUVK7u3d8kMGMlXdE1WzkAKW43dBC4X8IleT+pZyu7XlY03o7Wt\nb4gQT1UDWJcNBpyC/XYXkNjYvUw6sYTAdII3FnxPgSyCTCjMOHcc9NsEXTr9\ns4Y8XP4/6km3KTyhr0feOpNIFlhGaN51COYXxXBsrmtWiv2lPferWW08VU1x\niR5TrqDuNRHJBgYVyFA3emo2LuEUyVhqCezKM3kkBf5voGGN3m2UxhBokDeu\nSXKqWnzlfRuqGaCSUyo1Kjd56zvW3jckD7OgUu24AyC816SC5bqYADQlVNFc\nOuQqDgjPw1yhbtSNT5/dn16rDkFC8l43J45I4isQ2MWUL5HZsi4v4bwjMC6G\nka0gXK4vgpPq4EHo1WTMFxDdViRiQLvpVb4zLN+UH+1Z/OyC6rH/F3s45CH+\naYAI\r\n=Uuki\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDggLLaiGWjgtOQa8wTxZHb3AHvNRKczpDOX/2q6m+kPwIgR7sWwS3swu1HLlMvR0+pKdMICSXug+WPiPpduQJZAtw="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.1_1617396268069_0.7056312404945073"},"_hasShrinkwrap":false},"0.3.2":{"name":"@usedapp/core","version":"0.3.2","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@ethersproject/providers":"^5.0.17","@ethersproject/units":"^5.1.0","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.2","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-9TW9OcrbORyLQ0pR73sqvRKpzFpMo+3sAxAff5+Vk1mU9eU28tEECRXeVt9dTxiRWmEWt1VXPeMuCP11X7E8dw==","shasum":"2b087afd60bc30eb6625d0375732cfd90abd664b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.2.tgz","fileCount":344,"unpackedSize":651048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaChmCRA9TVsSAnZWagAAzP8QAJBtzSr6QYq5DgN1auhi\ndTB2VXPokL391KpPXXB19m+94EnHUDsC+Zw0hq3/oxadlthT4g5CcHw3LMDX\nTXZyW1Rhp6i1zpTdFL5lKTDC1lbWKWPrSb5dvyu8gAs82s83mcFDc+hz8mPo\nek+nSf/hRvx2XcdbdL/7WTX7cCwsMsX2F8gcMCPfN6h65HvBwAmiQiIgNDqZ\naNwWrbWqL3vSzvUsuQzo57JPEh6EN01JdIMCLI1eqBJoFXkY8YZh3NbNtE+6\nfdE89AMmc/uwt54YS+hzyDsxD0dwUnU/AMNXA8YMqeVSEa5l6kxScJKHvG//\nbEMW/L3durWyCkPxr237b9qK7cHlClwKmoD/legR4ok+8CLZDUQqFZ6isw/C\nuL8A8S4Ibt03bqxfNXElXw1AOnEzjzYOhggZF0yivKsmcl/MU2wm6w6wsKHI\nuTuXGtIsL/LEWb1GvSNGoS0D2dvCAXB9YgG8hvNEBp5EdsBhPe+1Y9wfKfDQ\nUcFmtgqFbXnwiqctX0lDYP5WS4vO/G+6OzB0MlvJwttauqcyFiVmmqD7jZaz\n8yCRNZLjKhjv3sMzNOJ0Xt/puTww7rQSlda5mKr8NNRe6+j9Oml66W60c9xt\nr2IS1sOSVbnkJL9W0qU4QKCqppDltT/Y/nMjEHmhuPqdhw4ydPgkJrxEtV18\nkwAG\r\n=3DlU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHYq6oRT53aEFM62VMU1YQKUY18NZLhppc/wvtIQeA5QIhALcv06OLIOmGUKZta3t50zxdnTkQDdPq6mhG9AbU6B2z"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.2_1617438821853_0.026668667253245237"},"_hasShrinkwrap":false},"0.3.3":{"name":"@usedapp/core","version":"0.3.3","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@ethersproject/providers":"^5.0.17","@ethersproject/units":"^5.1.0","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.3","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-6I1uScfJmg9x8PPBvHNZzCrJ9a4QUjVvgsMKYIymOn8Z+EuQ3BD9U2gqGN2sPOPa/D1lGc9XSqMFbsS4ic6w0A==","shasum":"af54eb78bbce8a454e00690241cf9371b3cb9540","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.3.tgz","fileCount":344,"unpackedSize":651463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaEeACRA9TVsSAnZWagAAP5MP+wV9xoVmFHsh2Bso9bUq\nnmgh9RXw6RmImnZzryMK2qzXWyVd4FWm7tiWGm2gj73/LSK1YQvjkSIW0SJ+\ni0jIi3q6QS+BQkRH7Mm/YOvZp5sY/zEG6rN3oc1N1Dghz4kfznM7PPJC3oJY\nhMHp+6Xw3fHy6TXjMw/mzLcqa/0pwSqyGcetaoVtQzfBS0SOf7p8QMQP8ywc\nexQubO+Mwx8LO25xkXVPYzEOOV5h6xJGdKdHAeGq8k/YJrdnPneVRWncc+4A\nwDnIh9RJxrTznm5p8BsNG81xCyivdf3Kix85YeN1EIJvkrzLDO+GHNl49TWl\n5YU3FerO1WIznIptTyM3tuUstQrAg3l72gjqccYT0cNxcBcUGFFNq5SJgLTe\nsp06wOGgYztbBMCv/hKcaBAGbIS8riAvrMzuPTnHbePuiMBfcMSmGGiGj7fH\njhfksMGDhtAfVkE5XfaX0DPMaP9mU1P/jrfsaNrUd6MbekDB+pCx7D5JO6iE\nh7z/7vVqLuVLmLvGX9LgGKHjpwGuA2ent0f3fI+v+z2VrPGhB9kkbVLwB1xU\ndSWsMXy6YiDLic+sEOT0YUA/fTTMjmbcyAKmSrS5XY3a8/i9+3XAXg3Q5AbH\nJiBMnt/JQvzH1ae2eqTZWnuC/KwHT8CXTHHCm4pSGTCG38UbYcK+HNgaE+Q9\nscYs\r\n=Iy86\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBteTusRYJmHm8S2fK0vvvZp+UcEvmy0TsxNpn+eY2KnAiBABGEqYCNZ1zZEsBHv1G+bTeu/CFnPV66Vql8dh7x9FA=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.3_1617446783706_0.4528246461044694"},"_hasShrinkwrap":false},"0.3.4":{"name":"@usedapp/core","version":"0.3.4","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@ethersproject/providers":"^5.0.17","@ethersproject/units":"^5.1.0","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.4","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-/7NiEAGrdywMSEJn+e2lXxlRHxhkmP7z5LBv6OyCE5MhdgOqFESKv6a5EGcg363VBfSmx8ADjx18jEb3tpOajg==","shasum":"028421f828c7c159e00538c1131f37bd30dd81ba","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.4.tgz","fileCount":354,"unpackedSize":666835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaK9MCRA9TVsSAnZWagAAbYMP/0gWviRv00zgcbGjUkRf\ntWyRHRoPM8C5bq9upRR50q8qtQTKNClECSbGuejsD6YKziagoq0qoR1k78fc\nsOceSufZXKj9U9CKlnZ8mpmg8R03Z4eMQC4XpARKpY3AGVt20VhjDofS6j54\nvkX27OeXnSppbdjLO5975eF8huXMruBbXDw85T9VW4BDSN3lmGaphI1vVOr2\nHMf69SMzCPKrLJP0cnJnyw9C9A0bRn8tEEIFL9Tmc3E/DOt57c39lWvqKGbA\nlcC9QVh3cUzmCHABGxRzKpJzV7l7RDlzfGXc3oImsblmEkqYYu+B1eSopGVP\n0ashYNyOt6D1G8Fxo19iSNgXdA723piyyA+0Dxd8JodImGa8NiVqFZH6XfGc\n9K7KNdftui2wojbInDqIlQirMkfXsufoZ4dTqNdtQpUP9WD+d75wWmAFFwQq\nMC4heTg34Cykk0e8709YjYR6UH+ULr0wilYQ/EOoN2lVOc/WTPTfx1br+S7w\nBy7tSVyP3cdp3VHps2asdFMIrgw1YAq5ayEIWiJe55HpwZY4l2qhi24YcSlq\n0vnVY5dm+Y5Ru7pRCyQTYWgGVWO4KLYA43ji6CCZJL+4croQbH/cnhVbpkCd\nxjDyEIWVZjX0SLjL4LTjmDsnMbUQsTvZrZBwrWC53MV3wituKggz+qTC6UgP\nfo3y\r\n=zmJr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICvoD0FIKHX1i0oarOGPIo2OU+/o+wAKga82vEyexHIKAiAQBlehAwXiOxR5+GtwfFnCv56U14EawsQ0nayNLEWbHw=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.4_1617473355743_0.8948391082509544"},"_hasShrinkwrap":false},"0.3.5":{"name":"@usedapp/core","version":"0.3.5","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@ethersproject/abi":"^5.0.12","@ethersproject/bignumber":"^5.0.14","@ethersproject/contracts":"^5.0.10","@ethersproject/providers":"^5.0.17","@ethersproject/units":"^5.1.0","@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.5","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-LCjsTVoy7AH8Wb2mBDF849TFNc2jRc6JVsTQtwJmriV4gAr9T2+3XDBq7G0xk8c36idaZNwUGMjbPcakvX+vsw==","shasum":"99a5341623a78280405a6c47d3d877a937c7c6ea","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.5.tgz","fileCount":354,"unpackedSize":666897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbahRCRA9TVsSAnZWagAApIUP/0gpouYQqj2RIyLGVhe2\nSbj2O/4AEGKtRr1yeW3V4BSetl8LLlHBx2j4RiS3LAK0epsL2W2ztxejbP/i\nqL07OaLeC4CCxt6utAjjmDUUrJaYyytKNkb0ILcTfSYZQy9pEeil1Dd+sWiQ\n/dzav8i4Q4rme3HizlSoA6paqykVHBIk3+7/tHgcSAB6gxwTGTdSdrYVjHq1\nrRXxKJ3biQRh5AYXGuf8YxCpF/YcQlURWksX27mrw0yz2Tlo57tGQxaZ64Bx\nSS0MSCJ86pMyY/wQU6NPsBYDGGYDrjIF3klo8klP6Bx3rHRHoiFDkt29xO0f\nQXzlLTECkXNCu+IJ3z+voPQeHWLbZLQZIGIXx/g9bKtomqYs6D3cqbVS4LcR\nBiM80RnSoNmBqWoQuQBO4AtY897EANwnxic9NBk4G/qSbnok/UjPxTY1SfyM\nUOFUImiPBFNGj6nCBeTqW8zbs9fwCkXcTJd92AuIsTnGYiJ40+ULI8VC91nz\noRaBtXStTEbs4C/zA5Ch6I0kcLrxOxalptxfzpWF4H4OsHbDV97a6+BeoUiX\nll8NxOHlEM5NBfbT2Cy30IEMeFK5Je0p1vYSFr/9/JB1rJl4cUbf7U0D3YD8\nKg9CwJDYuclcm+x436nwLEWD4rxhS97BjrvL24wRAlmeGys8iOe93+Z5GAGD\nKyDg\r\n=x3RR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChgf6ytaCkcXpfUxviIy+YuFr/DzJ5zWo1EbBFYulQawIgMcD1IXSuhohROKA+kvPct9/zOgAHTEEaW00B2MU4AQs="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.5_1617799248633_0.5866143001398225"},"_hasShrinkwrap":false},"0.3.6":{"name":"@usedapp/core","version":"0.3.6","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethers":"5.0.32"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.6","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-3irDeMKMPgjvlvwGcc3BSWg6dt1CtbKMLGSLn44DVkLbWIFatbtOtTqtqp9Ma9CkZUaEAJLzn0Gh89r/QTug8Q==","shasum":"03ba4b24eee30453d50d04ccd93f532b23c38537","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.6.tgz","fileCount":354,"unpackedSize":705256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbuJlCRA9TVsSAnZWagAAeKAP/irDzydfuWa7KPW36lEz\now6G/y4WvJvopRRw3EZeh72BLRas3v1dfL38l4OXb4lNOPk26JtOrMuPYQ9/\nxo8KJjNN6I7TzswcVvumDkgzGO55rziD8JHJeAqCVrXQWYNqDDkDEFBsuu7l\nIbwNI2Qy8z7PgiIf9BiwHXRG4SdPqCq2IXJgPTMT1VRpN0RNl/3zcsbcsSob\nWUwBiMyidN1dDO0pndQl7hPpuDs5OJGonRVQJkFZIwnYW3iJW7Gao+S/oW/e\nibZn2i1XjUNroOfoyyAyUS7Lfi6iGZ4/aI6npNd8We8Jym10mhhRd5ra4DUM\nygvrJpPhbZRuiY+Dr0pkW1v+ZXsk252FsjJINRBNDbG6EraC3YgvEFajwjEL\njqcL6kJn20VmzcR1zWDIdOjuE2/tZUiKXRjk65bvHeg+OfBiZd1JegZEAmBL\nz5mXYlf9m02LzeA45O03sD7bm5ahurUAwvMnshS57U7lHYBYBxh04elS+7a6\nHVTs0okchky+WWkAgdIBeNjPaWC2SDttuJ5+LeH67HpM7Sr+ZfB2IJzxe+Hh\n+9RwgFEq03eZ2Ih1IV9UiSiV7RFfSXn+UFwrBSWL2wSkamsBrbQ7t7SfASEI\nGT0ZMhNmKie4Oy/E9XAv7ceuUE/UtwNsReQ+SmcWXcfK9uxzZ8Hr5WOAcx13\nS4UC\r\n=6Zk+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCbJcO4LsJPs/NWW0mG/IAJfrlTyyksmkmZQjfEXtpkAiEA7EEor9e4OxX8r8hMB1ogDQv1YedEOkRf7WdpjkH5Oqc="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.6_1617879652414_0.08993570363710468"},"_hasShrinkwrap":false},"0.3.7":{"name":"@usedapp/core","version":"0.3.7","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethers":"5.0.32"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.7","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-dwKBLDu0FSEJENJKCd0HRilTX6Nr2Pmkk3lHMRzAdowdZx1+HstSLsSylJFcOXTfCxC3oZUe5VjcA1Ib87hx0Q==","shasum":"2b71a675760caf3d7901f9a2a758ff2e83328c09","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.7.tgz","fileCount":354,"unpackedSize":705205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcAeJCRA9TVsSAnZWagAANbkP/iNc6GwVM9Orx6AXopdU\nB69BWa3417gN9NdydbRbz+GWVHJkom+bBt5w1equEMAwFl60AgPOhm9Z4hdx\nxFRaST7SDI2/nnJbcb+6IbmFf8NvTIilYJ6jPYCOp2sOj7bePgQWRZaxpRYn\nkZDay/Gl2kvRd6imMH7EBRRQQbdmqi1abCRPB/ZZ7DMz3Fy4uTaX5k460kpv\nALByRRtmJuheu1zKXrilKJSgO/83SuaEUWhDqFXge+B0V6SODsrAii5R5NyY\nInjI47hggwMvIM2Ome/4jqLBBi8tdBWS0gkaHgVQElOpBq1sAaGJNVgcoAdo\nhgBDNYkeDNiCKwmjohJGPud8bIlGyRhB6/xELdkfa2BPYVm/FMHvyrJdCtzV\nV5+2JRksSN8HoDTl9/Ts4eG21+Mb8AD03Ao+ZaO993UwVF8l8eFq1vu8Iqel\nK2GsRJohdL562WNthUhvTwfftEipKKRHYe6+oUhSPBNhGD3xPcyjNbDxP42U\n40XG3pHcDOQv+XFbASODtGPSmvEPLFZ6iuXDHENUAMKajmbUVA2HMAOFaKYz\nWskkn7+Q2zhtzL0LjK1bSY9yU5Z88b7UIWzKNv2Ty8BAr1ZlGwnt/mVVjATW\nCxwN9uixQUHz2+QSExVdPJjXT582RVedPwgv8l0H5vM+BVp6TzNFbVM+CJhE\nyqQA\r\n=VeU1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGoIb2/CB8M+oKGV6xhxZ/D7+DHedl5QXTmLq5bXfZVuAiATucT5OlG26+X96GyO5A/SvNpAmSFBtWT1q0O67YzKkQ=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.7_1617954696883_0.28602050003788415"},"_hasShrinkwrap":false},"0.3.9":{"name":"@usedapp/core","version":"0.3.9","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethers":"5.0.32","nanoid":"^3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.9","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-2kwbosXaovaCY01iJFNPaAQK6i/x+IzX/XzgRZzggZif1CfgKHr0KWjC1pLI1OUZfph6LhbzyGhmNjkAZqeoDA==","shasum":"3815a049597641100a7abdd5db6c24e505134716","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.9.tgz","fileCount":354,"unpackedSize":706247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcZA0CRA9TVsSAnZWagAAokoP/32IfuQa8RI4N7wHFOkM\nTLVZEpGAuck90WFpPH94l+/XDz+RLo9lnESNGiU2yumLpcq0UYifLBA+js4l\nvMmndViRp2osllEqYnS/3RXihgbOy/dzo1B4jb2eeUhw2qZvnq77oX0WQF5f\nRV6nNrMe2BbHurVfIvhTPpshDGy4f9b7eFbR8b/8LBpxGvpah19UNcaUti7l\nFn7G5B50ZNNoQ56O2bo42aeVakY0UlLRkd99+lBeSYHlz/iOp7VptQs8ILSW\n9rjtWuET9rWWNUvc9R61JXKeNMwPOJLofyySi3qtIuW3FxqOMUHQJi9aYfj3\nk0gxyyuvRrUXe+qegZZlXN3eKtx7zilO/fv3Sw+vnEkjMVMn4HL+c3g8QMWS\nIIilDVqEb04Q/j1zPFrzqftVkwQhmrw0YjF9m8Urux7oaZYNcpUJ3cb9BmA4\n4xQOLRV1T65oExz4nOk1wf3vlfcFg/waT9CXTLqGiaEgBaupSvOGQS2btV4c\nW9iCETGQ6ikuGVHzKxG4xOYjp+CPE+ipJChAHcRHhq8cYmPp8jGoWg2wbapg\nvodTiSCeS88yAqpHbhyKOYrOLZthIgKaf2c2V0SBSENY7wwL5EoRZ3roJIOz\n5zXrbtFDpnYV+2rwkpj/hm3bwHF43dtX5/MihhmOglqLdWzwfKfAiSyJw/sS\nV7VY\r\n=zdwh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAom/QVB2BRooRq24NZBwKDl/Q/Tmy3wiU0gTW8qv2HqAiEAt9+lXf9sBf7+XWW+vaRRIpL6X/fn/V+hT2BsBLws2Dw="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.9_1618055219938_0.4671077552776053"},"_hasShrinkwrap":false},"0.3.10":{"name":"@usedapp/core","version":"0.3.10","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"^17.0.0","@web3-react/core":"^6.1.1","@web3-react/injected-connector":"^6.0.7","@web3-react/network-connector":"^6.1.5","ethers":"5.0.32","nanoid":"^3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.10","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-ZCAL4Sa14RLOtSuN8GFn3/0f8IDcth2TjrSs5ygaoKX8OMmlRurOy6cUNEajlxsl11vbel5AhQ1cYcRHEIxHcg==","shasum":"f3a3d7277c5a6418ae94fe009f901c26a52ac57c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.10.tgz","fileCount":354,"unpackedSize":706692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgc0CGCRA9TVsSAnZWagAAjMEP/0wqp2O4jP89MAXUDncT\n7JQsfwMa/xnngVh/Jjg1aRCxiZoPKXvgD79Z2SSrpM8IidsGI5ypKVsevWHb\nClf4dvK8jldE0QcXa+VAsZu/tEMs96wuUZ36h58ESC+NblbbEJnxxG0Y7GsU\n/XTFoP4CkqtVZOSixXaO7+wokLbsA7sEyoxYO3DnRXAU9K/1vpN7qRnMpcoB\ng72vwhbyowLWZJ09MICKrFBjhS9ZhRlFRtYRmG1Tvf32lPxTNzv/mGyj/1Ai\nM2Su0OMA9xyZw6+gKRDl8VHvdbEnbhu0BQzsrk4OS1U4o0YAJsNXW4ra6yOQ\nFyGLkd6nq4aJCFof7Qf8/jtiPVp2YAOHRumATqy2+qC65NRVLbFgMZxWYJ8g\nxWsB6jDdmbWAgQY17/wm/GYTwUvlLddbrAus+SBbxr25L8axhWMo54EHqvhE\nFyuodtJ/aTA7yOp10uXA6JNbcHTg0nFqMlEBi0bzsiriydYYpxjGg0uFoGAN\noyzrDTNM9345DGjh+gcR4bggQ2BYRzuXWcpxqtu87FdVvVd5Rl1cklng8akv\nusE4eit1nBnRvBNTvms8ObD9Eu4w0pbG95buyK4D2EyRoIHtzA54d0WF9gaV\nRzn563dxsk/GL41eBXKzkH7Vee7aHDvJOJa78Z5PwUUuJXhDvOKvd7Kk192e\nH/b4\r\n=ROrH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDzto9QOsmzI37LJ8Wiwe8YLenPnc6Dp2AkSyInOgsaQAiAakoaYllhjijAz44AqtfwFINej+cDWrFdPAYHfNe1jxQ=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.10_1618165893282_0.931241600201979"},"_hasShrinkwrap":false},"0.3.11":{"name":"@usedapp/core","version":"0.3.11","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.0.32","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.11","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-zgVgfbvQiulSkFZaQL+egFaogaKXfDFCg4GAPQBwAJtaE3IaoDfUokKH++pmhD/eJTdo5Or6sHVk9SNdedDU2g==","shasum":"81108d1bc8b6deab676e26bf711727b504bbf804","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.11.tgz","fileCount":354,"unpackedSize":706764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdBKUCRA9TVsSAnZWagAAFtUQAJLLw1lHnWCZ9S3VAFxl\nTqdorpK5IVZ8Iwox3naqOe11aFGOa3djr0AZFTVnwWZgvXDASJzvWRjKiMWY\n0gVd8D/4svx8mZ6FjxzzyQuvSlQ0bZ0f7Gf1N7tOBsuKzf2IkGF5NVIJTURS\n1zNnIlvi89ueTMXOk4a1cwdk+PopKjztRkeac3KLgnCTnLXr98MBNylZ0/IF\n87mofvMhovSuiOFG4urFgPLzM5zH+Za6bNB/Um52DbvLrYfFx2QNVKrQe5Du\nEfUH8jXmbPsRkVEqt4gcoWfyNdh+toYDX2/i+tDkq9rGgcZ/Zri3yZeEa6Gk\nlHnVlKc8s+XXD0AI3krSAuXexoQvd3lK9q1xwxp8B3VIwDwySUNM2nzSm6Az\n3T+de499ev6OhEhEN3holiEMHjt08jppN/MKmSlEPZLjpFYhx/9U2vrj8TNA\nWkO9Tb2nVphMKEXbJiKaHyle9jPgtPIj6ySvy3/jAruI9Nmgv3baV8lUzQew\njfZEdog46rHoVMzNHa/ra+z4w/URl6W2jjH3sbX2vhJiiO5vfwmi8Oia+1kG\nUAQ8ra/lLT/PxPJxRPVW6043ZNzXyCpTXxh6+ePPzA6zA0cnJ0AQywHosx+f\nTscU63gicvmbgVAhpD7Hbyu8Ib7oodp5C1lduXj1xrOpZh1GPleNx5ZESUaV\nEq1J\r\n=lHAM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuZAWcSheOOUWKhIvzmTWK6rEsKDk3qefhAx6iDEoLEwIhAKRCTo2LGk4csWjDMkX2gjndvLta12LDSRq0DCP7yK6d"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.11_1618219668126_0.06224595013905909"},"_hasShrinkwrap":false},"0.3.12":{"name":"@usedapp/core","version":"0.3.12","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.0.32","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.12","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-146ns+AqseQMpuqCM1XA1cdEwAfABvpn+HyG43zp4hWEDIX2VJf0/bJg82d0FGbInrHxwEyEOltW5WqDEETnxQ==","shasum":"b34e56bb686016062bd8e0607fea7c52f5ade2d8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.12.tgz","fileCount":354,"unpackedSize":708120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdr8eCRA9TVsSAnZWagAAZhsP/iiR36fRl63QlirLBnhs\nSy9kiKPLhsGniED+AJnGkdvOrvjh+lXsGnF7j0tPfkQy/8gcbc58G/PCu3Ix\nwTB7x7VmTFHf8nuNRj9Pj3YSYrVkK61mQ/6Ncr0fzkYI/LHmi2V3sL+DTW3x\njSFumPKKIps2eiFRJphI7M/agoBX+lZSas31hejpD6n23duH8Gg4cCHeyg+B\nU8Qt8toshUUpqLp8IVCDaDlvlOgB7KeslYl/49QGdpD4e4XzCzm9VgUqHb5R\nzDxtyyJgs2jTe1lUOyZrBIqQcvESyxM6g3DL4U9lug1d/xfwJRxk8hKmm+HG\nhDG2fU1L3v/9RC256aXk2cIWykchCXaFbjpN1n1ppT2sUwe52HDfAWfDnaVl\nW+Yx045IoKElNnO6bMXBHCcVPvUXVqDdl6VfAm9Vb2YzLYw7Tym9TRA0WGwp\nmkMfo2/WQP4EGzXMB/d5r/chTGFJvCGhoAkiIgevwRn681V02kdQVBpPfR7G\nlw+WfJs+X8v8P1lx1bIbdbsho/KCwUIbqrBURASD+QXCow2hDFj+S/4sWCuv\n3+dxz3HHmdeGp2iBjMq0k5rjf+wJhmdTqp8r4gQL2ZZsD/7i9hJ7eWGJKsG5\nHnZg7FPWZ3Q8gn6NE7vgJ6FRzdsz8IDhJgC5KcAu3Q5dtimEH+x27qXAOMXK\nAsyP\r\n=DVON\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyKJt+b79Hr2WsKP2N10vgmc95TW+XcWLOq7sueUo2ygIgac3y9r120sBED+TDzKBLVi3WY4aRI1Y9pBdifI8z/oY="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.12_1618394909576_0.715961259009795"},"_hasShrinkwrap":false},"0.3.13":{"name":"@usedapp/core","version":"0.3.13","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.0.32","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.13","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Kwq0lvMlTYvaKCyfTHwwDyBYS8uCY5kdFvmsMmMpvlwzZ41aFa2qRZuPSml12sB+Oc3SDkWbj66H5DWFVOoPcw==","shasum":"9be82513a606be5018fda7f5d0c4019aebb990a9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.13.tgz","fileCount":359,"unpackedSize":719831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdtpoCRA9TVsSAnZWagAAfyIP/1/o2guPdPiVyvWs/Ujj\nxJ2nzJkGjnbg6MfXvesMwY8t63oDWwzirx7asJnHHesUeO/K6IcpAqQ+BlBJ\nbPEhORAcQecMm5wCslxIxrGo/e6xP3CGArKiXeHWk5QRkTs0Oc04jnsJ0dXo\n/MQcNtoMQ15Wy5M7q8ORis9cshWuJiNEDMGJN+fxEKxHOrUbJ79dKh8qB7lw\nZqWoyVoC4IDs0BR56XzGfvtB+L0PynMxOkUQaFooH0nndBN820AGywiB7CKy\n1ZfTIIhRNVIdpZw+NwMSnARm59YmhqBGe0B0jVU8Eu/R10YBeU0fSKOqJic7\n99L6WTvdk4OoVO7pVOvkVeE5t4XyNVznxZhmE4xOaJvAABWOue5MoBgEVRt5\npwkCe/F6JdHrBBwx+A9nH5Etr9rtBgAkjCRpYX4S6E//Q/gabQ1qrgC0O2Q/\njXyLlkMbT7MU7Hri68k2XU8MXBad1WCwURXidO/3vrOgUC9cQLPqpwlQm5em\nM4RLWdYSYODGtYbFsAcIqtXYLY31Z6y+Fy60g36gUrTyni97m/+in8Yg+x8m\nzkjLCZchbBhJbdNMjIK0nI83M3zJvMsqiIZdBFOztbOkDaXgJn/vToK3wgKr\n3MM6/sQ96hyLGjy0+oeslXJVtRP8BBNU3FDY7I+DdxSiHnKyDXD953bqf3yc\nkf1D\r\n=oEeB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5dLFGllBA3wB5k1qVuS94V1cPAi6fPJN7IXRE6qPrBgIhAIVsTPAsJvFgCfXHv5XOMs20NstrQFC/+v3hZx14sG0y"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.13_1618401896154_0.08864080904895633"},"_hasShrinkwrap":false},"0.3.14":{"name":"@usedapp/core","version":"0.3.14","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.0.32","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.14","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-J8bE2YNG0TODWOG29z09BWPbdt7TxpJa+rL0eUEq2VKdIz2qtaA6WjOd31GaRFNejD+rcXMpTCzn1I9ZL9Gc3g==","shasum":"0cc3238dd7c73037e83618008ba011e4ce20f100","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.14.tgz","fileCount":359,"unpackedSize":719918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd+bGCRA9TVsSAnZWagAA4qAP/16N04yNCHoo+71g7jK/\naxAr6fcf+a6ZYa2yE68VjRvtNGuyaZYcy+iChAW6AYPjVgr/rCTioBHLyV7Q\nrPtup4+9O9RIM6Y0s/QUf9271uQPgzfFDcadz42g77WAu94w0vzptyuK3GGG\nvtxlR3g8EirEhmatg/jkuzccnFk9z5Nb1+kY2/uWmdJXbSPHfthWQ3PafrFv\n0fApIpd1WkDOB+BqtXrwQGLmGLel/PjAHZBaGWpa9p+lC6WOX8ChYgGwC0V3\n92YrC11pmPyYRoc/fxKw4uPfJ+FPyvDWr41zdUSD4YL5ILVZOyIzANNAqNYO\n3viuhUo1FigRi1iEmsY6DQmGKaT3byg/jA0/vMn3FqTPyoDefjV2bnYcFcpz\nfJvahAqCah4KQh+RJs857NxqfMLtXTt3noFTGsucYhVkc9bvGIgQEHmEB0Wn\nakVm7731m93yQtjpigDyghVhsXp9S4at5DdV0+wF+Q9bMcdF76ARwRYJ3Oyd\n8snKsh5LGNC4Y08PVK9HA4M6L2S2K2EtG9yYnj4xelRckzVTjGD6NNAdv7k/\n54/D36LKF873sZ64u5y3Db9jq2D2KpeouLmtyrpMNFtcqmL1xt/NHm1YWqZp\nIuyQJ9oHMC2ML5oxOw4k1MuUZi/TqLeJJL8f00QtkoV1gYtmnFzXJs9wcol3\n8QPC\r\n=FDXU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTKHLVeq3/YO8FWWObWms7jwT2W5N6K8Fe3UsLtK9xVAiEAnWh4AJhk48Szge9THmD9u2k7/PZfr7ujhGmfqHkhEuw="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.14_1618470597709_0.3853163445525256"},"_hasShrinkwrap":false},"0.3.15":{"name":"@usedapp/core","version":"0.3.15","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.0.32","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"tsc","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.15","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-OGUZWhNEeCNrOy0r7Dj+U/zgUBNFgqSw6j+sEMyj+7GX68DBtlouxYRT2IDfqoSyMpPU8wzdYYf89RlP1gaFJw==","shasum":"c10cfa4f1cc7aa35916917d5200876807720c48d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.15.tgz","fileCount":359,"unpackedSize":721044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeU1uCRA9TVsSAnZWagAAAv4P/1DAPotIzAHEUwJooVTs\nVd9HGhYGP+nOR7JRwpN7YY7ePcpm9QIY6h5Xgy+UGgOfU79juKjtLKyijOR9\nduGcqbStfNBuzdzFsiSieF5hA3PEahhJLhypt18hz89CgLP17t/neAFwyEX/\nVZch+aaN4Ut/XMxQjMiRrYRj9W0egP5O9lg0SAQw0wBqpTtASXj2L9KekhEh\nqfCFn2Mxri8u9m+OZr9zsdj/sWLgjNehFz1PmmLQkpW6pPINO3M5Xkf3DHaT\nkfdMuq8xoVCn8ZZWqPWuYpkXyOFynwJ/VhR0ljR05WD1FicLD2z5Yxg+MRnY\nNh9zlG4IyxA3LCCfqylBr8MbOeu4+oi9uGVRPFUHKxLY3WdgVc+kx9+259bF\nSF8b2Lf6ZijC4B3ZDbrSDKJqs0fPO0e1kjVCMpoggep08/HWy3slmU6nHlY4\n4Uu9ftENYLOcJ3p0sb9dyW+vjvWz8n6nCb5I42h6K2FLzln3rCD2FgFFRtGt\n1GAtnIuFkwJJDil91S73aVx2bqJU9BwhuyVgXlmYJylpYQzkNXGvVvnpxLFQ\nKS8EMWcjiMKn2zd3anfRq8viN3DSIBcrKRtbI6UVWpkKgtpwk2JPIflBU500\nvgPTo4X+D++O20pGnm7oQ16gIfjeGYq2gzG7HDRL2b5GAzo3hio5jxdzMRu8\nuyrQ\r\n=+7+h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzg46LIDYGnOjrScLHSmfJxjVLUI/agLB7Z6Y0yVwmEAiEAq/COGbFpjZ9CKLoDMJnVA31OScxk2VOi0J95wWPnJH4="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.15_1618562414204_0.2503016623361525"},"_hasShrinkwrap":false},"0.3.16":{"name":"@usedapp/core","version":"0.3.16","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.0.32","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.16","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-SoHSz2YCMVThqCwOm7x1Lw6I6f2wh+g3a0HmhrZD7cPCF+QiR1WeRVzVasXNLJrgB8r552MA1ubUqvkbe8oGJA==","shasum":"eaa0bf03f1307242edddf08b75b1ae26ae076e96","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.16.tgz","fileCount":639,"unpackedSize":1273973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkrVmCRA9TVsSAnZWagAAxdwP/i3SO2XP5xwJWFOW+Vgj\ntVPeBHr7bfEnRsO4qniowWTPtWGhqrPeJNfZAO9eN99bcAbbk/OLWpBK/BjD\n1Jvyppg3mRpaz8lcBAsMR8a4hkzeozc6lCayRdSj5/iFq1dlk1w5xDsx8CUv\nPhL5qW36tU3wqx0A5QULkQQJsGvVjlWIK6+HnmS2W36I0uwqUsDUsKG1BRab\narM76vhY7o9+SzJ7Nh7do46SeJ/jqm7EFIqH+Vtg33b4o1CuyoIjpGV7KMmU\nl3xwovyo0UFxbVvj7a0jkh+q95wf8bo1z+krUjh4ccwXjKplJKuuv6Dej2u1\nAXNfLphTmnHLG/3G7wdeu+qebznGNuR77XYzNEbcDPRuzqFT0OeJgGVtszgs\nC9BCbMUyvR6DKYOlcmDJedFuFFjGb6L1rdavE3yaBHxSwKBzKlkKJEM8NnLf\nRc4zOhkWb5/41U+XOKBlwApAzOFAhAS48rqYngle5QdNjICMCDnj1it5Uoxl\nYQ+b66zWsxJofQTb2+L3ltM7PlPEwZEnoauDHQaVHSTWaTMeFpX1BsBypDND\nUqOcq5ggProfE41Nck4hZNljkhPL5fhUUqniGNvb7lrqThdWVU6dDWQ0jTc+\n+lbcnE3xRHrhrjf88XQXO+KCDRWEd4NnBNIIb1VbeRbC+F0MuElM6f6hlVHi\niDd5\r\n=eQ4J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUoHMHGFttSjOqpH23uf4CHB1yofoyW0/PiXNbGC2jxAIhAOjqrF+IOx8CIMMnBE+qN5+Azv3njB9gLw5okHpIn44s"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.16_1620227430484_0.018704864697106638"},"_hasShrinkwrap":false},"0.3.17":{"name":"@usedapp/core","version":"0.3.17","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.1.4","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.17","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-oYWKe7dtEBdWwOaDC1baMdj7Zqyk078KyvjFqVsFszEU8Z1cu0f0ioHgMH6IAgI6seeHOvyg/euKKcHz4zfOAg==","shasum":"c1ca5a5899fa32e956675a8eb5600edf861452ec","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.17.tgz","fileCount":648,"unpackedSize":1227333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmpRGCRA9TVsSAnZWagAAPcgQAI6fU+LEF2nB8YUCh1gk\ndVufBeA4kDMliz3QUvsK08KbeRtsZ9ylooIwKBTEQ6fnPZ8eDwnIvGMZ4VEN\nK1N+p0kRPmln+I8art/A6qn8H8ZQ/II6+0I9jM35z2GMgettS+GMKnUvlu48\nVtFEvNZJCpb1/lCcd2sQFSlibYcxT79cizzWfeHVKDu1NgSJ8C9fqPWoBL5J\n7b0iza6XUzWUlfZJSXnpo5HbgWtqjHONBPjwvGXDhxx157PBDPZQtSvJ72m+\nd22tGuZVyJ1tPbNEwyF5h7EnJ6j+s8xYoQWB3MzT2Y6q8PMpMekdxS2muaLS\na+D39v7X+fRywE5C+3AQrgJYicvWlIKk2RXbhwruERq3zqvg0UKTv/xBryon\nebEYPX+DvnmO7GM0lv8yFSaBEBYi337AnjqIBKJ6XvlZooIi1IQLCTWVPSvB\nFAW2JFiVHj7zbwgRc7oVE0Ec+7OnTWAbG1wbZeH8hQu6Z1Udlzemn6nkFYmp\nnCUdPXBsCbqBck2XmcTA0EG0gOwB8zh/sRoOFeinLNBNgWOesOQFTUPdiIFU\n1ZBlcUWLhIA72nsP+iVx8bU1uM8CudXYDdKS7rR1/iehZWf7r2R/62K7MJvu\nXSzRe4tJ15cKj+TNEQlAW3xMDpOguFOGjP7eRuo5WYbRd5uK2omfRfNC73M+\ne0vv\r\n=Pa2w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCm+Pg17DcUJAlu1WzoQgkXA3KBGoM4+SZB9FtncSnzmQIgFy4T5Pzydr9VE+L3GuHX2iZH4w3bHwSYIDCVQNJrwW4="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.17_1620743238436_0.39664403447760366"},"_hasShrinkwrap":false},"0.3.18":{"name":"@usedapp/core","version":"0.3.18","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/dapp-framework.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.1.4","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/dapp-framework/issues"},"homepage":"https://github.com/EthWorks/dapp-framework#readme","_id":"@usedapp/core@0.3.18","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-fqcygpYvYhSkmBhvcBh0nKd4Q1lJv1lPcWml527eVMOia9Mq/WHRMydDT3SyMRYkYhWHzCburBdxq53ggltNow==","shasum":"16c75a98dae4ce367c5697129baeffd3ed175ebd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.18.tgz","fileCount":666,"unpackedSize":1237356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoXJ0CRA9TVsSAnZWagAAk68P/0vXesSf2hnAnSITU8VC\niEnExHu6FahbKZs61ULbu5OFG0A8aJj8SPCI1dRI7CqoUllTWRZ68T1Q1Gvr\nwp29r7ll0RRkc4wmh8SFpHtXrdHESN8mi1ckhFu6Pqat2SFkPR3HWmX5FZuw\nbkFQu2GigLaQWRKf28M2xkQ3zXJEv7f/7+lnUk2lRCUfnof1B5YAW5ArP4FY\nFqSh3546+P0DMoEhiCUB5wr0lETJI0X5wUaAv2FoCw5PXGU94Ps7iEocMY8Q\nK79zNpp/04BOnBcnI8sSnuY9YHUbtf1S+icmQ39pE2jgWqm6D0n/LrsS/roK\nMj3+MUte7BHpX0pbL0mu5y2cqo3TEfhBayjzn1Ahmknsu/Ym6vFxLFML3/d2\nLGHuC9IwPSHsVGR/tTy+yG2MujLNQiHwRgGgdsv1KRM9miN8Y7lbxHPPwAEx\n2JXT5xIWTH2DJUm85dVGoTx0ipqquHAXx8gaEQ1W1fV3ow0R3E5TFNuJPQwE\nWF23SSnZ8NUtnp8U2Cr8hPYw/c0pfYF7GjpysH6QOT2gfBQSjLVmKE0Vjnq6\nF6p76BqQJh5FI4kn2oxLamL512mECtSoarrCcptJjggtdrX4d8TQNo4knwNp\n02e/m1iyPLH4es9QpJVVtRDcLVzlyVLgbjfvpWzWc5vbS74CuakEty18hkUH\n1yFv\r\n=Q9KT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2EUG6xSFVrkiPbFDB81hre/MOZdw73Vx989KlKeH5XAiEA2uGz9Tp6ESP2joExQyZv6+vwsUjnecBUnARFUKWF0Xo="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.18_1621193332096_0.7199512259128873"},"_hasShrinkwrap":false},"0.3.19":{"name":"@usedapp/core","version":"0.3.19","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.1.4","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.3.19","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-uQXLlMcvMCMXsM1Xazqz+TODu00crDSE/UDnZ53vnoJjpqCDJUVKW/UOtHdBtq7+GdpJfGaC9LScTt9egalPPQ==","shasum":"d74e2cea4224a1955e4377d0bff1a17ddd3782b0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.19.tgz","fileCount":693,"unpackedSize":1259627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoiUoCRA9TVsSAnZWagAAKkIP/A+ST5TOU9dx9LNei8Vg\nINmz+eFcrAFjMCfDmXvNUVG7eKVlLyxuEKSmdE3X7Y7TttmXr0eR6hnjsDS2\nv8ZwjUUS/R6Q5pA57NQ9FJHNtbautbx9udWuFefHtG2NFirBTA9pvF3l8dEf\nw9T1Oca9s4DUqDhMQxR3Eblj1JILbKN5xy41kx2u2VvA3Gwd+z7L9GzyJ9FB\n+F8HKJh5KaUFwluDJra2ylnAsl7jbGt5NkpZCvu4/ub2LZ2KxJxzUiP0YUQu\nPsngp9GWePcJd5N7JGRoBQt7T/N/D9ugHCBqTLYKFy0cCcdCnTQ2PsaleXPM\nb5bQXS0NnXq6Mo8TBlf/fmfUsDvw+IGX03OjN+t2T3mXM494GukkQN/3M15C\njcJSJiyrdohvCHLXxposKurh68eGiLYLrHx0hS5jPQhe7jvUeKEo0zdoT6Qi\nI0TkSMe6jqW/2Hzva1/X3zjZDy/rXPInAxpJ8kSU1/kUtITngf6eByRex0+f\nP+HbJ2ATwmBlO4cxVUDExl9gUX4MJea4x7eHf9hEQ5qm0YopOh2pWsOuFd38\nwMPgdS+gnvE77KiJhMNLyJZJJidyIwRFREymvKKLmZpc4BSCSv+1IhvNIkV7\nQ1tzcFbO6ufML8p9w9D/aEB7MuOttJcpjeoIhak11ZJQr5tZ3Zl8rD3JmUrL\nx5y8\r\n=p3L2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFlJaq/q/d1pU6VkJFEI8vQoOUxoaKXsEQcZR9UDvsh6AiA3uCgdWVfgi1xtzpXm2R1yKt3wY/+HBn3OQo8K4E4MlQ=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.19_1621239079528_0.1923677665568686"},"_hasShrinkwrap":false},"0.3.20":{"name":"@usedapp/core","version":"0.3.20","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.1.4","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.3.20","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-6vedEZOZYt/yaHe5LkrUIfrzTnOsy9Ra6D4bLCBXRBsjS5n4/20I2GPlsBdIgqgt8/JfRQBTUWuyJQ4E8cTnzw==","shasum":"7745b3aff6ea698ac8d920473a3e9f9c50190c1b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.20.tgz","fileCount":693,"unpackedSize":1266628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrKI5CRA9TVsSAnZWagAArXYQAJzllVIJXqHcWU/hfNyi\nDb+iguCBu+SfauEOo1K+pYSjzto18TLO7vMwHFPSVh3eFr1enrbjkGuPBIJ8\nSOPlpmo/Ss1LXPfNYle9PHULL/75W7ekfcBaE2CW3FpRaJ1Q8Yy2omDoB6Ou\ntgelwk8XEGL9t51Q332QIeS8sJeCzaqwIRZsmNxfP+I+6XI6oX7Vyg9RQfgw\nARh6rF7YPQapz+iS6wZ09t1U6IzmPYASq7iiPnO+EzMH36k6IfgcfvUEK57W\nGHv7XcrK2AD0z3e1BvLL4GATOtK6DBBGp+GGbkD/jsu4RGSt3TSIW2xiKoIk\nHz1IzvbKBwtVS/obxxY+P+4vrCiawQo4Pix3j/GCCZ0jLm/1MYFLE5rvVCv4\nQ6yTYASY9iCyCcsSonWyxmnAFwSnrNWdPk6EIoHuDLmilZRdxEjOL7EaXA/I\n4W5L8w4VDTu+HWU/rgYdu/oPVTIXxn954YtaGBQciWUNnz9+LKPLEid7gXHT\n0aYuRHd1z2v89duNdrKSsWVHb6U1OJwYWSyEhLJd4fmXTjwEjI2PsSVqm6gi\nsP38NyBr9pY7f0UKQkAN8nF64s4GyRDzsaMdIdifIfCMrP/4j7wGfKTjrwq+\nC8SJeUOFLIX76RiMmLxQT7mVtY0u5q9V7bIB+HHkf4yIxLxe8nPdv6vYz8XJ\nzDkp\r\n=1Rl8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsxQtWZWNvHaJSlyHYDcl91RuqbVawR7ZHSEhuollGsgIhAIGl7Nk/2YdRwkhoFBhRfgAkFlMYV3SSu+wakVar9hI+"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.20_1621926457069_0.47239391961250554"},"_hasShrinkwrap":false},"0.3.22":{"name":"@usedapp/core","version":"0.3.22","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.2.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.3.22","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-KAAQo7sfh5ZzcJgDbbsqDNDQJ6MIw2KF2at2dYXRQB6LcenQjkkIo4YC8vvLPssu5nPAMMrFzfLs8qjRP9dmFQ==","shasum":"c3fa23c885ef2bd61c00e48a8faeac886fcebeaf","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.22.tgz","fileCount":711,"unpackedSize":1337779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsSd+CRA9TVsSAnZWagAA4AMP+QFlYPHk7FEwNYTtt8Fc\nY4XiUP8CN8BP5YWZSeyLATQMVyef2Q/ehGL/gdHzKRBmnL6pPoTWQifEXf8k\ncDUWhyCTI6r5scLlnsjwEFGxfjcxBPD4hwuATxiJyOpwqku8SzkbDpCb8DmI\nXTxeREkSZow8zKwUP4EgDdSC4Hqff2fXELiyZmdDRZrgpO+PWqEWoLChcy9c\nqtLEmTBfWQpn2q8s/xNIK+zP/8OUt3g8F0wDfWAmn1R/FvaSGaUauOstM21B\nUCaJWnHRCZ8aiMvhWpn/kXjqC+t+bEgE0b7REfnYpkrPO/E+nahjVJU6J0aL\nfgkPdbgTEFEo63wzbo6FJlEUwwMaM5jkSBDmceDZNB2yQQC+wffkjH2z9j6z\nYDLl/3ufZs4a8s1p2tdmLhIsgOukVQIpFIGSFJpZz4LurcjddX1ZYQ8ZxmLX\nxZp8dxYx62Wpmb27s1+dyT1CUrqIvQSPZkdnSPmql8Hx+Af2aXMcS647LVgk\n/jSN8+t5iaFB3ZBsryb3CDAt7Y51w38gpACTbgQwOyjPlxo8a9t0D55fhm3n\n+UipqmOusQQTGhyKNSo03AvBJv0dWRn9uaJsAWb3aue6IynhV+NlETezU+d/\nwxsLSF+mTqiw5QMXd6E6lKGbiLJ3gWCsi6xwYgNaz101JPBC1VQ2srNQTTaL\nSlwW\r\n=JKjf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyccllI+l68qMjCbiOHqHx8o5hCoBkwzZh/zK0VPhGbgIgfcsq0rh/r/yejZK//YlUDV/3aB0iXNNgINfOwcmWVwA="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.22_1622222717824_0.8859661428358785"},"_hasShrinkwrap":false},"0.3.23":{"name":"@usedapp/core","version":"0.3.23","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.2.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.3.23","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-f8VWIkVC+tcOJdGeygMSLiFYicTljExwPcNvgn21NpJJfw2GXR+SFKqmwp+ifkOefDbRyQTrm4SOggOv6Izn3w==","shasum":"16e7eb562f94cf4ff10e23c5c4cca36f179362f4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.23.tgz","fileCount":711,"unpackedSize":1346555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsgSnCRA9TVsSAnZWagAAL8MP/2dC2pKVefVdILOxNytX\n4snq2dz7YgSCo82eDkUgGadb/1vdWvaFs9ipEwXnsBDFZrv3FRzWVct+Zfkt\nu6+WItma4Rm2wp5VHwFZGijgMyn+W9S/F8JQGqh/Gdbrey6Ug1duhB/nSJ9E\n7JiHM3VsPoULu1vTPI9ismaQErkcY9DIv2GKaIHujgKgnoROHWyPICqaS3Yz\n6oO2Rlhj3/N+JNlq/DTd7oB2xgwHYAAYxEzEgjoLdH0CS6bYRoVPfzWf5bPm\nqL3E0aDJ3VVvQ7Nzjm9Z44OIe6OWyuA7hjy26/E4PuTRi1XDiLlg6T4R7qtp\ntuPWySvBORMas/O13OgUj5Dsr/ou70k26WAD6L3MSfnbAra5a7wCDqzkeRJl\nsKXPE8rWwDeGjM8ZFBjJuBvB+Pl/C7rFtHv7PnkdNVCpOKb0/lYS3jPJEIgb\nFIQhSVmlcZUtGhE7NJEWN5CpEuOiBQXEJHfb8TELZOp8ModyVtEdVGMjahi4\nCddti4dtozHyQyCyn31EBWAhAqDU+PBvlLdyDjl2vvSJxuuEbRAav+2i+7fg\n/zdmihwGGa+8mdOKP9782ZiNtLmbbdVIrppKFaaalqurorQDXHFp6tcZyfpP\n+JXE0CG0N1lUJ2UFPl9SgEKg3X13LgSQ89iXc6W8C1tSeLh7ywXN/6VfJpJp\nzoeC\r\n=EGQn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGKT+p51VmU1gzepJStr+TsPhn9cY3kStpiUKjAbuBRxAiAsYvzCGe/rPkFt71DwITit6SptaEq4bf3fu6d+kBo+ZQ=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.23_1622279335378_0.9390832906978404"},"_hasShrinkwrap":false},"0.3.24":{"name":"@usedapp/core","version":"0.3.24","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.2.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.3.24","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-v1KXQphjmmY+gdkRxf3PZVVTIfjUyERNa2HB5g0zh63pSSYC3aQV3nCkYcrRgNSnXMvtN4pc1dsAmHPMVd/4HA==","shasum":"621d72d96563488941311b5bed40be3db3e16797","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.3.24.tgz","fileCount":711,"unpackedSize":1346701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtK1wCRA9TVsSAnZWagAAxlcP/iZ366J1uMvcbTQg9lmR\nqXhHWaOcGRkh/vSB9zRrSqByKBuHls1jJQfZur5qh0cWcMEemeLwGEz0xBfV\nKW2IeZ1MxozaJzQCjCWgPTT2vJ4iBydQFQZj0NibOBygxXNnIBpQ41Q8n4zp\nqkRdnn4Ac3UhsTB6EmtsX+cV0FVefTNnENLkKvaZubTIFuO5x/E/1y4mlxsa\naSJlP+JFEspExjJAsAzD5klckrEN7bgJjzNRAftEOGIIFIghyPeV7RzaLTVl\n3oz1uaIE2zV3epzHD9w/xkVGf13fCfo9YVKAn696bn30ONq0hVRyMuVgtsDU\nxRADRMJaDcUnGh0jG8CrDd3mcZMJoBWkwt45XVBmJrztMshjGrI3lFM6I7hw\nloFJGDZyVqV8jsu15+kvFyDRX+49QOT4gR5ftyKGC9QrXLs/4LkPkHjo1S/i\nyNje3aI5IWK8iaM+p44iOPXlQfQ4KBaHis+7So4fXsSFSgRUmdjoBcFSaQkL\n3t00sAgojsOdMM79+1RNyZ5ZdUItE6dkqvo1Ehv46ufVdb7RLcEt/iVPdVc4\n+VH7uMh0gUBt0FystI8jAozXaLzJ+K73i28K50vkt+IWROJyJR2u8Aewgy0V\nSlNOAslWeU5pWAVTUg/C4KPd1bR20GELIdUhQ/VB00L3CY6SeB7Zht6GrWbB\nBN5b\r\n=ph0q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuHvKPK/avkzAgyVOhFNsyatH0hcmDjtkHxMUF9hD69gIgA9CdFsjApa4zVmm1l0W1Tnyl+v/JWh1qjE3Lf6LeISw="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.3.24_1622453615411_0.7941325765658203"},"_hasShrinkwrap":false},"0.4.0":{"name":"@usedapp/core","version":"0.4.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.2.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.0","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-L3wci3Rj6bMoBraQPps3Pof9RNlkP3S185s4vdiNFmEi0FHYbeMCkJLAqRojZ8uBpxG+Tv2nJsHOg1cDyKiIVQ==","shasum":"71e65e063829d6c35a6518b783d87e3334fc2e11","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.0.tgz","fileCount":756,"unpackedSize":1439737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2xecCRA9TVsSAnZWagAA33MQAJlEh/MGUxx6d4rYuPvF\nboa9lTJV3JU1WE5HU8u4XUff4IXGtojz1Mzf/ZLBXmzxuYXKPUFLcmrFC71r\nFRQHVdIiN0C7kiCGLemL07EBvJFT4V/5YkwEgsj598q+4NFN02Bsox5NZrYf\nTwCiLq+Fvc2LzyPrtRdhPd8PbFrZQlFjyy3Durxbqdhvc8bFsW6zpIYtrLpG\nTO4T1puaHbeu7RNSjnDv4KjnP2aShMJl80SnnA638Gk1U/x89gnzZiIiQsZl\nQr654yBNsIaqx1Qo63KcfucNl3nL5zM6oFAdz5pZD5Vw5/IrS24q67IAD8M/\nAXCgbW0HTQ/c2XvFSqkcUo4uncbIPN+N8HUMF6cJ5L24fWVWyXwAKva0iZvu\ntMu6mPfBXO115xfN/OjVnAuOItVWuaBqruAWrIBpHSjKYZ/eASF86kZWs1kH\n0nkxSK2MBkuhhAhEHRlNwh8MqZ+EcAh8R/1Q2Ixub7khnf/2yz6SJQB6Ba0W\n+rPkXl1nH8vp8zltaCic16y7Dw/ebVPJ34wKLDlQIFeSMmawDCYpvd+VL04s\nXdqWGatAni08SnfZiWmBG93+H6HQiDfGiUBa1JpJr/sxnXvsyNL0R//9DkqR\nMDtWtKdNKpeZA4TtbjybeSxeT9wDCTzVs73Nl1EocI7tz+SlR4os6bzl9p/M\nqgxE\r\n=CcRm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCRdn2Llsq1NtciCqFxV5Z5kqf9jMitdYbb4ZEk1dCBAiEA+UWHe+PWnVieewVBM2UTPE3j1rUqPMGdoAhGHKSWUD8="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.0_1624971163422_0.8286329329393232"},"_hasShrinkwrap":false},"0.4.1":{"name":"@usedapp/core","version":"0.4.1","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.2.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.1","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7rcZeL022Ff5UgfWWhlHh2ibNASccjAe9EkWOwn7rTz6Krs9PTgQnWPzKwCtGOVG0ywaGT3XnMBVa3A5CCKyaA==","shasum":"0ab7bc9184b38b616ea2207df31d21a97e2cdc40","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.1.tgz","fileCount":756,"unpackedSize":1440078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6fQbCRA9TVsSAnZWagAA4AwQAIe/uuKGaylExO9LJlVz\nmtDCy4qcXu93mjItIEFT12+Kaa/CXtPDHdWh8Ag1W+pZBJeCuJ7iw/Ku6T+C\ncGCsJq8Arjxaj0bt89uTTUZxnaI/9tSWXdcpT+2FIGG/kWu/0T4EWlOCR8Qx\nKmUveRFr/+7wIcr5xyNGRXHULtJ01Wb1geMt+9Lehs+SGdWdPS3p+0j1EN7C\nHm+G1drx8VOvg8QIsiodP4wrlHrbwQJZWez+4LQrRsfML23Pm9zzAtL7zyOS\n5tBuuRL7QG0YawXQEnSMLFpMB1tUdUzCjosCsXAa4jaD05aT6uvc+KP8LYR9\ngHqIe2TsXWwUOk1HTriqLfNy+U2VjgKfY4BWQQ9HQMSpACwCM7gyTF4t6EZU\nbWSBSlhMy7Wf2fPcA8EmGJG7titJTeRYpMyy2NqPGPtNXA+q5CNYAef2hPFW\nQ5gyHnsxc5ZYgnG2EBzr4p7wNWbEHwKH8RpCnnO9cYOPRBnNh5L3TvHgiWsy\nrQslLNnYmijDe+KRHzsI5Spg8cN6Ky2CoS9PeDLKjtXkmhIXSsbI6LXwDvpb\nEJ+a2ZtwYsuFr5NxUCfuqgg3jtG+g47zhAnUZA/PxPSJ0JKM2kVHnniR47kb\n9WCk5PXGamep+Hg8EiN31morOiZA8/lI7AxEsbwO8uGVcC/VdRCmuinUXNqu\nX/3G\r\n=pisN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw4xYIB/AS/ZQnxVaVjc1auzfqbJPKzbuRy9JgAedQfwIgJOYH48svtChWhaRwEQz/X31w7J4YtOW50AUS7nQfjrE="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.1_1625945114854_0.9738188241917529"},"_hasShrinkwrap":false},"0.4.2":{"name":"@usedapp/core","version":"0.4.2","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.2","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Fwzv3GFX5LP5E79v0okkjSXHFnLVbN1bEdRBm6roSsbyTcX2oAmLJXsvZ8TDDZwgBmcD3n+Mc7UYzWTb8O2Z0g==","shasum":"90fbe0cffd355fba6dac82c0bc64a14b196711ae","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.2.tgz","fileCount":756,"unpackedSize":1446159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+TQRCRA9TVsSAnZWagAAeh4QAKA/TIxazEtnS1tjaeTn\nwPJdKSv29miDyKUDmwI20rXYKh1Mo5JJnw+va2dkea4rd3DhH3qKrown2ai5\nXDipyXt/EhMzMepY68x5qQN/tSiw7KYHo7uy0i+jW6ZMNQ0QN4QKUjduo7c0\nOSiYcLR5KAQ+FeX5iSADcqakBZ7yInv/6QW/ME6oq92v8UeduAoTcRE4VDRE\nJARDVw9BNc4HkjGOCfNC4aOl1f79m27Os9RQGoBfS4+VyDlDyPKRt3yephYF\n3LB+SsBm/Y3QXJUJX2uhXYX9u96VqJi3uheQW15EIEshr+jQ+9l7LdUuOzNS\n6xs1suhLp1CjhFx9VeTq/b9/406g2DtEd0qCEw4tHsqb/yDv8mnvb0Dr6PRH\nDFskoVVdUyNwfxPuP+iR9ZHq5q59XpeJcIq3WzCIdf7pGaELt0VO2avyyWqh\n0egmX1wyQC0BcQQ2TeBVZY89paAvh7thvEG9trnLlxQ50BYb4lrkanZD4j2E\nuh058gq2f8MELtU2V60vzqq8uWBpiEv/5nXv5QGkfT9v5v5o7nr3GIhhvv6K\nmLulCDurTOepICNeejzNeJyW9Jp621LH4e5pCcBNghGFDrZkCZg7UQ5KeSDw\nD21WW8e5NqqAhd3ZaRsM3esABJveKuVm9wQNq6SQhRH9ogT02Nchg6/LUjkj\nvlg+\r\n=0AEM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHsfXoAcsoQ0zQYoxMrZMFXs5eViwlXs/hnwQi173ASgIgR6vhu+eDMVutpC9Pwf57LhcdioMYfC4cVvyBq4hZ+2E="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.2_1626944529075_0.7778891758368116"},"_hasShrinkwrap":false},"0.4.3":{"name":"@usedapp/core","version":"0.4.3","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.3","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-pbck5ODzCaVyQ8oEivBSdSFCj6V9Fmvf5sWH8bNgJY2gySVxMxnJQ9XheelpMThFI1ev1aS5XUlWvl9ao4JdOQ==","shasum":"cdb38c8cc94cbfe8095631fd8aadf0a6ddde905f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.3.tgz","fileCount":756,"unpackedSize":1446875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBtFTCRA9TVsSAnZWagAADEMQAJ+otpbEnoi2PHkdeHmW\nOUJkErguFbmx64NdmOFjORDd+X/c2u7MW6gU48G9jdaMMeZQ3NFqSWZCfMSa\n56EM4g5djTrMjYot4VEVVtCpiy9DlOgMyJiJTJXclX5ND6ADKLg919HKX6mt\nihXT5OqOcRzHBxg2uao3Ol/IM1iVPjAO6AXaHyCJ+7uKJsfkDxtP9n8oVmlO\nNvYeltVUjQB6nFNegYRoEfUj1XyHdK9E0KwidHbKm2mVKEoFUIcvz4OHlZo/\n1D/eZSxvhDQcsUdliZO7HnXCEwu1/JGL/BzFECVrqZxm0ia7TRC+naarXGg6\nPtBaQurEDT8Irrq7CuGE3dsn6CLA0NmPr9K7t01eY218zayzE17otJsFAvgX\nqNmuyQCO6XvId+KI7keYWHAgrG/q+JscUnU9C9RS6N82+gITUBMzrw/4WsXg\ns0E/Ob1XidB+j6UD2DAmVmnnsP/laUMvGhm9mQNZcS+1OLoUN8UshlrVlTSo\nENyUPQcjsSz5xM6ok0RGHA0x09UJiW0TbaCiu3w7hPLj3uucQUJXftY60NNJ\nXnry2Gci7+6GDs+aDtuL1nBPJed4Hr0Twq0nQghTRmmg1/TBHL/R0uRo4Zg2\nGTB2Czi+7gWRjchasw3vSjmEbbc5wNL2M8rFCtJTwJV/+TfSu4EjSLJ0RVcl\nJNm/\r\n=DTRd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5KP/tqvq1b/57+98fwrhalUuwyH9bBu6yvt/GXQZLvgIhAJFI27wBKqDTyW4UJSTTICOmH78NnmfpXy+4s2zmGKKo"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.3_1627836755007_0.04685805778318808"},"_hasShrinkwrap":false},"0.4.4":{"name":"@usedapp/core","version":"0.4.4","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.4","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-6kNJ0bPR4gM1NpcKU9gswD2sfWgH5WSWtrT4KjefHAZBz2In35nHEfifgWw7bpCULKkJsnVJtzT938XWaUpngg==","shasum":"2142443a04fbd770c8e4dc7345aa7cb130dc1451","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.4.tgz","fileCount":756,"unpackedSize":1449787,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCqxrCRA9TVsSAnZWagAAxzQP/AztR5cGc8pEuzd+289q\nFimP1CzgNKMvFZLgUzKuva2SufZViajOgJkQH7aj637GJCq+yGESN7paItp7\naZSRmw1XkWHPXAX6Cce4rsPZUnGzfIHX0uR/glZsw/rWi3t2Y/onHLVSLfwI\nF1HJTRRqj7Tr4SEXxwYR5a590ND5Oecu24XYub8oaU2GDeXIIg+pZr1Zf/8A\nz/zKr/hpWk5b2mR5I3rnk+wLUWNXSk24jmpo7Td0b7Mc3h2sbwRXtNyx1XLs\nzd+XmoYbc1+ug2o5P+/WFbjsAxkJoqzKS8JAnz94LV9WdM05JH7eFvyOJnOj\nbZWRpTvQmgZIXo2xjlQStvz68Wd/OBNvysWhRZo+Dm6a1BL+naQc9sxNVuX9\nRCtMxnRWGF8dqLNOKoJ0j2Fwe3S77s8e3tNz3kJ6ypmlq+KISgrK53QUAi4z\nipbRDOvoqkAVs7pf7BTs7uJsg1UPXWG7Cn/B8WjizNDW1c2sjnP7Z+kyeW1g\nMxcnM3SXJ8ObK7cpZkw/a2NHP5RnXqgOeUXlRKODe26OV8/mC3s9eEozFNPi\n1Up4XhanfmJiiQC/FyTSispapNjsueOi8e7Z5X/AhRyHGcRN13h/vP0ge04X\n9uvO1aA/adSB3UKlQhubEdKLWSucrEDdOKuEqvUdRQrjga47pGVO+R6MBunW\n6bmB\r\n=QtD7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiEfyBtqF3q3Fg6Aoqi3zxZmCX8t49MAJW4rP6mtlwoQIhAOgQZYdiG0F2CtDTCl8kHM4suyKbk2a857OOuy6kE4aO"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.4_1628089450918_0.021745720506507027"},"_hasShrinkwrap":false},"0.4.5":{"name":"@usedapp/core","version":"0.4.5","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.5","_nodeVersion":"12.22.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-poeqNNVUuEXfUFbFUiq3QrbbGnzkRbZ6vYQ7N7AZaZ6khF73e/XQWZfV7swl5UbnLcdiGRjhNYyyG2OKOVsHjg==","shasum":"5a4a8da360aeb06ce8f6cb6dcb2bd7ae194c47c3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.5.tgz","fileCount":756,"unpackedSize":1450539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhI6fjCRA9TVsSAnZWagAAJ/AQAJ04WhemlVezwZY11zMh\nOkLQhQddEMvfdEfuAHUFXNreqvQTmVicBxKmLjIfou5bDSF5J0K1SevP3tWJ\n4DRqc+xOxwRUjiT1KfLOKSWB8ry2fLtFBBqWOeY/rJ5Z9YqW6P4U8nsLNfBy\nC+9H+zKIMtrRh/ms9MHzN+AkBlLd2Efr56NWFKQuzztwMRNY2Q+OcrHOUOr7\nuXscEj9GzECoToWdjZqbUSm9lDeOEgOax4lYTTMeuDrvOkqZ9OkGuXzA5H2+\n+Qz6RhdGlmn+etTUR38foZ0ecnv3Kvo3YQub5dxKhZZEqtHtYhT2WQ+WCWks\noxUzA+2+BegNh/bV5877uD8iYXZ/HkjNDqqViK1f30aApm5m93tGc92bYpjU\nN75VBE7W+KSxFjAGZi2ynfhC2S8L3TZitKP8iRgWAB1nXbhPGyVqNGDU5uAb\niw9qN58EUko53e+8RQnrc+UieSuVVslo3slKI2cCg0WuL418VrZoYh6aZQu+\nPvWQLES4bNw+CfH+6UYfNz/v/XZ2LFrKW3s/7iV3/e2ATJ47AKpseX3isKgS\nv1Wy1GB9q03JKQsTLoFIHsqXV51EJSTOenhfv0vCLe5HDvIuenHMvnF0Owha\n5tnFr2fd6Vdndsek2DqXO+d5m9WY2PSGooV7pw3jp7FyMxx/O+pwRSvK0Qbb\nOg7U\r\n=r5qj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAo/2iJ41ogXLMLCnbo0rbV6JwBaHK/Ndb4E1m8L4YAlAiAlBqU2GuayclUn/oTnoAbBB2NwKpC7Tx7AonRB62wrGQ=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.5_1629726690989_0.10242331600027388"},"_hasShrinkwrap":false},"0.4.6":{"name":"@usedapp/core","version":"0.4.6","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.6","_nodeVersion":"12.22.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-yN3asyUoMlXv8F69NcND26oyyFUlDTb5mhcz56nfnee8WPv0gEyxILIkTTAvG3nsfiPK3CqDSEvkkF1YG7EhMg==","shasum":"cdc7f376d2f5c9378e4f80f01ac08d93c5cc39a0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.6.tgz","fileCount":756,"unpackedSize":1451082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhI735CRA9TVsSAnZWagAA2icP/j+1giJpQfkACdcfc1VP\nwedBw5VS4Ggur38mg1pzO0wJU41sGoqnJaDB3bWK6MikhfGjBiiV8NnMXJ92\nYRksQ9sAmOkk1LGw0bcFZrF/InoCobfylm0HNcBtXRYo+8tzE41dVBe6gj//\nq6e/b7YWP58lva3KmVGAQJBPj7OwWrDHc6zrE7800iILxygjAATBf8fFsgbQ\natAicTg2ZRlnwTunl8IK5ATwG34E00HzJif9KBF2NfyGcwYpZOKF8fMQoiZR\nfTP7iGTxkeLH2UF+mUbc1xOCWiYx6tBt+E8dZyzWVkENBRxlgeXyD1joABkN\nDSYlTMAKE13JMJQZRgwo8IJkEN1PmVDUnjxYJhdd4LJTFZhG8QJdjhjzmppJ\nSAILemXnZSkbOiNOz2P8yZwsRNEktvBqUBt56u11/ah1d+yfNCRkbwpkAsCA\nK8+Iq1L8+VbPRDnoD9ogjBg7AtiAILFjw5xoA1W1SXp4zqxUEfhIU2qTMR8w\nxqZHNfEdjspyOq0T1xRuiZTilujuROB2JIuxXBFya9pqLVlu5B0cHClvtlQ3\nnHcO0Y8expC7oiKiPCo4E4gQgHi23v3LZPj8Ez2hVgcuUFnp4tCH2VCanGgv\n+/C57HQStpBiVXVOaPFqzmbVaBXLETVc4YSpsYFzl/0jCEO0Pjkf0kh3gbAf\nwKfi\r\n=E434\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCWSnwS3pVIzMVuLPv2eTvgSugPIUcklH1Ea6nuUQrbAIgFpKTNgtqNEG1VlF9ueIEzmu3ZC0C9PLfT3gp4Xe8Ekw="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.6_1629732345358_0.24773061607842317"},"_hasShrinkwrap":false},"0.4.7":{"name":"@usedapp/core","version":"0.4.7","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/mocha":"^8.2.0","@types/lodash":"^4.14.170","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.7","_nodeVersion":"12.22.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-0JpzUPUHFgmq8GWTl9EGZKR5nS8HQ2e5wwaIG8GBE2VUS40uKwlNhlqkIwD2mkFhpMj8EssMArzcZRzLqZmEPA==","shasum":"87964abf14ba87edd4fe068ee73fe0cb9fcdee2d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.7.tgz","fileCount":756,"unpackedSize":1455983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhK896CRA9TVsSAnZWagAAeyUP/2YDEYfEXG1g+AJeJRt0\n4OIXDhHOlrIdFuykD++1vCkyofJNt+JgH9O/d20Qq/lpTNwtdmSojmdTgv+r\nynPolsCOoC4P33EqwRK5+x69fOiLgtwGVXmG8WSAa8ffjAm7fPWKZQDtzIqB\nVop8XA/U36EL4vOk6iElsCrM1v9sW0co6dpKjjAZTcwAncV++2M7hgqhNUfF\nN79WcR4KDrzXYWMjbsg7obh5gGM1+N8sOi13bhrQ5OnEFq7oidkNOj5ZJPqE\n1VVS6xnYxTBPfk5tMq8qICYMvNCBlPohtIYsjWVsxwbdub6B5lA10kZcBuBr\n4pPwaWcS4DWfoL1MSfnpW4hpJ1WQg6WVfycurZQKsaXdAA7eTylHKQmyXjCF\nHTpZevIcrakfgqoOOnU2vNcIiXI4YTu94Sj/y8byp6bqhEsoYSsZ2ayazNLW\nyJB1aJMgOKSYoV76MYFdCyYY7aujlQoegWYZgvWRYwqK37Uh86gSjhGsLhDA\nZQHpiueTm1uXKT/5Hgdrg3t42I58DwjgV/JUDDTICmUY4zuxksisbCjD2S9r\nn2iQnQMryyUD3HdXAyuhGN0SOmkAJQyWGRyxSPGv8PW+RV5UK95usgFqVlOE\nklFrCRGHv8XnQpHCLm9H997ayD3UQNCmLRy3+EAkNoSvuzPf577Fd26xy1Rj\nmxY6\r\n=Dqps\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBLEKKDAWQPp6t4WIssPJtIIlmwR57ltGls/wZur+QhWAiEAnmyPPSM5+eLn/YVv67kUiHIJ7lfQkveGuM9HTcSHCuo="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.7_1630261114502_0.9872811504543255"},"_hasShrinkwrap":false},"0.4.8":{"name":"@usedapp/core","version":"0.4.8","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.4.8","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Ou3sd+RdxBy+AcoIkLxKZbu9oN3tz+WHOjcyr6uPRK+yn64dwB3OVYfktcwuljUUcCqk6HEClcRzI5lHVLesaA==","shasum":"5ade358c89d6b99bf21e2dc5d4b611a9249c02e4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.4.8.tgz","fileCount":756,"unpackedSize":1537278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ4wjCRA9TVsSAnZWagAAIx8P/jdZhRD76LcORZmL1BKj\nOiYldlVDu3XiVOWxsMRiytamDoBeIs27dLt1iC2iiGl68a3SGq/NOcHiqOuM\nsF4bpIPnVP5gPbO1DruNKXEqgWQhqRrhBgHyKvtHArBXogMk5Cxd2H1DYxlg\nDFQ/bJa8hWz7Q9Vwu32WfKLcp/cwKuW3zDVgWVWRuz/ctgiiNy+z+eGUCKQp\nHswCLIJz4cd8gv47F3WgKe9J4tWXmEohSmPo2WNZk2BQgxWfFKcHtUju85K3\nrGnizUh0zDga4oYIgG+mgmi4GMPVIQNlKvKWHhjayeRx857W1kntUOQsTP6+\ns+w+d/2qP8pz7c3cyssvD+viaZP/D44yaERN72hpvu4xgidHhSzwpfMyWjcV\n5t8mTTaiBtzAPxSuW/IFodOJjxI5/RQxfplMJ1F0AaZyNhuEH7odRBt/B37f\nC4rw6NjtxvSF22nelQ0SSA16zlBXbDc/DNiS9KNIxpwSsb4g+fRsmuiInhab\nbSWFcmAkXh6czleJ2JjmI4kpttpF/hC3AElwpg/vNOr+Ph9BKi/HK8KyHyFB\n3q31SF7mBQwrbIe1cwKv3Rrs6jqF5bCcNgUTogHI/QrkalRSMEewconr53/6\nPeGr6B04OsQsEMqPfmTESs7iakCuTbs7X+CM9J4qxIYMWn8htuZ3eX8n6b5a\nednQ\r\n=IEpQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMEE6/nh1sa53ZrYxd9tAg1XRKIYiPSIgcc+tLfo31yAiEA+c9Z8rY+9OT8R6TFhCfV/ywpNUmhcWeTPyeiFylCiG4="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.4.8_1631816738885_0.7592925909136083"},"_hasShrinkwrap":false},"0.5.0":{"name":"@usedapp/core","version":"0.5.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.0","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-eKWSoyLCQMBgu8ugODMkOfbLA17eRRAmzeTLA7QcMWBjSULk0JAYtzPdh26nl3nMSwefoAksbNSRgO6YOxGoPQ==","shasum":"194b08811a6938426ccec3362a657822d022a0b3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.0.tgz","fileCount":756,"unpackedSize":1538436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXdwTq+ezIWi2C4zqfmQQeGidExfdNkomlxMU/++OUCAiEAhkN/2aw3rihDiRCl0GaLXCo+EtWf8oxuebcwUUAn+HQ="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.0_1632407321897_0.7726742464483831"},"_hasShrinkwrap":false},"0.5.1":{"name":"@usedapp/core","version":"0.5.1","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.1","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-eTB4Ql0AstUqFvZsyJ5NaiPAzoi1KLr3DuaJC3MZjzK+Uh+Uzm01ExKyaKky5n0x607WfsP7+QQkqI3Rj8RmQQ==","shasum":"33da4fe52f18c812cde5d7b1212449ef526f91aa","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.1.tgz","fileCount":756,"unpackedSize":1542715,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1yRpKXwM/W2Jfrv00ra/p7OkQ4L0Oa301KZ5UfzFKAAiAwClAqMlVfTPQpPpyfhL5h9YyUNbYR8DSUGX419OQuNw=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.1_1632810832955_0.7916435810125972"},"_hasShrinkwrap":false},"0.5.2":{"name":"@usedapp/core","version":"0.5.2","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.2","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-8BzOro94HHJ4oOyhtuuFhwus16l2I4r+2FUNEsfVEGS/Dry/ZHy+iu2f5QXG7qlFXuPo7Ikh0cXXtIpg8WUVMw==","shasum":"2dd34fbe826fcd2fb9228edcdbd47fc57a245b10","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.2.tgz","fileCount":756,"unpackedSize":1550716,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDR6WCvxYksuhK6htX3IQYVTMTd1nKWvuRFcatZTweM1AiEA6qqMNhwAS8K8Z3d88F5rdD5JlEXE7BDO0DRJNfsJ26s="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.2_1633347949208_0.9828623934279384"},"_hasShrinkwrap":false},"0.5.3":{"name":"@usedapp/core","version":"0.5.3","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.3","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-1E/f+7uT1mHT4/pYoL9FpWzH+gUzi+6Jgfc8dKNcmM3mHlNqNv7Z3uq5iHRUNJRCGw79dH1IfT6pOBi4wr+ChQ==","shasum":"0f1b85a7488425621398028efb0402fe132cba83","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.3.tgz","fileCount":756,"unpackedSize":1556286,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICgUWml4PEFj/Gg8l1en2phPdKed1gP+QH63/Gg2AK6NAiBr4DCv9WW7mmzQwmBFbCYFhp02y4gcWUBvAWOdvt9Nsg=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.3_1633693348637_0.03901502469640139"},"_hasShrinkwrap":false},"0.5.4":{"name":"@usedapp/core","version":"0.5.4","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.4","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-KAGnH/PA8WBEOR14N9mE3woDXkraVHNVj64XvZTAyxFW9N6rSUX3e6LX85TQ3WRvX1fysppP9433c2ciUrx4Yw==","shasum":"c03b1fa34e4ff658ee2d6a65ac74de46c7ab2b7f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.4.tgz","fileCount":756,"unpackedSize":1564094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyNO9ZapFMVbZN/y5iUH8BpfA3BgtDTg8C0nFkOgtH1AIhAMVjSD2r2AMMrqbzctc3tgQDzDI738eC/D7+WX6EocvM"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.4_1633845985006_0.6372535999827531"},"_hasShrinkwrap":false},"0.5.5":{"name":"@usedapp/core","version":"0.5.5","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.4.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.5","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-2a/ttaD0fY1Ui7ubB0pVEzi15euuKr8a/oiXs4rWH8qrth+jW38QyImvl7xQVO63Ikq2pKqmBOJbSFVubdHNDw==","shasum":"651d8b4e2fc85a19935e0b3ec1495a103b8b75b6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.5.tgz","fileCount":756,"unpackedSize":1572114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhksNPCRA9TVsSAnZWagAA9l8P/A3vZh5wNVBRTjCWJoYj\nB5spQiYEPQeWZ8SBLduS12XT0yJm2NZQhALvYul3GOkHq2QrXe5bwUusxFtr\n475w6zrsPCwp4fc0WzKug8oGcrG+tawzvIYY4sD1N1h4tpFxK5fOM4Ntex4r\nsM9gkSF+vXs9RCHXXcFMJ8FF24zqJzqRUQTM+ZRaTOMviH6VFnAgHTiUxFgS\nWKf7cld22RaOSLllsAZu8fHcqPvC6HDeBgSxE/ElcPNr/TRsJNTY94RNVMWY\nJd3wN03e8X/pQA3g+fYd+1d5hnxmekjq6WnJOz9w3S9LbtVR75PIr2CL5RKd\nof/rEKRZP2LeTP/dw8YA7xFGxt2hkbi4JGu8Taen9M4PyiwId+LmNGYpGdi3\nOTMHASLbfbZpFeB+tsdR0BHO/xT0imxCCjDxp8NM/1CcSeyiRKZKid+jw8HO\norzK6g2xODQbGM2nJpMMbIhc7NX1jqNo3M6NgeO3sAun6eC1KF6efm71O6Ht\nUuY4x1NSwR8+DRwOCLw4wqb2k5E9oy/M03vuSc++E0SUlGP0wdanZp6dMSTh\nrjdxbtv7rwySfmPppAAE1gk/UJ2qjgETykKDg4Qhr5rBmdqJnLtMGivtgWYb\nvYpoGP6ZjVEiX1XRUhF/yla9PJTxiDAUvdIdgD5CQJd3igk4GzyorFAuDAE2\nuS4V\r\n=tA3r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAIN0T4MWSOpEdJUtqIow/rkSbUTejDImX7EY7rlAlgzAiAXPRpxxj5r4o5fsbnqgl32Mix5mjhj/GAX1YXw7YX4aA=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.5_1637008206965_0.8706405698328858"},"_hasShrinkwrap":false},"0.5.6":{"name":"@usedapp/core","version":"0.5.6","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.5.6","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-xUY7rzhXAMDJoY5ZkkxwDaOrEgefMeG7BqZ1imePenEogkv/JzP1tZVTb31sCSfJLOZIBRJbXZ2/+yyAOTlqSA==","shasum":"ece3ef3a9c6252c691cf051ed1650c390742929c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.5.6.tgz","fileCount":756,"unpackedSize":1572811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlMNoCRA9TVsSAnZWagAAXesQAIgB/jBsUYMvCGt3RIR+\nDPXfkfqJf0ocgSgmHajqUv9ziIEeMZBD2jAATiobiR9MVmN+Eoqj0aLow3bh\nE+Gkscm5uEkvVriAjyVBirX5o8lrr0cLY91qAjkWMWLvCsO19DZOzg5fVKgg\nNDPwQxKOafrYTgNdsESLeUII7FeC0Rf8CielkQ09dE5fdYkf4SlvStsVrsTY\nrWcVjA0Rk5Ge9T2rMFLK+icQ5UPqi5CWR8aew3ESGObcOy1w+72C7xhgVy4F\neL8cDQlxElrXpmVzybOYJjazF5rqSVzSoaU7h3bzG9eYLTv+h1KaTyT4PTza\ndC/JtddzQ254t0TCdvksst1fuTUnBStdDBeTnVIfX91woKqo0V9BuLJF2XXY\nh0nv40CGICC0UNc9Sck/YJ8wW9fgMZjD5J8wEHRiyd22iba+XkUcK/vVdYpz\n9J2PRT/1fXGPhDo8ogC9KIHK7lCugZENwm1hMzZIvHp1wWR7YXkQlnTHOTCL\nunJhOgRErIp6NVGltpGrOY4mT7D+8XM3NMHoTHYP4yeyhBXBAxNHsMss4MsP\nuZDex03GVyDc6Q8ZMO18ImOo1gjpD0OBWO0C7BPYGoCtRbwBQdr1ADP+acue\nheqc04Rxce7wqPNw9NuTXZPoMIPbZZoHp8IYJcO0jMjjOgjvmBBKzgyFZe9H\nmlTM\r\n=4zwe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEErJyStR5XsdBOiKhilLJBQ++5yW2vNVfjzPnJVwPNzAiBufS1sua6LZR2pn4MUKSl2X5tljDtzrQrzmo90ZZq0lw=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.5.6_1637139304452_0.7322346231197558"},"_hasShrinkwrap":false},"0.6.0":{"name":"@usedapp/core","version":"0.6.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.6.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-mJTHnh1ZIxf/31p7fuM6zeyWUuAEjugDn8Z/Ui3OQZXAnde5v27AxjKoBEfLRNkdtBNEzOL7Ulk9Beke2HhWSA==","shasum":"4fbc825dec51bb3c607029b294ef6ca5f3b04508","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.6.0.tgz","fileCount":756,"unpackedSize":1577217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl2svCRA9TVsSAnZWagAAfXIQAII5eKqT9TzThhOeeU2+\nLc39AKsTnG+3ulHLP+oemxyG9NJ2laSkdgcvH0CU4jqF0PHLi0l8NDFTUm9/\nnBzfMj09us6FHvhHk0Xybdfhhos3EuOG4a0u4e8lyXPh7ia+U1HpzTbdISga\nsVQ74qeNwuD5jKU2f7NvweYxJJPUue/q2cXapW7TDFc1iVmXWuykqYZWp3uL\ndvaMGPpJMy5CewducT+dKRbrhlncY6sZnuNcmleJIIZTNTrx93YhMKcWXiO+\nu/MZrINwRkztAT14JEaAhse0be3AHM07ujYl8OBdRTQOpCt1F4YluYgjD/hj\nLU7W0BYYDKJH+bMGHtd9DkWgCbzYtbt2JDNizwKjUQ/ZtOkmWAGGjWLWCBaA\nz0BPHsABqNG23ThMrz9IfUYP5iy4fiUHl6B5sdLNXEwkM0zO8IlP9WzgknJl\nzEzzLuwR1o33LyQNT0jqTtNBQ3gaOI/dZz5lfUzgcrB9XcXjfbvDSqQBxUPJ\n3Fuufg01MBlaEmvo4C9727HLhgdv8moSZzrgkWZ5jSfK02TH4KprK3n0jgzl\nOj7X5VmXmELaLTnoED/MGgWdE2qjXzh0xoBzmFpmQmdHC9Ic4gaY6KwA6B4q\nDkNFqSR0zQH3YZALk9QmC2O3tYrAMNpjt7sldcn8QLLXLBdHbF479wZeJRVo\nQ6dh\r\n=lYy3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5iaimFgH4JWK6L7PNd0Rkj17ywhjP+oevoy8aXRNDLAiBgOVLW6GNSiLJfPD4el1zf0L12r8frQ9kcjw6P4jgWzA=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.6.0_1637313327474_0.810227523279204"},"_hasShrinkwrap":false},"0.6.1":{"name":"@usedapp/core","version":"0.6.1","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.6.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-KJpEjo2KMB5quRsvcnELto4df7MKZMGDdRdvybixqrWFk5XucPiopTgtRwktCyhC+0Q+w7mgTRfiWhwQLf1HSw==","shasum":"5f56d2c0ce6f07b67cea29ff994c7500ee97aa15","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.6.1.tgz","fileCount":756,"unpackedSize":1584664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl9BtCRA9TVsSAnZWagAAR5wP/iBLiKpUywxt5Mk4TlkZ\nz+kykjBJBX2yB2Q6TaEpUd/hFMvKOAtOIgZ0kswyUyO+P7Lz/05psEpRFCMp\n5sA/Lo/dJiPqjc6n1ayDS4kb31YnyD688x/+f78yxMdf65+yqkexEkjHJ3H/\nBJjvw1bDBKvZNj4hDVhcHTm1QEmo9y0ZrCJyNqpyxF5s+ygYPrA16yyoo+es\naff+kBMtQtxfL4BiYra90HqUyK3Pxfw03+/gIFWZiH8mblsuMifKg0uVtJua\nN7+rzy1jMI0ZTNbd+WNn835dHEVlaIrZuRTK4Z9FTgx/uuo+uic5SNBiLBm9\nMNk2EIrIxnAdQ+8yiSEHzpiwOXjgxfR+y/Ro4OPdeFds5Ywkor9VONP03Tr6\nM/bd5W+gt09p3v95edFodfPeZ3iEXfrnn+SKgGY8aP3jW7CisoBr0xX91XE5\nnEhc9HtIjb8BfVi6cmjtK1o5/ck2iGQUCbYjhf+BS38cDhiXQhyI+DcR3aGC\ntoGnqO/eHc2PcWqBrN8vcSUSAiiN3haNY7jBUxtSXL5W6V/jQYmFB/eRk1Tu\nT+jv573QmXw4OtjhVRuJh3vnRlLnU30AATc5UCUpPk7IHzu4AxzeNnsJ0rPM\nm1zgTTLoU7xSC+zxBGfqdg7XBi0lw6EMlFFixF1xaPSNMbU1f2tRTau4zYcW\nDUef\r\n=q7qs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ9hjwLy5hiQAykCDBSSk4aN1z23B2ylgRMXykpjuZwwIhALGBEU0Z6F76A2WgQ6WJaR/0+BVil5ROz5/QiPDnAMao"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.6.1_1637339245606_0.813309983717639"},"_hasShrinkwrap":false},"0.6.2":{"name":"@usedapp/core","version":"0.6.2","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.6.2","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-oqj0a/fuoG/oSCyy4JOX+3f8Ra5ow2GZCpnWzckXpEu+6oaDz6EWESGdksxfAxKwBSFHmqKlp2mzfJZPWMTQvQ==","shasum":"29db1666d92e4f83d8f26799bf69373326586e6e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.6.2.tgz","fileCount":783,"unpackedSize":1623606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl99LCRA9TVsSAnZWagAAlqcP/iW9L4NGso2LmBrvmCnY\n9XDtFUFZR4VyMkMjt4XHeG15othQgqPlgUpFOZJXtf+wXaLHVw/y+1ioWQs8\nqKf5NBQYUJUF3V0QbADHZa7FXMYKfm5tE6SQyhppCQQGfeLUvnWrHx4BWtKS\nL4VuTVgSy8Heng0i1IIPJm9dm73rBJZ4zAxKnWkdkg1bY9esWvL4ZlFVgJoG\nAWbqe9ZwdMB8Pj7/MnnRxY1TEax7K0uKkHNzQvgtgko6M2U1tBJGasQYfe1G\nuSDHmi51Fldg5npay8COZMdR7j2bfD11R5O3dUOoHTGgn/2rP8Zl0vOfHrNr\nQyIb6J6cbcBe+8IW0i8OKiA73ZKAcRXryguGW3cnLshYt1wHWnCjH3OcFElq\nbnL4tJEon+zAZB+f1s1Qn0cOwouEwTGudXmQqt2VSmPw4KsqNBu71tJkIIsJ\n4pqYbFrlipa2kg0LI+Rgq303a41RPL24whUZxMiEC1zY2061OZGv8CkxH1lz\nlOMr3dzM4uHWWUf7c3V5vQ52W+vPXEv6IAXEGy2h0HlplwEW+oeCEL13P02U\n+kWmmhugrIMElrCMaht1j8Kb5wRswJk9j7bH0MWkkzH6vU4cyOCmWUXIt0bL\nRHzrkEcjbKzT3thWOzUkouKZHIo4YQjyiBJWJqqUclm89McrF3VDz9eRg6LQ\nrJTd\r\n=toNo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk66A2uBlEpGaJvJ0r5bPHRGH+qv8mqKHFRVH9X6pYXwIgEj5imQNHr/tLjKBZbkG63n0s4FJkZNtTMApK/ntDd+Y="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.6.2_1637343050835_0.6703171469122569"},"_hasShrinkwrap":false},"0.6.3":{"name":"@usedapp/core","version":"0.6.3","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.6.3","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-AhF5B398vXi9uLpYnI14YUc7xdvJmoEduQO2/KO0jefvX/95Rl5Z7H0nQczzWMJPgIPkNrx/bWJ62kGje6NgQg==","shasum":"8e3f4d6a65d604a0276d22e83f124a0d8c2dc224","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.6.3.tgz","fileCount":783,"unpackedSize":1628063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmDU6CRA9TVsSAnZWagAAzMMQAJCaf1pwBMQ+3Ms+cDZH\nPTV7UzSy5zsXMRgMQ91DnuSaGNqn8SwmTruvPv464d1p+7y2akaK/D9czvDA\nKmvWTT5nn+f2d5zrzufQQdUDlidecdAVTd1tL+Fh84AHE1iuGPTJMfyXIAFO\nMa5UmRWPmZROQGneTrfsqkRPs/7op4o1RZrl0yWZFpo9DL3pvrgjGhT1Qo7G\nABkiTv75ipsjny1NZDYJWtoR+kHCCxoEUZzJXYKS4lnRPi/uYBctedD8i9Pq\nUjOXYuhkQa/1twsLu389W1a1UybW24NL24miS+b0z2d7DgYv42vVPMAd/T+v\npLY3nD8CHtxDCyyHAgPqQYKsOn3vn1lSrWltANWPLzlqt+bhQCRacsA9M12E\ntzmvlPROgIeIDG48Qm0ouf4WWmEjk/sWlWIky4NCb2Yak8+bx0fOf7CREXVP\nfHtREIgvy5STQWoWOFD38v9uxJy2YQN9Uk8zGg+qsqdWbiKC5MEBbdIlcvBv\n1OjkF4BQcn4DonVAjSiavzmSleglAsbqC7qfX+Un2LXmWTeXh+zGp8uH/9hR\nif+/pM7kSPp4XyaKQasu5AlFshmqIvAQC+EqFdOLajBhksZs6lvXRo5XO0L3\nttefo7jGZ69CodRAcbQR6FHx55feV/rqZT1xn8rAjMAy1eP/vOx8vvlLoAip\na2DI\r\n=BVYa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+H4V6wYN9tyVy2v0muI4Ck6a3fIljU/aejG6oEhNbsAIhAKF/ewjeBTiFFEp/H9VbuH3VWLrtUL8kDWCu/yQCbCBc"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.6.3_1637365049854_0.26569536348954537"},"_hasShrinkwrap":false},"0.7.0":{"name":"@usedapp/core","version":"0.7.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.7.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-qOUNx9bj+0eBurCdpG7kLhSKfimKRMq5T7abI9J+jikkCFj2cAuda2TSoPuGZ9eytewK1NBacAVGzUCsnc1ieA==","shasum":"f642837d2f53f76f120f99e5972499111890ed4f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.7.0.tgz","fileCount":1008,"unpackedSize":1732364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrnhNCRA9TVsSAnZWagAAHrkP/RQrFnkmRQSxXVVRqUG2\nAFZ495dpLoysEE6vnaLtsjfunRFI0tB92bMRa45uwRsEOgH7WNkXchF6mIkH\nNLdN3dzgqYyjkJ07sjIQLcHTr8ep4fzh2Bs1oJkXtr8p7UbdsBS5z9l4RCgf\nDuwo9Er0cO7aLzYBJs4r5fpdG3LuEvE+1MH0KjF92Gm/DUTGtFvcQg+sIwpD\n8BbejSgBH9xaBELgr4U1kA6GJ+7CT5MW3CajfO2pisw7gNgzFhCGvchow8Md\nP9buTvsiqXntC5bOOwUc/Dn81JSgvtJY6ZgAGqsHtlOlgQUScT/FeIqmEzrJ\ngJs1kZCKxFApSYEY+tGia+BqViePry/LaBcFkU0qMUVxQBqD/UnuuMELnu4k\nE6OMLE/uLCRprCI8JLKu7VELpWMIn4twSDa2cQKYYBv1qUaaOM6azbgoqR8h\nXSaMSNJ92Oxd4gsiP7GWh2tHlfIJL6sIL6yNMJXT2gtw0GZtJShQ5d9LPf0F\nO6NetRPNVaqThgM/4J8Tbp08BDK7F9+tiuq7tw3NCQj/CpwKc1x0vat1AzaN\nsC3V8mX5A8nVGWEe7Uwe2s1dZKakOf2c7YP4VjCoy8W2F+JcyT9aRSvwlDID\nmVvt7ROZdsWqLlIS2FHznk7Lj+YhKj/FwUPsyAJJqcQ/9itqxoWvTnwfLqJV\netTA\r\n=s1VJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDV1BNUk5CZUTxTkkUDWp1sjyc/dsn08eSEPshzNT0HHAIhAI+ByUB/6JS0ubdM/KvhXqEc6mXusUZQqdiJ4hPw05Mg"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.7.0_1638824013796_0.24319530028752534"},"_hasShrinkwrap":false},"0.7.1":{"name":"@usedapp/core","version":"0.7.1","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.7.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-mG3pCAye51m5Y1lYstIg5HGMwz02gM2xhnDYB4t3GelxxEZvPwFWdkpNoclcvbrEWC3X0DXr8M4gVNfq20Tn3g==","shasum":"549f6fe3e4ff22687f68a7950facfa52fec21054","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.7.1.tgz","fileCount":1008,"unpackedSize":1731262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJht3DlCRA9TVsSAnZWagAA8N0QAJOHGyILGTF02NbQFfOR\nErgixQ1ftxChkJsxjouMcaA657v2+/X7sn4GCPxE15pgPVy36PJpUKhBt1Y3\ntE4Izk1Ir48VU13w7U0UfTm/ChqHssfuaH7xe7XC1aR4AncAopGFkMh5+9QU\n5O/rLdQwczA5XhYQz5fFUq0a+UAz1vdgsBJdCtvE4ecDemqhIjfs2jMZwkkQ\nHvQ1nOkR6c9psr9NRUe89kQ6XoOshTck9agnZ5Yhz9WoraDYpopXW304wsQW\nTdzXJoXvtAjBQobvQP2vG0oDQl9RT0Z5HRKtYDQtBx4Q46Y4ktq87lgEtfdD\n372n2HvvN5GInbUsMl7mvokCasvHfD3jseWh3sHqfNQefCuL8AxVNsIq8cKF\nZmVGb0uU4LH+t9z8k8Kok4gyMgHkGnQ0H0poxTvOX8rkFqguGHOluHdBfVIH\nab1aqtrBLnXP3hPziql4TgDNiUqwQf6IW/GR7UXDKkn6i/w/FFbgucAMxl1b\npOKB2gZJ2jYPQhpu1Wgn1d/D6nUCvPBBE5llINep7h3+Uzm4jETsFGIKofUk\nYk33fqoc24E74YX/1SdU3CEOFKMtKPmASWcet1cA6M8XVoBtpAS1kJ8mOE0S\nToBCawmCAyhQUSs7LRiQfIt24S4apEyDj46mKFpVKCRLuZbIQ8IFarEOBgRK\nycKb\r\n=d5EK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICv0yjANXS08wbDNK6xmx6cPEtaRhKwoxsnp9Fx60PWHAiAo080dYOfbrweiF5poihJ6Ue4ehzXWfPB+bV+rHtHBIA=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.7.1_1639411941067_0.15952079167713662"},"_hasShrinkwrap":false},"0.7.2":{"name":"@usedapp/core","version":"0.7.2","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.7.2","_nodeVersion":"12.22.8","_npmVersion":"6.14.15","dist":{"integrity":"sha512-4zBbSMSzgCOAJPPSB4txQaVj47ytZPkU8gkQ9VHiQxJD/MCWzoGFn1gljirXLhdy420RffUTjG0e6kWlTYATEQ==","shasum":"54a830eb21ccf5e644dc53343e0ccd268295d5a0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.7.2.tgz","fileCount":1026,"unpackedSize":1748316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwd6WCRA9TVsSAnZWagAA0JwP/1054xA9mSThHo+q9G17\n3NY/dMSO1TEyWhEmVDgPClVjMPrQ/Kcai7yWkSQjuzBZvJgQQvDK42KVL5Yc\n6fR2FuFdoRf7pJBOl1z5p1GZFLwhkmnUJx1koQzo7VFz932ndpilVSol0AWC\nxu8FVE37kIYQ7ZpCYIya8HaKLlyTRy+qnlcmSHlQpFGVspmCsi+K88CrSJPU\n2RxcUBiFmUe885ivKPh7Lj+H+O1x9gER/4uc92prnRD0RpsRqPsDVcO+SAek\nRAPXPU+xm5GuBaVY4JekldEpGQlC/2or+AEhAoxqa7SuZMGK4b/+p1VUGUFX\nijTFU9DezTqovZszxTqVDiiXxD48/ufbGyb6tWoZCBxnLlSsl5kXNQ9Ar3xK\n1v5LCf4oCwvnJiH/9Emo3Mb+zUTHcuv52eioWY3Vqy9f/KXO55qUHpc5mqkw\nFoyYRQqhJziFLdyf7qQmQLsrdkX/VPaZkJh/Hi85oUP8ktqnHcZYMkbIlU/G\nEO3YPaAEVTRCz3u8quedJPPRoaDoSIdAbym8D2dctyQzjpl3HTuW2mZ2R7QA\ngBvu0ZLLE4eT9Y4lgR5sjybY45v8yNdj3W9G0A4C/dcrFPJDmI+o+55NLTQa\n5FDw/TJ9e5Th93P+eQYgbCZapfgqK8TUPqAblU0O8SIFH5r7a8S/HjS4m+LH\nFo7E\r\n=lY58\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDhfYfVxyN0lEkMDfvA6HQz5pX0rlnG+i042+mBCK97tAiEApasQCP1fdTBT2JoRAJpFskP3OVGr9zQ2d1g+lJIS0vE="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.7.2_1640095381835_0.010546141869385961"},"_hasShrinkwrap":false},"0.7.3":{"name":"@usedapp/core","version":"0.7.3","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.7.3","_nodeVersion":"12.22.8","_npmVersion":"6.14.15","dist":{"integrity":"sha512-0Jaidc5E62YdkH4GUKio6Z9cP9ZK81OTgra7UAREMGHhqYuT18EVtvUbDezHqf1jDnYB5E+hZ/J2o17XLOo63w==","shasum":"867cc57a9ad95ebc00377d80fc28beb4b2174687","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.7.3.tgz","fileCount":1053,"unpackedSize":1770157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyDuPCRA9TVsSAnZWagAA9n8P/il/IIe/rerxY0n4BURh\nqTCJmlUgJ5lKh88BRI1Tmx3qoW2PqMZNdE0u8PHRI+KyPES0NB/of+IsOtJW\nFH093qnWldIYUJxwSwKiw6iUv4jF68jFpO6ZxragziqCvUDl0vqS3m/We8Ho\nYyTLUgOi2X5gdmxzlfPQA0IpcdWnSLhbRwi5X1/s1GIyJnLgZGIuVbWof87m\nXBud0QiKSnxWnn+rxVEd54vcDwFtdITmRrsppFpY7BLOVL2TUwYXZcIQbu3u\nSitIr8pQMzFYhyCfxzhiueQENgWZba4M9NqYRjQ82TvNHxnkOOs1E0geDOir\nG2/tIF1XPxUmOPKbcOGO3eBt6q5uR7an0Vj2U5ymfL1Q28Z3myLuhiGwIbr6\nOSqc4VXsUhG86OkLmIF/EXiBIr4bY1CMYxEWVEgAL/98kBtmJ7Ct7W45vcdT\nABCViEbjaN8gZfLSJdz+zmsqqBNtnL9Ybwc0kCztGMe23eiPobL57benB932\n8xJToaU+90gZ8x4r1MdomNqcZtHEFrwfGzLlOpw1xJnJ2eSOUURmJdX+uBlg\n+sGiiERnL/0Qy+sFVWSwKiuSQ2mqbtPTvQ4rkRg5L110r9CbwnkdrjlxRjv4\nRI8lTUJtLdQcF8UizJ1pzpGhtyfjyc1Df4VUFC31BMxFMfx2p3DTCnUX+o4s\nmoOf\r\n=oq8u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArXTYNwQ2HyQYPFpQEPzj+AtatuzOYQbuTUsoOJkTQdAiEAoq03rezi4olDuooiF6jxVgUZI4Utze9E/KcIMgFfprw="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.7.3_1640512398924_0.002673993576504108"},"_hasShrinkwrap":false},"0.8.0":{"name":"@usedapp/core","version":"0.8.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha --exit","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.8.0","_nodeVersion":"12.22.8","_npmVersion":"6.14.15","dist":{"integrity":"sha512-N3PU3fKw2OhyY8U/xJ3JPJ/ZXZ3VUhtYalhLBYLInDiXFtPcL3RO8hSJt/hj07G8Cb7Qxp/Y5cATqTpd/qxLPg==","shasum":"a7062a9cf03ace2f9e1c5e5b3a4e1d3c0de8f0b4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.8.0.tgz","fileCount":1083,"unpackedSize":1881525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3YtnCRA9TVsSAnZWagAAh20P/36+i5rEzGbzHoy8n7ub\noj8+IuQaJpHWuryuq1EFiNE/yi1Ha8wvxguIv0aTgcGmPp3zUeMygTV+URC1\n89zzEs24DGEADfHmZk0Sslucmue8kxJVGfl50/uFGPZgaEO0zZk4tDQhQDUK\nSNbVmJ6hqFE0AtEHvgIaGt4woGYDv8cZliBfN+JA/lj8eTqQ1w6fzH9pvA6j\nV4K/7JYyfR9xKp/QbpASP2nNn5H/3+CRI2h+T4cR5hah+c0x2id+OhvTl8K5\nP+3LIWc91dJmcnjSUVezyNIN+aoLUgfW/h94escZt182rP+JsKl2oNy2DJaZ\ngTEtnxOcF4Y9FzqBbnP3OTNcjvsN7hXx32rbNMW2y8P9NYkZ/i5qG6yzGIOU\nR62pt/sQVbnwg1FEn3mf6rhQ3sgJ8d/Bpk19p+95y7p/AUtfsxQK51fvRoMs\nYuIdts+waiVqBkqIOdnEs9Q7vHGMu5H7KQeJBW7vq3jXPruKd5ifF28Mbkel\n1OarmgDxafk+T+A3ETATm6iTyRWiDsGFhIPtWW3XKao0KeRzDkBwgaHEhoEG\nUCKAqgrPHjoPNkuAAbkN/WtMJOPMo0TKMJMN9YsfOJkr0Mdi1B/NtPFu8JS9\n2H9hYST1l34JKHxt9uKpQElwdHuYxfCmijPK42aFmt1BQpP+vYZtygKgyhg/\n0Lfd\r\n=t5Rr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWiYmL1Pnga8b0ux92f57E32gOu542jEaiRPZt2SJF1wIhAL9f6pEvkg1sogoX25gUGFekPcbOQdqLIXIs3ZBHHnEc"}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.8.0_1641909095523_0.23478238337034107"},"_hasShrinkwrap":false},"0.9.0":{"name":"@usedapp/core","version":"0.9.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha --exit","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.9.0","_nodeVersion":"12.22.9","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Z4Dq7/KeeI4XaePNuTjWhYkkWOnMR2UQqj39OfuFP+oUJ4FVz/wJI9FAp8wZG784mD+Dqfh2tBA70VoEeW7p5Q==","shasum":"163ca2c6be0224f1add51389747a8f5ea7f51336","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.9.0.tgz","fileCount":1083,"unpackedSize":1881957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4CQkCRA9TVsSAnZWagAAt+kQAIJQffAsN4ycwjSanGUf\nqiVKPuGl5pN0qkcfw6i/tu47uPq0HqVsSxgQpAiByTPONibAQf6eRjJxNvYq\nNgc3JCGTH02CsviTfmKZeXV18HF9pwnbS7WqH3RPpAYLgC6kC7bsGaNiNHNH\nWHtcMMRzdh/N2dwDwMwKUPIYVyOa1fIiEJXyWH/2X2JZVdiOnLF0DuMk9cr3\nGXlrJ4Eog0Tbl1fwIVra9VyLwdY60tY6imnQqVUEouTNMdFFtAiSN9CdaAMI\nUq8oLKhCbmWqeRgLy4wIUcAAhoMR1nmF8XmZa7/kor6yB/7fwDIqTKs+yzCF\n9lZ6uekH0qKWckkznVSPCYmoia9PFYcu0I92+N9QtTjHd1Ec5YWf47qRxoSB\n0/LjPJwk1R7aZCju2r7kf0auUrlJE0OpcWchmYEvWyq452QdZLYe2rhemF5z\nIg4JhXUfYgF6neuBoFnM/0FdmbwDNDm6IldLaFztmNPGMP30ewxr2qOG6inx\no5CaY/VpKSsxcntzlzW0p4cgc6KrxnoJ4ygaGDJbhGwDvTRHlAjKmMo+k8Ln\nCRv7Fdr053BAtK4a0TS28h4+OdwjoxXBcncWdwzTzfwnoYjbDq7wEgXuMCRg\nIuNDtPEQ4GNpQn7vYY/B8TPM5NMsBo1WR+c2y9I+EO8OvFziUn1ZO0NG65RW\niNGR\r\n=sL6X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv2+mKcegwSg/DoANpvliE314+7H0aa1+1v9djzGK5KQIgSH3/ayi/CwA4cerwy8KMAfE5qkEOWrXC/JQmKT/FqdA="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.9.0_1642079268286_0.11390733547389487"},"_hasShrinkwrap":false},"0.9.1":{"name":"@usedapp/core","version":"0.9.1","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@web3-react/abstract-connector":"^6.0.7","@web3-react/types":"^6.0.7","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@types/react":"17.0.1","@uniswap/token-lists":"^1.0.0-beta.27","@web3-react/core":"6.1.1","@web3-react/injected-connector":"6.0.7","@web3-react/network-connector":"6.1.5","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha --exit","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.9.1","_nodeVersion":"12.22.9","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Xhv3EZPVdkwn1J1qX7vC4GwPEfYU03cqRdWf2HupkWoEyCwkj/QrOpeoYz0TEWVlIle948kaBhDe+HKr48cKSw==","shasum":"b895caabf4bfe7f1bfda00651b60812b3437156f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.9.1.tgz","fileCount":1137,"unpackedSize":1922892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6sjHCRA9TVsSAnZWagAA/0oP/0+9uL8pB713GJW4Uu7a\nVAGs44hAbRQ2hXVYtS/6iXC7Gh0Y4PmkjZqJT7nNzQ3ZgVJW8X4SF6BlL8V5\nwpNUHHvYhS5FJkky8Fd9atAmUj/vI71bSTDXWhYuuiPpX6TTVa3DVemGO+Bw\nHKnL51BZMZQq8b2kRqvyFkjaifhSVkZUTDScZygAaPfP2Y928OKJsxiubOFT\nkK5WyIs8KA9TbijcxfYcxeID3/0QkpBdCI4AQxbL972YutzIct+AcwVRSi3V\nT5cuicTLvgeGRYppC2K+IQ6Ha6bA1XHDfRiY6CDHXHSg8XZ1g02StIfOTwwo\nUygOt8YtD5z2nV7ikoMLAsT+RT+QTDaqwdG3AqCj8bQp45U8zk4ob4BXfLAa\nnagSiDoFFaAoh7nJ1IoL+GGBqo7v2QVM/m15e5Q+xPvg5CJhqBn9YSGAOxxE\n0wXoWnagkZ221zl917m3cHDaDPqyLyRSLW5BP/7HeQFbchitC+SJrpZn/3/q\nzfWppQIt68MWwnsIdShhbq2YOtWCohIBAqQFBIMcdGMmqBxDMhauTyJmnchE\n8AUz0qmcPDMDIMKHiKg3QwFEAlvBKYouIlbAUp7nUDxt89deyw2EHqIvMzHL\nUQhYej7fjY1CyAXkqv62MVk1ADR/OfnaecR7f4RsDIQkDM3jJtR4NZBX5SxN\nRr5+\r\n=LsXY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRywSqU3Dk07b8G+PhRxiaE8sJWBQJLmmOoJixA2AHvAiEAvYKyOHYINXvrd1A8WDsDc05FR5jmMnuVjRBpi0L9LHM="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.9.1_1642776775092_0.40653638633592126"},"_hasShrinkwrap":false},"0.10.0":{"name":"@usedapp/core","version":"0.10.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.10.0","_nodeVersion":"12.22.9","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Ep2hnh4AL/Ygv7Hx77a7BvoFySIl+2ocmfUiiR+E+HhCuMHvr7+CiyXLWWRe6jhSFnMtqQJpNjRsvLWrSepRpw==","shasum":"054f88cdcb40bbd7a0969964a8e98569fba106bb","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.10.0.tgz","fileCount":1227,"unpackedSize":2149970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8UQqCRA9TVsSAnZWagAAcY4P/1Mp01e/OmDhyEYUcebk\nqAsRgIraeWQ8BCb3MpTCnD1FasC4mD4rPPi/CCyIFfIbjZk7soVp+YNgkSAg\nfRcMhQp08EDwERGlRMdCrSBfBsBOh8iksw+7cYycJ+irgZqVDQ/sjZzxiMOv\ndSqqI1q8292hFpUlRcG6Hoylgf7wI5ojJ3Ime467MSIE+Fy8jcsGHi3mU8Qz\nZLKP7jjH9rTVZWTZtGmynyaNdS/Wvp+IGoU1ztxuLwO0X+bRIaYEbxdVCmKo\nNz7EccaDh9U/CIDVeICJOr2rm74UNyDjLCdTGHqbZN19F917tp+99ygHmj5H\nI7amNc2WMpxW6eGbrTWwgRCtU9TJ8DmdnE0VsBh9vVavU0f4O0o27ReVX7eg\nlP+KZofJgun48NzGvA+M1kW0N7TGJUlrlnJx/xNSTkBqR/uJbqn+PH4VHWK+\nGZxAFpbKREMU9/GO2oplmRTpoUsqiNos1oz4mMFF/IxGpZYdXpbJNelBL3f6\nNo+kWkiRoQqV66wFCvB5vkR1M7is1AV7+DtZ0xGcpI6oIxkA2zD28rMqlZ1J\nmd0E7UPrLoYTVHGPVkZUoiFE4z/rglJ5lXLTZebzKVzXfmQctO5hqf64ps2X\nOEKATLRZ8kqtnnjgTDVCE2zGQ6TUzzKn/YU0HDEWVOKfXfQ0d5512WFmCZY0\nAcIY\r\n=6wcX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIuChhYY3zuvp3EG/Rab16fZO7B1NTJTatPxAK1KJDdAiAaAolWEGPyuY3T0JpwxhPBvZM+fsDRHv31O35LrtZLog=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.10.0_1643201578708_0.6320224570913799"},"_hasShrinkwrap":false},"0.10.1":{"name":"@usedapp/core","version":"0.10.1","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.10.1","_nodeVersion":"12.22.9","_npmVersion":"6.14.15","dist":{"integrity":"sha512-hQSQfIkG9mM2nswgth4c0z9ch3CYWY2TVKcWp9cSHjUdsXj3om1oEEX0DjhWKYm7PdWcOihgJh4bYXayD/dqeQ==","shasum":"4fee95f43b8295fe510bb72c87f3884e8433c807","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.10.1.tgz","fileCount":544,"unpackedSize":685446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+/LzCRA9TVsSAnZWagAAzsIQAI8ImBfvUqNkfvcXlpa9\n+oqQsiaIzlvdeEzHciTgohPIh9GLjmXeAI30IpykizCiUQnPLM7IwAaOZKlI\nDjRi0V0j6uRgaNLG/7kn9RGLRm9ockrLIyjSpUb2ZsvWLqVvVOEmRyRWYepl\nIZ9kf5lYj0e1r21Ozs2KyUTsCXI3U+F2ELVn9ZDZ3rX4crTJqmY4qIhtrli6\nmNLCOCsl7TbZGG7nku322DGWaAcYy6Ne58GRntkugWJYrsTSfGz2WNJUqfvj\nwkX+1DJ1G8CHPWmsKfRz3KflevisGja52RoAL4OzuwazYNlulAJhXZRU2Flq\ndIOKBKW0gcKhsG8A+5R3lH8jvn9QtYAdBolVb4mhEjHn2a5XRkOmNwxRm+31\n/ETvBMsXQ6drXMoz4YYfUnkHGGuMzDAMG6G0hlY+J74PXhRsAfutJLOABOPY\nmaZ6E8Sj32NY9gAxYPkA7qERw9yx2e6iKhld8PdISRVQ80jEdPXH6lOokuQd\n9s2FvyiY6YFgTXGH4KpS6Yo4dfEGOWGoc2Vp3FxcXNnnTXYoP8zStfkvU3OY\nTFTnNQRNmpvqys5pS56j1yFEVHGkIPuIWKw2TTnpMgk1nIxZJ7Xj4+REA8sO\ndQbFUY6qNCRL8GsvDkPl8oItfW7V1ppedtLmie4UzPgfyDyGmTIZKKeK20H6\nF7KO\r\n=0uA+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFyiTLTfRfdVnSnoYMWeSobBsSAO0swp5FdVHi35DXMSAiEA1/7k0VyAC3WO9bb/nkxIGgWyZsbM52fQPYyMMI8iOB0="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.10.1_1643901682924_0.8536068761587443"},"_hasShrinkwrap":false},"0.11.0":{"name":"@usedapp/core","version":"0.11.0","main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"publishConfig":{"access":"public"},"devDependencies":{"@ethereum-waffle/provider":"^3.2.2","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"^3.2.2","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","ts-node":"^9.1.1","typescript":"^4.1.3"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.5.1","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"### Ethereum 🤝 React  Framework for rapid Dapp development.   Simple. Robust. Extendable. Testable.","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@0.11.0","_nodeVersion":"12.22.9","_npmVersion":"6.14.15","dist":{"integrity":"sha512-59M4FToZLdXLPf9R4eME7aOBHcwrqmf8+038Mq9Zcd3Ep+YvrN0vnIdNyzjAAJXXBa3bX139ueli0lKwrGYbUQ==","shasum":"0df080d253468b421c6b712f1b0bbcc7bfec15e9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.11.0.tgz","fileCount":991,"unpackedSize":956240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAmEJCRA9TVsSAnZWagAAlKIP/2jgUs2eF+pD1evhKqAp\nNTTxH58FdkkVL6w+tO4/jGlHTgXLGWf4IghbNyrRDwfIfnEX8kriuH6Msv+F\nqtCO/X32zB8azX70JllZ0uTyVCUspm6AcSl+DrMpT4CJUKjmIR4moPMnECrB\nNMi8aRuGi7SFHTE9CpjqQzm5gbdXvFt8Oo05kfDpnHbeU3+mnanKZg1nzNPR\ny3MHXrWX6p1SVR99ZmAL4I3wZtvODZLvjvX64a3cJdTHQIXDylGcfq9uzc9T\np+Hn2hVabsQ8fS4kSwXPghR+DdXGY1JppCZtR+Ki+a93M37wTuHmI6PIPEAu\nb0WtYHqq8/G8qNJLvCVFlRswZW4OmviaiOxtnFeevRISVulp+05HiOIuwlLS\nnEE7glL5WrTJXYGDAGw9AFKkb9Ubt3Lwn7fGRq9eFVkE/g5E0BwPhcDam9e7\nnyOpj3SUzKgbuHAbDH1v63mSb86nFRWVX06q7gUfHNH8YadAK1t9KiMgaefR\nmTCCMPfo1WcLB01OvpQsdJ9VJgTWy54cT10ALY/VfkOcUPD7H9V5jnL0rWyD\nBqSEYc4MCgM+AVAivy0VJUVriLQ6Y0eOhio3SlVYJcdqTyIKWbXBk9kb0q38\neepEr5PZJ72ybdzmXkNitjk7YcrvcOG4IaOqTx+byMWWQZ/ii6SiGM7ERhyA\n4H/M\r\n=2Ikp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDNGoTjqKBjaK/Q3TIIFPiutEv9nUTXEz3fMSFN2rjPAiBrrJnBEJ0jZp16+Yp1oeHCJBtgPpEj+k15hNnp3ThQcA=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.11.0_1644323081224_0.626815902000883"},"_hasShrinkwrap":false},"0.12.1":{"name":"@usedapp/core","version":"0.12.1","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.1","_integrity":"sha512-ySdb9OKq5l9J63nVLhTYD9xh/mOkUUpr/E41PaI/Z3y2Ta+jnY1sdE99EJ3iUy0ky0tEyIlwuJ9xupaN6gj/Jw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.1.tgz","_from":"file:usedapp-core-0.12.1.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-ySdb9OKq5l9J63nVLhTYD9xh/mOkUUpr/E41PaI/Z3y2Ta+jnY1sdE99EJ3iUy0ky0tEyIlwuJ9xupaN6gj/Jw==","shasum":"8728ccb0071480486046e9fd43a2e0550ac40b71","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.1.tgz","fileCount":1748,"unpackedSize":1872716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMxaIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrC1A/5Ae9NivA4sHXub3Xd5o0tQtbJaRBdWMi39z/v/H65irB6srhn\r\nU/OY9LlLQOmRtCjQx3W0Fj9A7RcB8YA2vkc2uaZlV+BSyNcxy4hLekeIl9DJ\r\n9Agy7G2zRUOxHwxI4Q0h5cESj4+IVUY7iNYiGovAHcrYS6j71f1s/R9GOCSn\r\nElrvj7cbns71CBqeGaJZfWXEJrDe9NNcwl9h8I7nzZAZacH8SNef7Atx9OMz\r\nLXyzp6xdZgAqBrvBxLZxBoj9A+/es9sjk+2XnjLXjvIHkgiBE6lpq4ScW9SO\r\nOIroVx35+0VcCX09Dj90oQdhIcbY7cy0AxdluP0/UpTkEhntZUDEbK3onw0K\r\nP2PtR/BghaTfNN2Yppo5YT5Jmt06nDrOpBJ0wY/GzN4RE3fXzdk+e1+kEwtA\r\nRJLkR6IyN+FaSXwIWDMzt59D8eE3biZTR7IiUFLlwDgkrFztpj8yzCwvJ4aa\r\nm2oRFPCH2fcll6P6l5WrMxkyttbUMsYXoCcID5m81FYUI+g3nSiMtkb0EL77\r\nv/tmGzh0KmC/4TzJqwyUCQjBCMu+bciBlgMMkw6w9qzp48rH4QLAqmyoJWoa\r\nlLJrkbEh15oSaI2cpdEZwlE76M77b+H/Gw7Hhv1rNsKtgZdIKJURYiNlkogv\r\nfhbIJRegHtKOTZqiAOUd5ByKwLD66GNn2aU=\r\n=fiyZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/Wii4Qyr4TgHr+EepBkWDkCDnXBjlus7BFUb9zFaQhAiB/0uIBZfbmu1a5v/VU1+u1KoZdl8rw5MQUrYYdNrc5rw=="}]},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.1_1647515272574_0.7325558396661351"},"_hasShrinkwrap":false},"0.12.2":{"name":"@usedapp/core","version":"0.12.2","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.2","_integrity":"sha512-+ZUSi9E61IaR/sGt0Y6pV/GdSDR1rLezWUbYYKa0qmEXRyMMLx4kXyC5FpjkdfVZSyKTmt5wBij141eQMclBzQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.2.tgz","_from":"file:usedapp-core-0.12.2.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-+ZUSi9E61IaR/sGt0Y6pV/GdSDR1rLezWUbYYKa0qmEXRyMMLx4kXyC5FpjkdfVZSyKTmt5wBij141eQMclBzQ==","shasum":"fdf60c0ef4b5337400190f2432b4669d388bb546","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.2.tgz","fileCount":1756,"unpackedSize":1915633,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDw9m+AKJCI8UHXmzxATZS2b2SinBrY421uPqqJSmR0rAiAFezgZBeWrjVVO7G0VtRaXVcMi6Iqwgz2EcmT0DGu9dw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRZQkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrothAAkDjGxT1LeWC8ZcPuwPBFQjAzng5ICIEQBLC102E9h4UQolvS\r\nsIowkAk5JaCGrioHE9L9u7S+9Bns4slnm5dMcdkU0ScPHNHmaUnFBUf2CTqB\r\nd6th4Qm1SxiyReBuYqVDmyI9Ym3Dff7TkHayhXxxImfeS53KG/Cgw9ZyP56E\r\n0pE3S3W9t+xQ8tUrJdVYBgLPxLTM19sR4LcbNks7qommCltE804Q9Xno0qu2\r\npG2wsLFw4Zo72zGVBasAHW6mn7tv42VEeGkCOmwDXkuyvkaRm0OJzrJLGi4W\r\nVOnCSnwRrAZIckVHtfG++Ty8WahUgX8JAKAoh2IlqiZz1NhrPFhEY9t9CaDq\r\nanoA0tAzyzPbvcCHJK7ApXyx3gPyydW4dy6uDfbyWtgNt/PtmwQpyYorkIr6\r\nk1rUsrWSAQZibEXcFJhNqXvc4sOvNK+/nVVQ6a7jzgG+n5/njn6abrtTkB40\r\nNoyvxeXapLgScQjZsYR9i5uJu6yAYjUzQFF6DDiYGYy1I0cJscQC5WrfIE57\r\n2IfbujoFCq4HlNn2wPnFNN1WdXk0wWnA0wjZSlN4NFGYsMcKhZK4WELI5oRy\r\nQvV9AYgpbR4bhb8BRksS1X63pL/fobQFypzz9EpHfFJXB6+cKKTyO0xBK1cJ\r\n5oyBCdQA6aG/WFWT3lrJFzbfvkjiJZQ5qQQ=\r\n=RAKT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.2_1648727076390_0.0701039049830412"},"_hasShrinkwrap":false},"0.12.3":{"name":"@usedapp/core","version":"0.12.3","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.3","_integrity":"sha512-VuLVpgjemhsL6tWrkcDQ+MQrj7lfvKGt4QN+Y2JxGtxi7Avo7O1SfK3Rseh7yWHE7WCMzmPZ4l1x5ZcwpmyZtg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.3.tgz","_from":"file:usedapp-core-0.12.3.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-VuLVpgjemhsL6tWrkcDQ+MQrj7lfvKGt4QN+Y2JxGtxi7Avo7O1SfK3Rseh7yWHE7WCMzmPZ4l1x5ZcwpmyZtg==","shasum":"f2300fba608745c80cd6dc5ea44b4b45628f0742","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.3.tgz","fileCount":1756,"unpackedSize":1916651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDMBrcjTkfN5gwnNy61aRJtWtEESEqIjBHA4I+oYTEK6AiBIBIUQESvElXWcz20sw/q76iXNo3aMUaUgeyKinQkFXQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSsA+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2/Q/9F9PUsTsh+8+E3GBmXfFnmUnlz/I2TMBI5Znuc51HcWWN4SJs\r\nSLZ3vAo2VPvdaWNApf2eGfoZYEvrOTdZeo3pHepLJY/CTfuMOF2YcCUMAOrw\r\nhNgpZVXuJ3UeLKXUmGuPr544vnEyVVVrSWuYVgxt8eGgilOOW289BZIrHf/Z\r\n/WaI3V+jbboIkjk6wtwer1XvNkvstUfoIN38N1WIc52JWngfnkDQguyj1ZVy\r\nGKgtybEHJb7+Cu3DDVy4W671B/B8AaV3R9zXF62LkTraE+HBoUPH+siKcrzI\r\nxGObPn+BxiMF4Edjnn/DaNPJK26coKgPRKOSoLXyjax6Hxn5jkDUfJdpCVvd\r\ntEsT2CKdkCxLjgFX+FQoYljp7i+vUAgqxTsNe3gYmRCs39TgK/fudNuvmXlm\r\nA0fFvHD51P4WWljzwSs85512/6mFyfJzxsAWQRjioO8LslEqNL+p1+9haRNF\r\nVfwrK36bc0VFaRM2hVE3PjySCQhYC/1OUdjFbPHrlOTlP6FPKzt+EAdtUukM\r\nwU9h3M9SZ4IIKu5FCwBTD8kDNzWZtMRncarS69IgXuGyVKwiP/gjhUCyhaCj\r\nqRTQyBGaeSqWrQK1m061CmHJk34zJ4/TnY50TonHbQ9vpii1ju3O0FkQ8Z12\r\nVYrtdil2RAdbxYrZkAjKBFDoxXekQOIXWiI=\r\n=DI4h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.3_1649066046503_0.1507788899520126"},"_hasShrinkwrap":false},"0.12.4":{"name":"@usedapp/core","version":"0.12.4","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/internal/index.js","import":"./dist/esm/internal/index.js","default":"./dist/esm/internal/index.js","types":"./dist/esm/internal/index.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.4","_integrity":"sha512-oYpzwG2NVlV4kDkE4pI0fjy7sfFQIq4xbrIuCOnXmlXKG094fzJ+Am1wbMS1UIFUBHdpsrXUI7OpsFkcGqzv4g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.4.tgz","_from":"file:usedapp-core-0.12.4.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-oYpzwG2NVlV4kDkE4pI0fjy7sfFQIq4xbrIuCOnXmlXKG094fzJ+Am1wbMS1UIFUBHdpsrXUI7OpsFkcGqzv4g==","shasum":"fc3cef818e9dc137a126e22bff6a40e45cecf79f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.4.tgz","fileCount":1819,"unpackedSize":2032099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsvBvf38RRryLDJFzBvNdFrxK21P7LMQOQCRav+E7JFAIgYIZv1aJgjjT20A5ZHFTeCUGWesTHY8DjLoL3GkRItwk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTG7iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruaxAAo7qxM99JLmeLX9O14JZfEJeOSSqqtqkEJ/hdzNhFmuwTDk6P\r\nJ+bC405HtgQOLTjJ6Nv6YsNLqqcNeAUXsJ5wa72cVPIUSC6x2ucrxRZ+UNqW\r\nT9ZChsiv5rz6yYB081psn6DOVAjD8V1VSptr9vApL/rNNlJd6SXI9UyCZEgs\r\n/Mldy9LRz4/DHBWbaDW0EvjvI2HjWyWHExr8bUf4t+J/i0BTqpdXEgujxJD1\r\n7DOAZIFFmIiDRfN48lZZWu0/D4KnBadSQM3kaP+yfGk2YXcAi5SgG9lBbk0o\r\nOOYDoL+bN/1Et9vsjVj9vwF5y0yJYZDwbMV9ey07XWnn3pKK1rrZfo5tANY7\r\nW/ks5E7XTTVTdJCSoIKANLKHPxtT2Q+FZJBPWkZi4G74r1UslWvoQo1aRvGP\r\nnj1ypI4jmBYGS0MoXI5JGlaEXLywS/NAbIvI591W+44ybTRiAzVpIx6w9x5T\r\nSKu3amF7cPHOIljKQ+ALThc+ALD0czAzMiNyndaH6Sjy2Dias58VDnomcTbA\r\nFiAabgbruoVe+sMS1EtOI5EQTzrRpLpDN7iboXptBSMvnrU07i0LYo1U8mUr\r\no8OY6dfkop4cs22jPEH9VM0rqdpAnt2ybNwzeCGTvlgLONaZx6LjeT4zO9w5\r\n++ZfYcAaNfVJKJ5kpiDm4wuSVBKnKLxz8Xg=\r\n=Z565\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.4_1649176289777_0.29823033293490564"},"_hasShrinkwrap":false},"0.12.5":{"name":"@usedapp/core","version":"0.12.5","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.5","_integrity":"sha512-/F9uvILtd1St/lTRQXUCyLX+PdY9jjHBJaiw8JSYhOs5XIqZqIZWYcw/vRnhHW0kKKLD7G2x2P6DT2AJV/0+iw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.5.tgz","_from":"file:usedapp-core-0.12.5.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-/F9uvILtd1St/lTRQXUCyLX+PdY9jjHBJaiw8JSYhOs5XIqZqIZWYcw/vRnhHW0kKKLD7G2x2P6DT2AJV/0+iw==","shasum":"6af68c98cd5b00bc1c4528f2af3e6107609170cd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.5.tgz","fileCount":1617,"unpackedSize":1921555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsJMD6btXWqUrlu0YQF4P2zLYfb3v6z7o1ISWL5d06xQIgDxw7+Xx947NfrXVEEhoq85MTwIMjxSQLdddNCkns8Gg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTZKRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosOhAAiSVfwxhwQkEfHwTP6BXxDbQImaHo8mfHGE2yX89i3LlwD3SF\r\nQEb4FEqF/okL2hli8DXyjWTp+S4HMdjCUr10nnQ+3mMZqYvOyDunGgeajlZK\r\nW4rTmUcrMqvQkCD0jspnlCF19CZELVs4AvPBlPPgACPLU4kiiNbyHLhPCByE\r\nirneLeCSnLqPMTxnnqZQx0Ev1ZNIr5JxJyXsQYmKzViezwnV/z2genvFQUOe\r\nAwJ5T2NM5TZmBPkqiedT2XVTubSFOuRgsly9Pw52poGQymETzN6aiLzNtgji\r\nDzE0Vvg2wItBMx7xNy8BOdjhFoiJKC7caxDtPA7i6TykC4b9HuyVyZ8b+Qw7\r\nU+tD5Ib3uZfUAspHN3PEL1iwxKBlvs/8HMElwlY7tV5PF1yPUnXzlkdS1yfM\r\n1Ap1Yz6Vy9r8064SdNgaEn8mKd69h/iO6lU8L6/lIW85A3q32ZrJ60Y6eNh7\r\npDrecNDufnKEd+eX85Rsxs1bC55SfrtME6FSnm4yMgbyAlIHLMlBDQgkxUtn\r\n0SKFMnREg/znOxnkWPaJezXuxxPwaNTDZhinsgzr4qr1oP+Ee6057gefFpbX\r\n56nlO1VCZ4/xT37TDStiq9agvchav3RJVHWrTwXbJn/6CLRBYzgeNEvWSZCr\r\n3cB/DaprXArsaJA1Ep8Ps/tluucm5QJq+PM=\r\n=zCYc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.5_1649250961206_0.4165065459084285"},"_hasShrinkwrap":false},"0.12.6":{"name":"@usedapp/core","version":"0.12.6","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.6","_integrity":"sha512-UxAWw22ZoSPCgb/zrFDaKA9umR3YK2jernk53t6obv0xGenznEDQubo5odzhoFS+M8C+0Sj/CRcthEUmTuFRUA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.6.tgz","_from":"file:usedapp-core-0.12.6.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-UxAWw22ZoSPCgb/zrFDaKA9umR3YK2jernk53t6obv0xGenznEDQubo5odzhoFS+M8C+0Sj/CRcthEUmTuFRUA==","shasum":"b0a693afba8482f4777cb9af02e8a4c642e0bc43","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.6.tgz","fileCount":1617,"unpackedSize":1921639,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGxiuAC7IBxnP9+YroO4xpSpJnahJ+Ur0qT3xKHe5YbQIhAKDsVnvterNwBv3XoU70YZRqkDvBywk8VCEaqjZGUS4x"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTrmxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgLA//RxhcbxekWw7lPUqlBgMqHscMOxoWJKh78WWi6O+6arIZsSJz\r\n0tL8RkvWA59LgJRBbUQ4HUlvPj76PxcvLYUpJDNCxGDil4k4VrooWZSq1c8a\r\nTkncniu3md+Gf40lWkSR21szj2rEOiVOStT7eI+Ops/EXXZqVEQ0nlOnLRwH\r\n+mhm6GsY253lIlnJsTs8oNviX1qsH93u4i6KdNCE8LP3tKzZxP1QpY3Rauno\r\npyRkISK1K3499Rt+U0wb7zuu74dFs1O9Gm/QnbdEnQkdZm0yRls49fyS2L2q\r\nfl02digM/rcMie6BcpjfCQEXdgulAlmT+0i9qJxAkZpUQcOh9NBkinOO1Zef\r\n6Q6L4Weo3r1Td+7yaVJR0mM2LpLM+Ls8EIcXsMx7YfwNq8Z8JW8mzuDyoBiD\r\nynYeHEyIS+rJXH1TEgv0NFWBUH5qJlJXqi+YmyKoH57Gg3Exnjnbpp9qnVg8\r\ncxr+deK7sDJF/2B1qwVVtwlOmZNpsIHQR8ERpCCYn0d6VL6X1qsG7Ii0I+Eb\r\nuTikPMQKd7tsTDHgXyN5n7juY6ibBdFeNFgkm5/7Os4DSePDzEFBE//wIZgv\r\nO7iMj77BCAz3LCuOZTYQ7Qy82DO1dlKQGKwwvsP+Zhtu1qpzgD95yyk+qDik\r\nfXwvWpncjUEYetEzfMtOQOwheakLrbVmeHw=\r\n=6AVJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.6_1649326513454_0.5908642769590016"},"_hasShrinkwrap":false},"0.12.7":{"name":"@usedapp/core","version":"0.12.7","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.7","_integrity":"sha512-oON0C0sU0vhwZwZHnEdBpnAwTf3km6mQ0mf7cpwBhDJf/J9/uIuG0iiBO/z3kJC/HQsspZlEeBMtR49UFovBjg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.7.tgz","_from":"file:usedapp-core-0.12.7.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-oON0C0sU0vhwZwZHnEdBpnAwTf3km6mQ0mf7cpwBhDJf/J9/uIuG0iiBO/z3kJC/HQsspZlEeBMtR49UFovBjg==","shasum":"ba5cd7fd3b578fe74ca0873ac932c0f51aa18848","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.7.tgz","fileCount":1617,"unpackedSize":1921471,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsYZywoMLkunF+H6BVbdO8tLK8QWxp08oHQsNxV12crgIhAKaO0MNhlgHKFAbsPd7vZiL7vAMfZWfvcRZnsnxg4Dls"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTsaOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIZw//b9KKZ8fncEUKETI7FWILcPm9/vIpqd0h6V5cXCBCx+0V+09f\r\n520/1afQM8PJPM+577HiGX7UnNXCSPL4yWQqCUjjXcSaYqi1mRfZpU45Ph5N\r\nmuJlt8Rbv1LdqsaWInBd4d1sc3VwBSnZr6MvwMCjEg/mxl0CFLCpj5VLUG6X\r\nMdm++OTOwbQy1hD11RjUQegJt6FpMCnD7cq5mpLQTGcmCdeiU8dDyAMTaMfN\r\n7YMIj2TXmHONmVjrY4kp+fJ49ASIZRR+Rw0NRqze6KtITOwTDa7y3DGlWiNa\r\nsA1pYK49f2ffWv4LhYczim/s/du+eY+yXVvcEdwwAc9royHENkq4MDKHN+Tc\r\n0w90Q3lPZvPEU7ZkZ8/hd6RfI4hEiTNBI43N64wKHlOhe9XCrl4TjZFX/sZf\r\nivvrGpjCGfpxwEnguwkdYIVntCUFVrc4bnQyS3CTGQyC6Vw1fTlIjgFpqqiN\r\non23qwJTUbmxMFY7w9nI6iQumIlgpnLdqdBZCStpM41pnj5VNgU/pFg6+DCX\r\n7L45MrQQY0crINwWujptm7Nal373bJuI/hbjZj4kqb+tfBPmfSdlXdQaZCdz\r\nmbJwLEICrz3/n65q6lj3quDHMMOQh4jQm40A/+7Ki+3XX8JbfF6lPUJIiGN2\r\nc+OCyBhOw5y4OCXePsEdLggMSHWG9e7tXkI=\r\n=V4C/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.7_1649329806798_0.5176151903902766"},"_hasShrinkwrap":false},"0.12.8":{"name":"@usedapp/core","version":"0.12.8","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.8","_integrity":"sha512-FyRVFwFR5OPBAlICExpqOHW7TfCecFpO8jIYKLspmDQVdVtXL+irTrRalo4PLoY1maFvIY+33gQqCmgsGR6VpA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.8.tgz","_from":"file:usedapp-core-0.12.8.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-FyRVFwFR5OPBAlICExpqOHW7TfCecFpO8jIYKLspmDQVdVtXL+irTrRalo4PLoY1maFvIY+33gQqCmgsGR6VpA==","shasum":"f009dacdd2543180f365294b28366d92cf8c91d6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.8.tgz","fileCount":1617,"unpackedSize":1935706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEy7LhDac2cj3freC66x7WCA76clgE0KZOL31QFSpZiDAiEA8PRpODbct4x2/YmNawGrlemIEsCq3VN+1sZ104cG7yk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUEkeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/fw/+LS1ut/iTvbNMN3EqUdHXY82KLt+Wmh2DrXdDEQiX8fj0lGyG\r\n2AyLd4r+62pLR2dq6w+zAVXZPSq30M08iN1+3oULxfr1b+z3AbFVvy0YxTwa\r\niLLudYANEkRyh4NQLDticFMtFjIFysghmP4x2B+pG6yWv5ZiR6I82OZK4ZQJ\r\n2qlWws2K5oBcicfqy9niB8L/qXtjxA1Ktzo+o0fCDiH9uX/Sd4t8vZeBZeyW\r\nDQBJmk5j9i5IzzhMF58MmqDTYdknfarOjQYYycpUJbHxzCy7h60QMUPuzrbT\r\n70/+3inKVifFF1ucaz8sGm2rO+RYG8MU8iIb/IONN77xLmn3cO3RxO97cghy\r\nftviDpAKeIdk0dpFsy0NjRwkbYpJxWZtymoOEtt/2qEh2uSDm5bSsxVp1P/b\r\na27mukrMhumQdsf3Wy8Yt9ABpp3JD4FLxKj0n6qUQsEZpJOs41qaWWyYx05b\r\nZASDwsr+KrFK1pztZXwxozJElrJaew07mZvQOX8Pps3IBfzs9o9+TA5jXOt5\r\nKc/hUREoYRO4c8RKPWWlnNSYW59GqvzUB7gbF7quJYvWC6ib4TSoh4W5nwNC\r\n1Bbn3+5sOrLJsDK1RTALFYfD1kuPX1FxGOpJnyo48ji3TG01+kxox0ZSOGBH\r\nEpzF0u5OeI7IhBVPv6MwqGpU6KYdYA9+IQs=\r\n=r8kN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.8_1649428766284_0.13997074914313723"},"_hasShrinkwrap":false},"0.12.9":{"name":"@usedapp/core","version":"0.12.9","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"5.6.0","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.0","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.5.4","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@0.12.9","_integrity":"sha512-Q/iVgWap58tgBh2R3uJIBw3bZsBiiHw4L+T/5YO9CFUMBPAOXbLskkDo0PEMRF7WVO2jfHNhtunpI0rvyobK8w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-0.12.9.tgz","_from":"file:usedapp-core-0.12.9.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-Q/iVgWap58tgBh2R3uJIBw3bZsBiiHw4L+T/5YO9CFUMBPAOXbLskkDo0PEMRF7WVO2jfHNhtunpI0rvyobK8w==","shasum":"d14220b8edf4a48f76be1a509b594621f2ca20b5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-0.12.9.tgz","fileCount":1617,"unpackedSize":1942093,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPuRbN17TVr019/73JfnVjRqGvooH6Ns/ADqGp3vXsQwIhAMDCoGpjSVnhpihMRJjHmdGICArcJzmIoDomrknpsL6t"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVC8cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouVRAAn5/caGMA9j+Tx4pnhVEX8OHoF0v4CD2BZs03/MwXipf7Ns5n\r\na7er1XMbUCYm3SaN8oLZqMrJjrsEwelX4IZ63AmSjTSUOCOUZqg6CqgITN0R\r\n/o9PWhNO/ip/ZJMi3bQw6+4MPRU4D0mexMa5Hncxtv8X404S3NDjNGEb7E38\r\nlumgAOtwnP7K4p/Vlul8BOTmEcFxWbsmjpjicsPbZPmZV+gtTOUYF5vVhY7D\r\nWDWTwWjThMvojJlfTW06GtN72a1WBS6wSJsKiCgtpW7E93x8QrIK5tP3vr5o\r\ndTK9WwZu8mWJtsGX4UGgMyZPqjEMsp3m0Q3Pas6pP1nZPaEi47ls34dqn15c\r\nooZvTm6nlckiJml96uQG0susUNgzsK2YM6qupDoeCLZUXukjwuMNEkja8IMm\r\nZVFWeAJ4jd7jN2UOa9FWH6NW0SzWjrMkG3A56UrOgJXmtPK0n3ISurO3IYW3\r\nSo9GpsM/HSSehF7l7gamwpRaPdBfTlxFei28sqcqiMY8dB+3HcOlZ9aZyGwq\r\ntWctFxhS5YG25CX464n++jiz4xYUJAU0B95Y0UOC6WLRj7wkW7TCQOeZkjNQ\r\n/M1BXNkY0bFawRRURXU6MrINmYFLJxZ94L5IiqU7fw0pZ9eoXr8K16GE3eRM\r\nkeMV5EiRHXnqWWINls3YRdWIDBNWyvhKIDk=\r\n=sm4J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.12.9_1649684252663_0.07021081455960587"},"_hasShrinkwrap":false},"1.0.0":{"name":"@usedapp/core","version":"1.0.0","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.0","_integrity":"sha512-WbMgc6esjaNhN3XR0iaz52dWEXQOJEaLLlJm8kw6APy+h/4A6WtW+emiaFDRuItn6Ora6lCF9AEoOBbycpGM7g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.0.tgz","_from":"file:usedapp-core-1.0.0.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-WbMgc6esjaNhN3XR0iaz52dWEXQOJEaLLlJm8kw6APy+h/4A6WtW+emiaFDRuItn6Ora6lCF9AEoOBbycpGM7g==","shasum":"5f1f366d04a04fd542c9594635a74ba5f98db3ae","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.0.tgz","fileCount":1625,"unpackedSize":1958608,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM1GUcmuXJR3kNodNOaAFHsYFN5C+J+/4HJ/lOd/s9oAIgFNnxvCzBSEuSd0s+8YUbLOqIOk4Otb4ElLDZCsXkDTg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV+k+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqp4g//UudmYkEUMYYHjr+GVXzZlXFs6IDiD44vBANZAVvMg5xc0m6l\r\nbuHbKSFoTr0OCl4rB2WKFPyuoLFN9lzSrxSOADPAvfezifbJq5JrrK2d3PEt\r\nQ+3lsKIrbNUJfuMoKDPo4yMyZW6P4KB9QJ7O/zqNmyBf16L/II5fnBm6xT9q\r\noRH94xpSq7vqMR8ZzmsshgLzYU6wPTijS+JreNmTFq21nGlyWj+i7e2g5k9R\r\nsJC3IyWjNoUtRrtWeYXnK/C5kTSuAFWx0NbnJufkMXqPGn+zHS2B5hOA5DRA\r\nJ8UrTICwUf2RwkZIeqC3imBHgbSi8jO03zJqxxEOnb9UQZdZtSuwE8ehxzNF\r\nznZlajS6/v8cw1Og9r5blYhMdeKBcLi/BZrPm+aNDrUI4xej5HGXCohBOJJz\r\nhcIuU78E6ZmGgU4POGM/nq6GloyKmcn4EX1wQGDqknniAIm0uPwHNIaCq10w\r\n69pjlxz4zZq8ditPHfR/vDdTjvaZB0fctPTyZ3qQYGkSp2qwM+VAyX/n38nX\r\nQc2XQCSo7eb34eJExSJQrdpCwZszGNOgVTYwJash4JmMEjOcitDEHURMR8e7\r\nh6j7CGGVcO7/3S9vZ8rbBJ6tuYV1tj1fSbOVq1fnldfgLIo+Dd/6I2wtZJ/x\r\nCXXhYebT0g7L8+FXTxT2GgIhRwJkNSktCsk=\r\n=dIMZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.0_1649928510507_0.033583669836426466"},"_hasShrinkwrap":false},"1.0.0-dev.0666b35":{"name":"@usedapp/core","version":"1.0.0-dev.0666b35","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.0-dev.0666b35","_integrity":"sha512-DRG7yMDgdbdYU85WuLF8u9FMbc2s6Pq0Tlv8jU/pnDrzSc+IdurLt3ExFy0d9dtOrOtkD+dgpy1aEMBWPamm5w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.0-dev.0666b35.tgz","_from":"file:usedapp-core-1.0.0-dev.0666b35.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-DRG7yMDgdbdYU85WuLF8u9FMbc2s6Pq0Tlv8jU/pnDrzSc+IdurLt3ExFy0d9dtOrOtkD+dgpy1aEMBWPamm5w==","shasum":"a5492f68489cc9fd9ccbaf0ddaae4e531725a0a0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.0-dev.0666b35.tgz","fileCount":1625,"unpackedSize":1968267,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmqXQFgK8Ew5maoVforOgYL6FBZsWBZOg8PJ8DCkAjtQIgJoSoceF3aiE6XJUFljNG/LHd2WwUc9zO4IZgtwIDuGs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYUxEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCgA/+JEulgk51smj6IqpMk2VAJX6H+ovpsuHyfEbEKxlao6ktnMxI\r\n1HOowAe3t5UPLpHR5IA55PeMev6SAbQhkf81JSEExHV4VsqdZS88zZZAcgDE\r\nbfhAVaAjeKoiPwmsnuYvRiGCWf88I+rlFTL5zhnOc2lssvMx6xVssBqNlwfy\r\nqCSIZYlGvFBoxfcSYM2S0CKF+rXG4BuSwz5GU35Dx9VgaziUUzoHRfaaTTej\r\nm4xTnFdLurfXD9jWqVxOxE2UqZG2YoeFv/pLWZ0My6lnay3aqS/HR//Z6YKz\r\nJvtPVcbIEd2u58s46jCCoxmw8e0M911CjMlT57LjVUkKFMHrv16IQWcu/Z8r\r\nk11C7hA0NpWwljGX59pK3S5gmPg0JBVCiOAZZBWJsiCb9JXmV+oOL3QBCGUK\r\n3Cq/YQ0y4yogXnP44VxUkClL/nHQdQtn4hpxWzcRY6lfKYq4eYlZR0HOupki\r\nJz/4kpaPxZsr067cFDs0/48PnTT1pul8eTTPisjW0FcPrOTYD9oTsJ9dL9gG\r\n0bbsnQOUfIdOQgmffzNKdvU61dNCxem52O/MN4ZFL7EaNFjxZeHM4pMIkF8w\r\nZqAcHNOc9xwlPU9yKtXnrxjgDQdx2N7tkZ8iKo2G7Q9DxIuwYH2ISKvh9qP0\r\nzOcGdTDZ4gsoUEMNqwUpuUMrF+VTlk2x/BE=\r\n=kxeS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.0-dev.0666b35_1650543683956_0.5970060743111247"},"_hasShrinkwrap":false},"1.0.1-dev.fbfcd95":{"name":"@usedapp/core","version":"1.0.1-dev.fbfcd95","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.fbfcd95","_integrity":"sha512-STqqzpUrELHfZ54bd+VAh6jl7MGMBjiMV5uTk0e1fseACCvOOJiFlKGvmOSRZe3rfrxMBt5YHVfkBaehhVpUTA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.fbfcd95.tgz","_from":"file:usedapp-core-1.0.1-dev.fbfcd95.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-STqqzpUrELHfZ54bd+VAh6jl7MGMBjiMV5uTk0e1fseACCvOOJiFlKGvmOSRZe3rfrxMBt5YHVfkBaehhVpUTA==","shasum":"1b6bbdf31323d66540133ce8e996df3af72bf288","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.fbfcd95.tgz","fileCount":1625,"unpackedSize":1968267,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKANGY5pXBJ07/jyiyMTKakW0RHtMO30Bjkwiy8B8/rwIhAL4iXT69BN7vChiUVDnSfIJqoaaRefC9gx80ODYcLOw0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYVFfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokmQ/+Pea51gjRH+hIO8SCbTPpv0tiIAwiWxW7lK/RZc3M254zjERz\r\nqpCA7pIYIyAuFIOcFcBSMvO9fwxtaM81/wOjAkPEk+DOdmqzTIeD1wXhdREw\r\nLmVsG14XOnyN12DNacbGgVHU8YBPpcxzJdIzl7Ic9RJeTldAY08HkFmrJL5z\r\nH4NR7f2DgkMDFKaZsQLZuWB8V4OURk9zdQGvkH4Yhb3KNYiQgO46u4Uonm93\r\nYPE/pLI0KhDejPlQMtuK+ueA2rzJp2lPqRmS+uBu5Gal8ikrhyD8l1GL2x5G\r\nQoXZfFcSwKUv2e4hhQKO1ZKEUIaXECmN4YVhMreV3Otm1eDxLoaFusmXhYUJ\r\nauoytRoy8nt6uANv+rnyKgZEe8ROZXG5Z7OStD+c2jv/T8lej9d/PGAAwOOX\r\niiatetsKK86/8A1IGMcApjz38vF88PObIdDtUWyTHzj9dFlm+dpCJb5FQGL3\r\nMk+kcnbgqWID2bDHi7a48hMAv3cGTHUyPs7mUrnuofVC2A73M5iL6W5UgJLo\r\n38mDwiL9+MChKGCbYo0UP3mMIYIg4IULYoYNZyvDxYnmJhFxw8Gt+ZyO1Vcy\r\nPpdOuxiOBM9z0UHxow2N3qB9azwAjrV8IT4UkcjbMyeKIWMQeQTm8VqRjouj\r\ncba+IBaUSpVQeeloyBJQwzar2YcFhn6dvgU=\r\n=GCaL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.fbfcd95_1650544991508_0.39569807517236777"},"_hasShrinkwrap":false},"1.0.1-dev.abad766":{"name":"@usedapp/core","version":"1.0.1-dev.abad766","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.abad766","_integrity":"sha512-qTZEPy9OgnE+vwwQ4HQLjKQF2rygMjDhNnMWRTZWQR5rHJMn3/g+JTzHJ8aB70ryU5MVvSRWF8hnadIXV+RCow==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.abad766.tgz","_from":"file:usedapp-core-1.0.1-dev.abad766.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-qTZEPy9OgnE+vwwQ4HQLjKQF2rygMjDhNnMWRTZWQR5rHJMn3/g+JTzHJ8aB70ryU5MVvSRWF8hnadIXV+RCow==","shasum":"a3a72fc4dccc7f23ac58355b9a2c204e37dd5dd8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.abad766.tgz","fileCount":1830,"unpackedSize":2293411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRkm0loHN8YLZBonPUT9bk6z8c/E7F5bwjBM+i6Uze3gIgScV1bu3YQ9vWQoDiaGDUr2PwtZp5fIMCmHdYgrFh4L0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYVcBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUQRAAilqj6iQLMqxUsOtHBQUgZ/yinwg1okud7MePnlUXue2Hxt6W\r\nnQmm08JXVzq0tLBwk2uutKIc2nqOd1aI2r00ltG8O1Jbg5g/QfpeJUhsQH1/\r\n6IuLdGuSAz0mWPMa4VIyRC+DqmWva8VtZrD7AcWRtGrOjUjyZ/dV5hcPD/+t\r\nnuKEr88YLcmE2ke/Jp2600TNqP6t10JF326PZnrMZmVb3pUCn9Oa+6tV6hdj\r\nVJZaRMGeLXCNFPf7o1x562Lzbl8YtrMQvb883j0QpnuqeFVjhh9tdo5fX2XL\r\nTvj9v9nDiUM2QsimFlalgxqF4r7miwnecB2YqEBYElMRzxiEttOptvHdtP5K\r\n2PGOco0xBJps4+QA6zrLkQLs4cvbnSZxbtK5iP4EVSRMQkKlWer9Iw+vFWkY\r\nC4MBpt0w9m2r4FtjJyGg94zuk/2t83hbwWaK3ZPoM+4PtLNJhCGJsgqTyeNb\r\n5+khTRuns1UTYUgIsjVpp4f9PRjU1DpR52ha5Mke0ZWT8qMwYXJYqrabF7UQ\r\nw0TL+tQzt+lfRqUQyJlUU3k3vZCGTOd/MVEkTkQ7hO/oC2uX2E3bCnHItLHK\r\nOqNfc2zNg6//1/eGzq/1cfiiFe9XXbeBBmF+JMfrtIRrb+ortM1YqSwmsk1v\r\n1DmydFJVn6H6GmTkN7nxdWeGBi96u1O7XSk=\r\n=vi7Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.abad766_1650546433373_0.6570086276768505"},"_hasShrinkwrap":false},"1.0.1-dev.c52c33d":{"name":"@usedapp/core","version":"1.0.1-dev.c52c33d","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.c52c33d","_integrity":"sha512-cCNTxe2A65UM6TlUpA3ft3FTAm5RFoudHq5hKrgC3EoBMj+sn4VW0XlNdEm+qfyfLfn8/Ut5C65lrnqyfXXsjA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.c52c33d.tgz","_from":"file:usedapp-core-1.0.1-dev.c52c33d.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-cCNTxe2A65UM6TlUpA3ft3FTAm5RFoudHq5hKrgC3EoBMj+sn4VW0XlNdEm+qfyfLfn8/Ut5C65lrnqyfXXsjA==","shasum":"164984804675314264a3f99854eb5858b81aeb6d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.c52c33d.tgz","fileCount":1848,"unpackedSize":2302758,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9zEumBOn55YZBbsx3eTBr61Hb5cTsgTChunSmN5TILAiBMiMLYFmivMMR0PnZo6aTPQ9cGL95D5FXvPAZjgd6F7g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYmaeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmqQ//UBKXDQadvHxobV9RPmRI7iecDLhv8SqseNL4kd8HzaYeFrpw\r\nyXXYkBuxpHbQ0Az3PrUbEDYgQiW8Y0b7a4zBu5/eUz2KPIcuoEZ2dXCW3pfU\r\nKsp4aBBMcd5LtJm5igJdRH6cqoiBmUwa1Pu74m94TqOhCpRmgEBCSbt+KApj\r\nLtJBBf12ViZFJvCdxrhQBIWj3+3gNd7qN/KpVjt4sy1X/7dbg9vFUFfYRcoT\r\ntL0KEymlecWEUOrWUKcxVss30kctkDVVdt/b+hqAVcAV0srbHFY88R/MF09J\r\ndLge6OsE2BuYRNXuy/n6arsZDSKwh9bgERvvA2BLV28Q76yZRJ4IShqUqWMj\r\ncnIPHST4jvaFafpV9xtMRXG1RdceaxT/Fl7XrLMl2aoDnBlJEztCtyHm0Ji1\r\nmNtMo5gG5xjdZcYemmLeYaaRiUa9FrsR3Z7PCXsDWHO36T98NOTJSxgIy5JG\r\nq8tZtJ+PfD86LzqxMs5+ktx+I90VfQCYZYTandJI4KqXFgva8KJl0bKda9YX\r\n/rA/FZNXgPakH7B0wEvQAp0wJTNCMzqJc7O0bA7sTTleQp6C8tJvNC3zNo4K\r\nxciAAKBUgRVsdWnLV4zjkEOrQdJB2vqVZo1q8xJxUV26NbhHyjkHenl3NiRJ\r\nkwiqaXFsirJxuyN981obGukVOQ5sveW2v8U=\r\n=BjY8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.c52c33d_1650615966037_0.0007805058350069949"},"_hasShrinkwrap":false},"1.0.1-dev.dd1a719":{"name":"@usedapp/core","version":"1.0.1-dev.dd1a719","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.dd1a719","_integrity":"sha512-noCnAlZE1ivmQ3MjGK9FYsLCFMWJkxFFsy5Q7tiOIduf7ZJRBbYI4dLEXldKTsqTGKI0zHRtWfADutGt38AWJw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.dd1a719.tgz","_from":"file:usedapp-core-1.0.1-dev.dd1a719.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-noCnAlZE1ivmQ3MjGK9FYsLCFMWJkxFFsy5Q7tiOIduf7ZJRBbYI4dLEXldKTsqTGKI0zHRtWfADutGt38AWJw==","shasum":"28ad8f493d7a9cd40f5c2f718005b30060640984","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.dd1a719.tgz","fileCount":1848,"unpackedSize":2303420,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBXxMbNKIZb/6rEc31pOnXcu4+pJ/hXPjMBA/ok4Jg1AiEAuJfXQ5zB/vBkU0WOizFivOr+/V3RcRyHO7v2UqoBLOc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYqt2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8RA/+KeHvFcZACstSTuSEh7fxvHvY4vqZBCQFHcIpifM2xEXUE+fY\r\nRyNALkgam1334ULu5s6XcvXan621c8rZDtA0HisWJah9wOGsNRnA3JW5dZVb\r\nT2cLqbmbOFKpACfqGxgo3cR/n/Q8pF7/LaWj7NlF89vwLBBXITtdTxlFDCMT\r\nzA0bdtAi9/Oh6XHY8iY+2vP6W/2H4o5vRLeAJ8KxPfQtQlnLkDZXbDb+sr7n\r\n9huIctO/R1TngKWm7rY4gYBvCSOE4RsaowwBEiGhYUgd7FmWMkJK8KeikbNx\r\nXu9A7sVMlYP+OpXTVGH+r+UFT7RkhA1qs+wHBNxoFEuZkMRd0/5PTH0oEOzH\r\n67sVSInf/ICeGpXOZwLvN+JV3M3uhDe3YRWwu7dAlN/iFPb4OVx3uQYNLmD2\r\ntU+t+T0ivDRwyv0ZwD79oy2uMXJ7sAU0/UgPKW8QRLB4kMFpXmAkFOlmvkzg\r\nu5KyULNFwdSXq1+jQtd57IJ/qqudRO2oZS6zo8t/EO0NP0WLeLMSEw1Z7MUC\r\nAXersgiUVJNmnfCAzzDIuYkhi3wnFhgRuYKv49m/mgRoYMgabePyP41OcSjQ\r\neFcrKClClv4WTyLQguASragV9khjFwKCtxgHHzlqQi+rzSi2/dJ4J0xex7iS\r\nJl0y6CGJW17heExK2ytnMQcGLO7rcwiE+Gk=\r\n=5dmt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.dd1a719_1650633590677_0.704383071186975"},"_hasShrinkwrap":false},"1.0.1-dev.29bb51a":{"name":"@usedapp/core","version":"1.0.1-dev.29bb51a","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.29bb51a","_integrity":"sha512-1x/75Bum92wRusG0Z/4imngg3EcZyffLgmrIuzzhLBRNgrIB6IisGHf1q7Tu7REL+Gko7fu8V/FIS80XoYvAUA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.29bb51a.tgz","_from":"file:usedapp-core-1.0.1-dev.29bb51a.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-1x/75Bum92wRusG0Z/4imngg3EcZyffLgmrIuzzhLBRNgrIB6IisGHf1q7Tu7REL+Gko7fu8V/FIS80XoYvAUA==","shasum":"569dc981182e14133e0a1e576d7e2cbc4f9615fd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.29bb51a.tgz","fileCount":1848,"unpackedSize":2304192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDv0LY/NdxZwo2+a8884TgcGe7KI3J1gLGhSHX2YZDRkAiEA/pYyYLdg2LWP2KSUeVNYoirYbvyh0b6d3CJVKTpk2bc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYqwHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRKg/+Jt+WqCx/AR5hT5J1tsWSfnz8biae/SfTjjJ0zvYh63ozdBtw\r\njfmu1GusdapFFCHh92/nvpy8QPwA6tMJGepT9WLALjJrlDtFw3MdiDwFa5gm\r\nrDu7Q3rVOm1in3lapx+NVhNPm/ehzErR7hX8RmZVwaFoKwlwSUKuHCxKRwMj\r\nv040T1Wk2OULhCc8rosN0LJJfD7lJX9/sz0rLYJYZa6avCx87rIp3vGEEElB\r\nM1htWFZqsmsoloBFHBQVEsEjDzaDQtHMb1V3YLZ7iSQhgoUovUwidTWfcK61\r\nZoAeeKMUQ6oJpSCpmGUvirqX8Gd7OVfIQVqJCfsj1Y3CUM4ZOPF5ImtwIzw8\r\nAXV4+ojpBsGnFAK5L1hfF22WbO34qYCYmMc53ItvW5y7l+O/GRCcJ7NtbdqJ\r\nVghMtCLEM7w8ILvuhdO1xdB5yoXSbeG866XqX3Ta4bX7SAdBHQQsNpW8LARv\r\nQ9Fe9CmqmGc/aIkNfPo+tE29DwPmOxauq6G8DBjcnAj4dAJB1R1GwWyaXIwI\r\nfYm7RCYlxkhsSzjDWPXiqX04DoS88IqA05HuTI1YATQHgWYqwlzCcNncYtSE\r\nI78JERa6VNtEb8lNIyiJJBva3j6qeHe8JCsnhg+buT+Ex5HwXvgx3zrpFeAv\r\nn/KoNr+OJBII6UjJh2F5/h5ugGG9wNuQdpI=\r\n=Lu2/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.29bb51a_1650633734886_0.1380681825145449"},"_hasShrinkwrap":false},"1.0.1-dev.2c91fb8":{"name":"@usedapp/core","version":"1.0.1-dev.2c91fb8","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.2c91fb8","_integrity":"sha512-NfkYrBjP4IkIpSXZS1GZridpIUoYD3GQDOdzgpE69zZrJ1ReD/iCzN9rYiGeIgEXLryrKutjV1cc/E3rkBnYJQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.2c91fb8.tgz","_from":"file:usedapp-core-1.0.1-dev.2c91fb8.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-NfkYrBjP4IkIpSXZS1GZridpIUoYD3GQDOdzgpE69zZrJ1ReD/iCzN9rYiGeIgEXLryrKutjV1cc/E3rkBnYJQ==","shasum":"f996146ee8b784dc06acfc1c5cda46a9390c0e7f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.2c91fb8.tgz","fileCount":1866,"unpackedSize":2315625,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUVIP6+iM8p2O7pagP/buStGUCQTcs266f7A9Ev9+emAiAJkk62P991tNxg9iFegTigG8iAuEZWXpCHls9S6pIojA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZDMGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpCQ//Unijaay7Hkb7wO6tvWoVMvHpVr94Yr9CqkseI7GvKJZhBx3z\r\n9zDwZYZzwNPDTxedDq+Z65RejMptzn0yAsb8jWOv1tD6SC1uYEenD1wlgzoe\r\nHutjOZcHxrDDAybbP3TDje3MK+IAmB+rjhYx7qRqN1BGvVk467TdZtx5Xacr\r\nBSu1/XHd7cvD526Upk9sPfHkEaJiRt+q2pfeTY/ToYDzbmvSxXviwMs6BhiB\r\nythIhLsGrTgqMVEa+F9HnzUpJ82GkEnmI6KN0/3AqPgJBFTaaSdx/Mrd0KqZ\r\naMqfGwpt2SWBPdgs805Dk53HrsH+xIOdzkAhKIYQWKZgT+nXq3hHbET0a3iH\r\nzLkXcPVRlQ2Qtavh9EXc6piOeSMsyjiaFMTapWXFHH1VsVuvztaPtFyFu1s0\r\nwyzn6BXs22KEjL0dps9VgO9gD2ywM070G91Z5p6ePfP+gWbnZRZIUNBxz5GH\r\n77/VEJvUwbWR5IuXAs/kvRopcGl1BXpwSOpeptfNqSs+O95H3sulAO/wXJSU\r\n0mKkcDeAqCqInwu3j5D96cxlzEjvrze2vLnDMARLD2gH/3BqZhHIjNoWVPcR\r\ndb2CZrz/YkxqjNXGjZL/w7UOn5Z09k8jAeIMCQcEJJggs+uZl4akHTZsxsIc\r\na2L+5/mG6XoGqk/B8DColbpMNPCj3sfW07A=\r\n=dH+j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.2c91fb8_1650733830272_0.5929882635668986"},"_hasShrinkwrap":false},"1.0.1-dev.bccd126":{"name":"@usedapp/core","version":"1.0.1-dev.bccd126","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.bccd126","_integrity":"sha512-DkpbJWDusl6LRbJhosxfvOnn/BQYX6hDObfP+OULE1X6pwJCmIM/7zbI07WcMFWplUDdKsShjpSTcDQrY4eVQQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.bccd126.tgz","_from":"file:usedapp-core-1.0.1-dev.bccd126.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-DkpbJWDusl6LRbJhosxfvOnn/BQYX6hDObfP+OULE1X6pwJCmIM/7zbI07WcMFWplUDdKsShjpSTcDQrY4eVQQ==","shasum":"71e3dca613dfded08a2dbed010d97314d557bed3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.bccd126.tgz","fileCount":1866,"unpackedSize":2315625,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxuKCFhSFxhzUBIE6d8fr0eOI3ouy4Ay6Hns5SsMBGGwIgR2NCvFNhGdMFBs4jcXc/eENdzhVyJxwqs0RoZ4xRVck="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZDd5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqgqw/8CRt6n034/3+lLLIYbEKbg7gEV5nC9PNEwAhA+W2qap7qSnJ1\r\nQUeSGISsVKe/6NQu7b1w8Gja8uDD/cjl2AFh9S/+5G+Jgna1r9x3048T2iGv\r\nY+QPPX+mirrCRwKkzeHk7R31I/7jiRw05Buc0lt717uuBU0p+/agf/vEpNOk\r\nnV8/WgIqx+auWBqjtoMbKdI4zD9azySP8BNOal4wo5w7HUNUsWoQ16jNN6qS\r\nd9LQWTt4E/QI/vY/9hQIB1xVsYquQioHiehj13+LdwRcnLcoOh6eH16SXNfh\r\napms4QiIqgXHxjjBvI4LRsUVrUOF9fe7XefW2+R6yJllXXeVJxGXiMyur7EB\r\ncIqnU6TKybaiClc5hvd03KuEDI6iLcle03JTAsnIpTSdljKtP9ymyqd9qwxG\r\nzJ1Ro3s0QTWPphUoFk0JTlBgYbpPqP6LeGLXTFwHisafXJVwrt8nriOvw6BL\r\nQ8+1HP76j9GCJQ5TNfxWNOnlxBH2ZJMnAYcke1osHIL8GfQwsRtBhfrORAaf\r\nn0Hg405gfxUaofSBaWe+Gbm3FJ92VBOwTsTYyBFY/R3fA7Zu9K4NwABrqWRy\r\nL0r2E8cDfvsheuzJ+E96VV/w6YSluYv6oFaGQgPbvLFHcJrpjOravQFxBsht\r\nrGtB2zxt99Hi+RWJwX8P+N1p0VV0VJ5l6KE=\r\n=5P/3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.bccd126_1650734969396_0.4881976082643067"},"_hasShrinkwrap":false},"1.0.1-dev.07dd02e":{"name":"@usedapp/core","version":"1.0.1-dev.07dd02e","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.07dd02e","_integrity":"sha512-pCbX7OoIhfE/6siTBpiTYMVHhAwrk3HWlHnvKg/cIgxiW/d4Ozh7R2tJzgUC7fYtBnCQsczRNOcp7sAl8Pq91w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.07dd02e.tgz","_from":"file:usedapp-core-1.0.1-dev.07dd02e.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-pCbX7OoIhfE/6siTBpiTYMVHhAwrk3HWlHnvKg/cIgxiW/d4Ozh7R2tJzgUC7fYtBnCQsczRNOcp7sAl8Pq91w==","shasum":"ac06eec18f8e46b91bf083cb5021f0720c90486b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.07dd02e.tgz","fileCount":1866,"unpackedSize":2315625,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGkYjrkUfyBUdVyAwhgUPe5n5NbD6xutMsLJX6AU3pJAiEAuXnGcNUXytzCYVBSDI8YpYMD8zQqKf+6Wm7SnQvY6Hw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZqS4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYuA/+OqfCb81yeCOx/61eJjXIMA0SnaFBqlVe4B0Q58CObCe3XAhr\r\nmeWav+V+xPY1UANozMssu1cbyPUqKa0YcItektPPsRQcFafLXomq9/OMgfpE\r\nj4haUq5stB43MDCeJ4REh7dG/GFAPkJyChnpYtFApyqPiLgMVOaj1my3U1hq\r\nmkIgDzuVTuiE50TFI/iGO5ThC8X8jnOzIjxNkyvAqrO0qIlK1vSL5csyusZ7\r\nM3To6JOAfaBVss9DwWJUbog/cjpGyQZ5R5r91ZE2xW9BMJCQ/BvyVmfRXe2x\r\n/z4D+ylnrtu/fH+u+A7A5JJSMMnrGFDTwIXDHsZz2TKL2M88WBALDrMLtH2c\r\nGYZdkgq96N+lcjCP/L7glfIbTRLwSV5jkSwiUYgOKYDh1j2w641eUXfFey1l\r\nr+0yUAr0raVdIcxbErZI0qj0De3n90Uq1nircrFBZkLp792RGYaoUoRTYz9U\r\nlB7UnGqPoLrGNib0r7EChr5z0dP0CiUJEF2Jw4CYMOER/SxDLeOH8rDCeVIa\r\nGEwCukXo8k9d2mW+SRNmBOS4qXLvx78K9sSZNQwPaZc0uQUGqlfNIL55ls/e\r\n3GAzPBAvAcQYx2FIAWF2nvqL8TQju8Xdcw4xrsqWAM89Q2Svk5lHg6cI+RvU\r\n32hPbdiwUyy0Bg8jcIdgdUUyebk2UcSXLtA=\r\n=p8GI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.07dd02e_1650894008521_0.5680788670608181"},"_hasShrinkwrap":false},"1.0.1-dev.2fc5d97":{"name":"@usedapp/core","version":"1.0.1-dev.2fc5d97","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.2fc5d97","_integrity":"sha512-pLYwMYRXAybs9aER4VIlOEOVCP0SRNR/oEx/LN/UCzN+y6d0YwrjZmWTxzcU9M9MkiaAQ+k9PD9WzNxfk6zo2Q==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.2fc5d97.tgz","_from":"file:usedapp-core-1.0.1-dev.2fc5d97.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-pLYwMYRXAybs9aER4VIlOEOVCP0SRNR/oEx/LN/UCzN+y6d0YwrjZmWTxzcU9M9MkiaAQ+k9PD9WzNxfk6zo2Q==","shasum":"6c0f360b9f8aa567809685ab4248b62990a207fd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.2fc5d97.tgz","fileCount":1866,"unpackedSize":2315625,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzVQyog+V8JOE1pwVAkREPSeZQ3u9zV94qHnb2/RVCjAIgWoXwZx61OOkmoLSbRq286IB3Y+yn995hsuJjsIS5lYU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ/NMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrycQ//cEkUdjLkM/91IjgW8ro+L/3E+jRe3RexV3yL2GPurK+VoQaC\r\njSKcduHBR0zeQYv8EfM3Y9NXMa77RALl/FiBR0njZG/FNFQNP/EfxOUKoNxn\r\nzpAHiQRfpm1jJprIEsGzTB84VvWe2J7NkbGJlLRr6msQDMLqbBV0MmxlwHSB\r\n20mZj+8iFafTngnIV3JfQet9lcjyxWNQtAdd4nVPq4rTuJJi1dcL00kwaN5m\r\nKbFKQ9QVAGGM8KUi/39u2VpaKzHV9B+BjnGb37EjmBuoPJTSWYcSLNQnQ3K/\r\n2ZlkDogoE9a83uq8/fJKuzfgIrW9j8BDPfAN4FgAeb356I9qOHmwrdCCdGep\r\nbiAFGH5S8TmPBsFxV50cQdnn1YwXPiNcu+vp6sKQacRgy8ZqLr1BYiBgQFDd\r\noGoymcn4GX7yWV6pBrOc9OoyqIh5I13V8cqdkudCK8xUOqs2PSkMsjPkBwKx\r\nc/KIgO3TeSsxt+63G6CoD3R7hDiPyOeyrhglC5fxUCb2gtndpZC5TZ9yeQX3\r\nJybDdnTFYq4raBJrxuUgovb1AJU5uWGb5Zs6co+O1jfAVJOIMvLIBU5j8lRA\r\nrOyUxDTbnsxSkvhVac0zljt001GDjdcXyVSXxk1++KIDMr8WWmEK3m98HeGn\r\n4Rgw8Md0hoPpROdj072dM1FzdACIWNvoRfk=\r\n=Si+V\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.2fc5d97_1650979660565_0.6177258776653869"},"_hasShrinkwrap":false},"1.0.1-dev.2f71995":{"name":"@usedapp/core","version":"1.0.1-dev.2f71995","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.2f71995","_integrity":"sha512-ojtBGw+x2Nrxj7puXIVy5thw+WAq26NMdcZZ6ON6wumaEdqX+BDVpIsjRYjvPpt30M+Z9yJ7DjtnW+z2d3cpsw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.2f71995.tgz","_from":"file:usedapp-core-1.0.1-dev.2f71995.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-ojtBGw+x2Nrxj7puXIVy5thw+WAq26NMdcZZ6ON6wumaEdqX+BDVpIsjRYjvPpt30M+Z9yJ7DjtnW+z2d3cpsw==","shasum":"9761e20fc1e9813943649059dcabcc3ae1b22e2e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.2f71995.tgz","fileCount":1884,"unpackedSize":2324775,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClA6vDlX1tk5TFhVIxxne4B2d7mpXqY3jhIH3hlBskmQIgDjxMbGXTYKNUrvw23qXXBCA3eKye8ZbqvkoufIWx5gY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ/NiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPRg//VFhuehb8L7+I8FoXt8eXey7lyLmqwZ1DHQkJlSFvIP0aFNjS\r\nCnTnNdG2mlkRLPemltVcLJmBiyzLMgWZXEY1m6ekPz83/r5onj5EMpScs4R6\r\nkKf1OaSOHZOng3/WCyXjjCGMO+q+orki27wOg25sghvGNEku3jwuDbDL5k8D\r\nNoSta+VA9BN0f81kLDuB1TAs7L5o3aNte/y5w9VPy1PWqT8ndQ0zpezrxPV8\r\nrP9huO+yPjTSfEUcoElFJ4RticeYvRd8CrPfAC0dZ5S/OeURzdxuyliP3Jzx\r\nfQV8OzOIA6V0MQHQn4mTdPFkmgl4DXt9U3uyzRLtng56AOyYglqF27SA6zt0\r\ncp6I7pV/V9SNASXfBrCLR9Ux4xXKhVfZeH/U1TyYXVAhr5vIphlqmhJl4Ykh\r\nJpFbxa5vksw7caLk3IUBbiwlHNjbnMrbGXLGoBtOREK4Iz74g1OUwV9vDdZi\r\nygeSSq6r0g1YAlrCrGHkcfxRlXk0F8iVrduG4l6tKWjfwlYj/wklnSa8O7j8\r\niDc2kMUwbWNMymfOOk6oiWGRGBqmGS8kNBkWyWQW715ddJgkqeDRFw7OLtSR\r\n1JNIskoCjJrNFr7sCknqEZoFmSH1j0BXIMBSkRcNdAr282m9cIdodmAB4BWF\r\nnAzbo1kB3RpBMr60ebJBpy3tvxH/a9+s3Iw=\r\n=uBQw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.2f71995_1650979681724_0.5949165416078364"},"_hasShrinkwrap":false},"1.0.1-dev.f24dcd4":{"name":"@usedapp/core","version":"1.0.1-dev.f24dcd4","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.f24dcd4","_integrity":"sha512-a0xiysFgl0heTrirjjVLYx2oHZiRemqvFTYklPBeRpwM3+Xbmg2u4cgM18Pmc2jk1PJtcMgqL8638SpbdjWz/w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.f24dcd4.tgz","_from":"file:usedapp-core-1.0.1-dev.f24dcd4.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-a0xiysFgl0heTrirjjVLYx2oHZiRemqvFTYklPBeRpwM3+Xbmg2u4cgM18Pmc2jk1PJtcMgqL8638SpbdjWz/w==","shasum":"8c8e8c47a1d47401c73f9b1748b78c78bdc27a25","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.f24dcd4.tgz","fileCount":1884,"unpackedSize":2334861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCU6GXCxdEU+biMhXEexpVZntgcXfFzQM8Fb4cbrclGigIgPE7xaKFE10m3r10oMek5hw6bO5exkVvEUOqvLgmrOog="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaAo/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGOQ/8DpMxFPettDw/kqqbaTRVoXy7k1KN8jblvpUEuH2EWbxZXhfO\r\nouIfCqxRERj57g8BvpbV7L1Rpb72Xl9C3Jah7UT9zgikpgcSCXmgscYAPrra\r\nWlMh1GSUL8tqckDSDoLyJKTfcLH6BfUJvgb0G3CyI0NcYxq4Z9bD08CBu4x8\r\nnCULI4mJmvA8Xnsr3YEjfH4Pbve8Tek6jb7txm2kbNuTDjiC3dzn6mqXq048\r\nDoObJGsbSYm1OWoYZrD6mXpOecm/wTDiaZq6MOyHZz67TG3YyXh5nIRsw7nW\r\n4lY2Iznb+TqAmwXZbhfQ3jbUmHCDdaELkbh3+M39BguYMZ3rvHNNeIj/8GCW\r\nJh/q3ZhqXFJ+pcJvY9GXLxfGxnlpHfNs1dah3nKQ9nTFwLDyVBRki6p11/Pc\r\nY6pGKJZ0+Ika2Jwrw4dw4AELHVZCzy/HvXb+A1A2HiJmpeOsUeaDxkNcUVae\r\nySYttLXv0TC2ohWQ+JL/7c+UeD+iVK24MrtPoblAgRBWbMvy9Qwv0eC2jlsy\r\ndzmJXmr1QPF2CBte34PIsccOb4dwlsi1dRwyxoYUIX3EdeHYgYvYU1F93Dss\r\nMJg7BVpjEnzpIZMXW6vU5UfkJIU0nzEqUjkr+RVyZNNFCRz/hCd6hGj2NXow\r\nMsQ8KfiPk7bgHkcmhZLCxVF2+kHMUCEAoyY=\r\n=XCdB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.f24dcd4_1650985535011_0.9770155935967411"},"_hasShrinkwrap":false},"1.0.1-dev.0bd336f":{"name":"@usedapp/core","version":"1.0.1-dev.0bd336f","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.0bd336f","_integrity":"sha512-TChaXVcI+csQyfVlTDMpqUlVojx4g3fYCB06cv9uwtBsjZ8Yv7nTBsjSnDgY+6KJwpR2iEZcYWzjFfqONvNoeA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.0bd336f.tgz","_from":"file:usedapp-core-1.0.1-dev.0bd336f.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-TChaXVcI+csQyfVlTDMpqUlVojx4g3fYCB06cv9uwtBsjZ8Yv7nTBsjSnDgY+6KJwpR2iEZcYWzjFfqONvNoeA==","shasum":"82ac9e13f9b6d608b3d7ed16c6d03ae36eed0c2d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.0bd336f.tgz","fileCount":1884,"unpackedSize":2334861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsSojrwarZuid04Qu4OX6TRqj+d20BFU+Cowv2icmuFAiBb8MEwtFMDnObJEzI/xAJYn1ClC8sWtmaQcTA3f2GkRQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaN5HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofTw/9GuSAu9Z+K4KwKj4Xm44C3aQZz/qvxme2SrN++aLyyJE7Uius\r\n3mt7wPvdp07RjUF+T57GXSlSOg/k5jlluBdbqMoNtVbrNnY4ITvBKScg/gP7\r\nYi76W8H04PcUnmgHlkMa5zVwKFhU6Dye7GDRWLke7f8kBhc691vF/1ogB2AS\r\nQ/P0UzwabJiD5eXx77HS3d5ga9s+CNSIyuy4aHyqHaZqKVpBkLkMGT/GJJOB\r\n3VU+8z2MDkpflO/VUhjsE6fthKy5qmYrx7rvwuhKx7GY8jG4NPUKooacFT9S\r\nCRBT6N3bDNCICPwbP31DYSaeR/0/YhfFtSOTA1+Ueq8oydhy1J8PGA15WnUy\r\n+2pci2vuIpEU6RdG+atH1604v6ChIjBQkU28OWsaFlcTZdfwvXkQLvMaHLPX\r\nQM1cT0el2nSNHZM11NHkTQdnmxCtJQUSMPkcNcEeu8s5uYgSwl2RzxH4oWV2\r\nm9OXEB4EE8PDFfQgBL3NxAW6oK7ftjTJSunwC9/cXeYicMZao3YAaDtJOcRF\r\n0FohTMvd7P1JW4kc4zcyOYE3jvJ8a/EF1/F2tK/lrQfSib2bBc5LfhvFAiGN\r\nnd0hmpiGaJc6QgnYvNLD53DAUjOfGRTvGK/t/eMovbbwcCWmft2tnh/FT97N\r\nYpFygxx2Ug4Xq4vZ+laB+3+C2RcY+pYOASQ=\r\n=oocV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.0bd336f_1651039815148_0.0718627413624422"},"_hasShrinkwrap":false},"1.0.1-dev.ea03b78":{"name":"@usedapp/core","version":"1.0.1-dev.ea03b78","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.ea03b78","_integrity":"sha512-SdyjmjqshpA0mMheeYtzu6P4I1La+f1hEynvjmma5su5dq7k6yYDxMv9giWPRuTxNL6psczJXD8Ha2Ey/BZUkQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.ea03b78.tgz","_from":"file:usedapp-core-1.0.1-dev.ea03b78.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-SdyjmjqshpA0mMheeYtzu6P4I1La+f1hEynvjmma5su5dq7k6yYDxMv9giWPRuTxNL6psczJXD8Ha2Ey/BZUkQ==","shasum":"d576cbb6e922ba26f744bd54eab60af5b989b6ab","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.ea03b78.tgz","fileCount":1884,"unpackedSize":2334861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8zriucYgYOy4o0ZWdX8rm7bt3MTFO7X0TduPC4jOAnAiEAyavDH1XEx96A/180OUOyCDteEhw0Ru3yO/2TJnDXVhE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaP6vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYpg//er9i45mNx/bLiy/Ygh8LUSylTdoaptGxp0lGttZyg4wjR7sY\r\n2bKfkB4wFi+A2wJCsR6K57VrR2viUJzX7Xd9xFpQA9MOVdFN/mp2AA3pN/D2\r\nXlbPNcilwHuc3FD0a7kIHKKpRZDi/dW0FjcAHOteLLUy8DjTmrjo+xTJaUUG\r\nJHptlndDfswZSDucrKZuD0pBYNkeBCQqazFdw3dIsfmHnHG4I1IWS2/4KasI\r\njT4VnqundnQWkXXQ9PeRZjrmWieGRADpH/U3Pr6h534zGNeIwwDpl6QT5SlG\r\nTddc1THhy7h+eNdvcgCqybHiz+JyRUCR3s5/ThfP9UYANLipI+IbyqDoaxhO\r\nyBHW8DAvg5Umz3kJRtszS4KQClEAbVoVX49oFt3Z5MJWc+UjOROLY5KN1A00\r\nA/gFOpZZBgLM3lgzKR8rXZIi8xbY3ym2XXXDApGSmLd+ndtUXI7VeN5oWCzl\r\nS2NQVYaHtGZrj3hIKFLke7GLqycpym4XdMcgVY5aAhzYWGtbry2Wckm5OkDz\r\nLZdmbosYfvRN4bnsluAkLZRsVGo5WqIS7Uwa3WUVaGuU3JLvIwtXzDXDn8HL\r\nIRMR471Q+Iyu417hhNIcylt/6vWJoHKUgQFbrl8UNTLqeZ+rzIrrnynSgAeQ\r\nE9F01JLXYkBI678FxSucVFL6gFj6KSUZJso=\r\n=jzx/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.ea03b78_1651048111545_0.37388432498364144"},"_hasShrinkwrap":false},"1.0.1-dev.5721a2c":{"name":"@usedapp/core","version":"1.0.1-dev.5721a2c","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.5721a2c","_integrity":"sha512-ZEQZAgtXJ6XHn9jSoUp8LmsZ+TIowqiRp2mL6GR2uapY2ZOLJ1/duYs5Gk362i0B6ZMYzdv4W3ji8sbMIvpnxg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.5721a2c.tgz","_from":"file:usedapp-core-1.0.1-dev.5721a2c.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-ZEQZAgtXJ6XHn9jSoUp8LmsZ+TIowqiRp2mL6GR2uapY2ZOLJ1/duYs5Gk362i0B6ZMYzdv4W3ji8sbMIvpnxg==","shasum":"7657cdca276802238bff7dd5fb34f151b5c30d0e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.5721a2c.tgz","fileCount":1884,"unpackedSize":2334861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZX4WY0XDK39GPRBTHdirUIVvqA/BE+ffBs3RPNp54FgIgNQwJOpj7owO9PDyVFGSWrqRKpJxCVQWUZofENnsGn4Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJial9dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgHQ/6An5W3bkN1IPLqvPIaPtoqVrXyDZBXj5pshw49P8hDT/L+/mE\r\nnGCVfABfk5NhzUCIpLa36I9fLgd3QS9qx38BWHSbpHl3zPNf5kL+F5qOPjCQ\r\nY1PAmEYe8dzzvWzq6O+Ao62jQQSwSapzW3RT1VEFJp8XvJi3fp9tJqCzBY6e\r\nfxOLF+gIQC0mnV7Wex7PZqkjDfd/kR7IzhsMJf6jx9P7HbNu3rhXYuOETVST\r\nE3y49Jq2orBY0kYe/wd12ZI1mwcAJTxYmU2qQgPMzy3oop4O85bQIuBKtePv\r\nZUAZs3/a5OJfTU1cJfeTCL/0uATViuYgXnws/k7ACBr/UwYXBRfGcUHPtcYf\r\nK4tk9KMYqlPI/POYzwGU/aZew4t2IuwHgeWdxWRrbt/uGYN/Z3iTm2cUsiOh\r\nr56R5FzFDlT0YuWL7Xkymc9T96rwAVL6Pi+NKE72xx8n3aRsDuRKEm74B3Hi\r\naYGw0ByFLf8BN47mHcnGRw2offlI8FbVdXXoJZqqvr5yjWCuUPQzRvhrQFRQ\r\nn0atlfiGQyrYqzHUHIO3LepzvIndMgF75kiPQazGbKb6BLyxDT9xKoXKPMsS\r\ndXVfKvzAA49KZO2+oRUyHGJbH15hbprNtjwQR71wgpEXVG6mhQj0o8VU9GUm\r\n+QDQ5MuZyQ8ZSgm+jRdcTQbfgBSnYmCCs9s=\r\n=8tfC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.5721a2c_1651138397631_0.694166947465714"},"_hasShrinkwrap":false},"1.0.1":{"name":"@usedapp/core","version":"1.0.1","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1","_integrity":"sha512-FDK/HSa8UBEqp4B3DFlFLr84OxQi9VlPSwucbIGl4Fcquoazz9mKNxkBMljRQ4aAZj8McEQbV3mP+vO4ZXjW7g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1.tgz","_from":"file:usedapp-core-1.0.1.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-FDK/HSa8UBEqp4B3DFlFLr84OxQi9VlPSwucbIGl4Fcquoazz9mKNxkBMljRQ4aAZj8McEQbV3mP+vO4ZXjW7g==","shasum":"6802a352c21fcbd0052ad9d6e6e3ccd06c99db93","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1.tgz","fileCount":1884,"unpackedSize":2334831,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt6g0XYplyJ/sQlaqXvS8vGdMrifdR1uByPAc9/BxcdwIgEoJFOP1utNMsuiwSsgzt2PAeehdRjBz592WcPq3Gvcw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiamDsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotbQ/9Gx8OMkkwOy8bQo9A9AwMQruT7XhIVkyQyelG1r4upfNKdpEr\r\ns78XM9UUGAFwymfpYZkoaNUvV5XRzZFKwkszy2r+qA6rsj/4AL3Nn6gdQ1hy\r\n5uNmxhqOOIaYzCQcKTBLmSxj/Tq9Fdw14lu15tJwte8qr8S4rJKJo2CHgHne\r\nmY6l+M9vDT6aFLzhqT+OVmOd9kRR9wllYcthK/XFZcmdNwIipVxtDe6ludiQ\r\n9YOUAUeWJNPEP5iUFQSEEkY3Y81uGvMUofisH7Tw2wlLEmYhJcfhbO9pS88X\r\nIq8Uzf0T7j1yOsRQ4im9thNKConE6iJPGqGjC2oFqJjb0JJn51evIrHlnk/K\r\nf3wNDu5k0OnkZwGERmi4p6VF+XxB4cOjaBxDyIixxWFmmWGn2T+rTK0y6u9W\r\n0pd45PaM7o+LBhGKR5yX951FrQ8wi240VXFabkDjY62ySzE9PjhWv1ewli4Y\r\n0BLkIaM4gl1bBUNT+CM8yt1wyr41PbpNLSmIKDAJZiaZMbrdJkiHcmfovPnn\r\nVY97D8w3r3dmWh9JQm5LtnOwZEeHvuToGgRUeAmGZoq160Z6nEu1yGc+nzOn\r\n8QyKKJpNlpOX/Zb3PbsSBJhUEJlYGY/TIEyUl0el5qNff2Yl4sw4uYvMi8SL\r\nvFUmlaXiqEvqIbd4Hoki/7ltIGD55JJ5f9c=\r\n=rhZC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1_1651138796578_0.7239377115650136"},"_hasShrinkwrap":false},"1.0.1-dev.5f11b9f":{"name":"@usedapp/core","version":"1.0.1-dev.5f11b9f","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.5f11b9f","_integrity":"sha512-e6U9GelUAEoyFS51uUe/bChuR8w20w8e20VOdz+htQCF7IrAccduhqAaufgzsKIOZylSfTOahaDeQHJfqFgUVw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.5f11b9f.tgz","_from":"file:usedapp-core-1.0.1-dev.5f11b9f.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-e6U9GelUAEoyFS51uUe/bChuR8w20w8e20VOdz+htQCF7IrAccduhqAaufgzsKIOZylSfTOahaDeQHJfqFgUVw==","shasum":"d13eab2b41a7ef71818a9949d2086f0e49d17d9e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.5f11b9f.tgz","fileCount":1884,"unpackedSize":2334861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyICMzrWtuAzCovZGQ25rt93clnd13NB6/cqs7ofzjFgIhAJemiI1O+aylwjIAw4TGSP2MX2aWTdnjguAIiJLY2pWb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiamEuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqc5w//R4f29qZgp7QxbCWmENdERKh0Ck3IlqJVBSkgpixLvm3AN/7Y\r\nCOCdmeSQkD+q53KB71ckUshQfQupuQjMKFXgKmcx6sxxtk3W/y8w+Cerjzu8\r\n1AmaiHFL+2Yq5njQOV0q5HbcuVr6VVjcpqgC69PB4bO1SLNTqSxINlvc/K2U\r\n3rJUaK5RvJ23wcAXr4crexN7W6ddz0u/i/K/cG2JMcQFEL2k/doFg1I4LY33\r\n7HEKumGtTah5/hI52teOXQZoRk1S6SzPR4WwxC1hWiYY5XM45jbx6kePM22m\r\nG8VJz2F/AwBhcjvgmuohAkV8xEP32aD3rb51nLjqRAUacTUkh7weXTYd9YT6\r\nVu8FbECgh34vry6L6PhRDUeLUPIur8bTJZI8KIDGYn8vTbjT/d82xmfaVq0r\r\npXGhn0OzLgBtSRnoqJd7bKmj+9bTX5KJeeBrsRQbWS33FK2JR07se8s2vxTK\r\n4Zs3Lg8k1f+MRoKx67PPVjQz0fNj4YLnzt+P3WChCrViU3S5hvJE70dYYpsC\r\nS7lpoXEdbleNFNYgAXpWZE2orSRePMEu1D1f29PU4N8ixI8/lM+4j7XQWNHG\r\nIC612cJCHeROoaUHHb4xqUGSy1EDf0lC2OZtKahRAsksT1igXTBfJngulOca\r\n2zR1XlIPC6l8pSMM8hQ9bdo+f9I3xhbrdhA=\r\n=uZBd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.5f11b9f_1651138862624_0.5806937255168965"},"_hasShrinkwrap":false},"1.0.1-dev.fd37c72":{"name":"@usedapp/core","version":"1.0.1-dev.fd37c72","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.fd37c72","_integrity":"sha512-dhRQS4hkLUipPoizW+DKCsmm5zL7MBHnT2+3w/MdCxuS3bSKMeXNhTDDEYlFMsfwF3/8YfgDIAOMYILveC4Z2Q==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.fd37c72.tgz","_from":"file:usedapp-core-1.0.1-dev.fd37c72.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-dhRQS4hkLUipPoizW+DKCsmm5zL7MBHnT2+3w/MdCxuS3bSKMeXNhTDDEYlFMsfwF3/8YfgDIAOMYILveC4Z2Q==","shasum":"fbfdb9963d196754f09bd0f3edcfd6da4b9c5b3d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.fd37c72.tgz","fileCount":1884,"unpackedSize":2334861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyhWIjRNevSfSWfPuGB7+5qqPJxH7jgE7muXJyuC5S2AIhAIh1+r3ixNimBbQuNX5706miO7plRnFiyoegvt/UQje+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJib8WZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqqJhAAkb/DdEL8Uu06SBIGPHiJ6JvoAAhtkzZL/yppjRQpME4siqpt\r\nZtIyx9o0SyBodrgt8+E42RIHluzHutmkSe7dvRm2/DhANI6NMesUc/FNEIuU\r\n5d+jGm6kUIpGJHO7OWN3Kl+FTrcvFQIRKKoBKY6rG5RJRcHddG2vQAGvLXOD\r\nikf3SmiUs+paxZDplfP11MdblWG+L9Jmz5Xira3ML1SncCecIyeqYVffoLkp\r\n2THGLAclQ3Zd6dlveShnjcNtkwAWh70W9P2ScwuilvDYOWberuucyUz0PUTM\r\nzM9ZE48e/4NdDbMB/ezZGB8q76q5JUOGDB5n50GIpC8xEtgTcrrBC2z2d8/3\r\nyIJUusx667ZYj9UMNsj9fiKVgm13CUcZQ44yzZBK7NI1PK3Z1VmsaZWU5psl\r\ndEcFE1nzS40AxsktEq0notAunPlC8BCK4M1qffwvLKMy7R9vFw9sYismV5fK\r\n+6JyYvSAsTWL6zl5TmqtawYzHWLFzHpkV5S1aMNoeIPlFJEKvNzL1xrVMYlX\r\nzr1AXyaN3cVZ1Urg+dS1qoNDLce8D3Ynh37Sb6uID/gO3YmUvkDdkbwbyEPv\r\nbM3WA/38V0m6DN9ElSoWXbyHgwERx4eOik6EQSKB0pOG7/iSje2QybwXdSDJ\r\n9mTkE2Df9tJwPXbPZjcNaVd9riHUgUJJIok=\r\n=Z0l3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.fd37c72_1651492249174_0.4679409800839367"},"_hasShrinkwrap":false},"1.0.1-dev.87fa34a":{"name":"@usedapp/core","version":"1.0.1-dev.87fa34a","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.1-dev.87fa34a","_integrity":"sha512-QxYrYMQjA38B/8wnpeMIWVBj+NF9OHCPJBFJ0ilWuYEn8c4uybk8qMFSIFwKEbhxhcGlqZz4Z9YjmEo8NWvpXg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.1-dev.87fa34a.tgz","_from":"file:usedapp-core-1.0.1-dev.87fa34a.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-QxYrYMQjA38B/8wnpeMIWVBj+NF9OHCPJBFJ0ilWuYEn8c4uybk8qMFSIFwKEbhxhcGlqZz4Z9YjmEo8NWvpXg==","shasum":"41bcfea2b6d3f3374cafeb9876719530e4f28ee2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.1-dev.87fa34a.tgz","fileCount":1902,"unpackedSize":2339504,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpRdYwCk27Gf5zsdYOvCWLM3bqqzh+BMVrjw9NYkenNgIhANA/l5kdBJBGhDLvd7o9/r5viMy40xpq/+AawBjTmB+r"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJib94NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoB0xAAiQwJLyoJV16QtZaMxTdANHOz7nvknDbwD0b9B9WVBAKOqw4R\r\nSMIp7mjijxrCKXEFj2je4N5Fb4adsRAuU3S5pou2zqzTxuy63INj8DjO1O4B\r\npUllYTrLxon83nkmCa1N3wS0AyJaW7ebBeAjjV4TBdE7nD8OSwYDSrix3P2j\r\nqq8T6Rpx2ip0OfoiF+Lj/w3nMOGt44uwNdgrkIdoyjNDRqOeGHTw4qaMHMlk\r\ncYesG5nEAiskzTfwhAaSwUVot9NqVe4gBtdW9qSIbK/z/osRUY7BXrqZZGU6\r\niM0iXoVTQPfyrk35FlrGvxyCy0SwVEtJLtxaq6s2EwDyE3IGhEzOs6LPlX1+\r\nQBdDC5pL/RVJp/QZBSCNW7t4iB5dpsHWpK80VPyh92awkqVm6xxdO9odCCOL\r\nxAyYf3IuduHIxlMSPi6lSIcOfpTozlMepM2X3/YG1U18gzTsk3EQLLQDwNeK\r\nTQSO9KPDo5XaPOnMY2pHDE7WSPlzBm81mIGwvlqBth2JdKbjOvPByvaaV2CL\r\nhu3xYW+7bJgGKrP+8BAUctusFhjXdPrTVYYQVUTIl5/sbaBELqGcNXz4wktQ\r\nC1rhTMTunDB8kw+UaEN8Svof49O9uiUFZpmozOZXW1kWikXVkoBXF8jScWtS\r\n+SIGxyou3wrqDzkBKvMhH/mUZaOS1gkhTHQ=\r\n=HiwJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1-dev.87fa34a_1651498508935_0.5846453898818682"},"_hasShrinkwrap":false},"1.0.2-dev.a83def5":{"name":"@usedapp/core","version":"1.0.2-dev.a83def5","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.2-dev.a83def5","_integrity":"sha512-gdwFyTdst7i99NfLDNDhogmzE2wh45TZdKC5+eonAXILKwX0IXvbiV0wVUH81BnYlvVkI9wfTSRsc9iwCDIWjQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.2-dev.a83def5.tgz","_from":"file:usedapp-core-1.0.2-dev.a83def5.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-gdwFyTdst7i99NfLDNDhogmzE2wh45TZdKC5+eonAXILKwX0IXvbiV0wVUH81BnYlvVkI9wfTSRsc9iwCDIWjQ==","shasum":"6ffb0d6eecf7e0993b8779cdc622e5ba62cc9fb4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.2-dev.a83def5.tgz","fileCount":1929,"unpackedSize":2363780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDKAb/EK2zf7LAZ5SwxdfKI1OLKXnvU26Wej/yvSf6CAIhAI+w6gDju/wa6nd8/ype//MVgncB6DnB79LPhYtgds8l"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJickZmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTaQ//X+RMflqELXh+iuKlE/42tdD219PE+ZUXMvCAkr+rYqpMr9m2\r\nWZSPuXIKwpVTSDCoYJE3XnNEyAExf13/DXC6IBGedg69GH0IwhuPGoWA8+y4\r\ng2OopNxI9Wryy3zb7PBQPQmqaZDMzLLb1s2KWDd0QZZutFzHTixMetUTRm+1\r\nOGVvJ8xzH4NhehvzJ8WOnAOH1EmgH6U05yG6gAFQFJt1x71cfNNQe+CyxJVx\r\nzJltD6/jM5ysPajP99vreaLXcKHcK0Ylu+BRFeladYk8dhFoLV5+IHYS41D4\r\nBWsdDY25dJO8pyDlUyqwGrbRpLNfxcU3n/6J3YFqcMbKgj1axyGJmHGmpFCt\r\nj7Ih5163IaKfmZD743Qk9jyyOmAL9BMVcq1L+DLamK9Ff4Wre7/DfwvnFbPk\r\nofrO2H9XAnfyTTFVn3/0+/Ni77qK3yx9PmQJgS0OyyVxyeiwENA+D6eyZkhq\r\nNPCgQo+tlTBaPp32twMAr8+ArEXgYVvrzbwT5CH57IDEuoZC+ft3esCnMs7C\r\nYqqj1QlI/N1xTk3ufnTCdMG9LCzpfrOZEQEl5TTun8L0twW2VJ+XNd6NpvqM\r\n4VhSub5uLWPreZFmA9Nub08YPoENAXzAK/auwHSeHQDkepY4J7Lnwpac6FrN\r\nl2ZLlOKTI0x2a99ykswuIVcirbg4hNGcvu4=\r\n=Rir3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.2-dev.a83def5_1651656293651_0.8629355562297587"},"_hasShrinkwrap":false},"1.0.2":{"name":"@usedapp/core","version":"1.0.2","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.2","_integrity":"sha512-pvZnBtDtZvt1AiUbPZALkyiQVXi/qIcb7miQWFhvQKeqeCSDkzGJogzZDyBxgpkgpZW2uVgxOkQqIF/4PltJ0g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.2.tgz","_from":"file:usedapp-core-1.0.2.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-pvZnBtDtZvt1AiUbPZALkyiQVXi/qIcb7miQWFhvQKeqeCSDkzGJogzZDyBxgpkgpZW2uVgxOkQqIF/4PltJ0g==","shasum":"89705fadd999c8933e1ef4a09a62b5ef90384cc2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.2.tgz","fileCount":1929,"unpackedSize":2363750,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw4TAv0G9tn+orcChgLKzsoiYdvwV/RfcUh5qI6y8vBQIhAM1Xom6hYCGjXj4lxKVe1dfVCzcZ5m2Na0PNbV5G7FJA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJickdMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr16w//eRXoVTdosAy7et4OfzoWFhS36rLUJzfP1ipwcJsH838XzC//\r\nxFb4cVvPXLKH8qiSO1Yd4rsIf7mLhAJ7CdaWUSUjwYIlc4RJGZqLq5M8msR5\r\njEOo4QET4Rr9PMkBTt5YfHoNbf9ODWDab0qYJ77wNkO00OxklHgjCVbnn1YW\r\n4yvZ3IiceogKXP7qDEhucrAmL3SrCzzRre4ng98uE8eyGEAdHoDrIkoxXu6o\r\n7gMKLPoEX/PqvEKl8iNlQCyr+wHmMDJjlOdkESoofZEUFL559d0dwif65Y4l\r\nnbguouylR7Z4snUX3EUTW/7x2p/H/PvEdzScBfgamufJLp7ST7s2fC9E4eD1\r\nDXk57Xm3Kpr1I5ZlcdJDWRCqGmz4LVFI7VSyycNt8H25dlCKcM9QRyPK0I9N\r\nKI5FMjrn9bBGBXaGYeli4BkW6fRJqfVhtTlf/MPwJrFAF2GRPZQY/OhSshiG\r\nGaPVjRhpUurbmr7FUPC3S3UfdpFR93QCTH2HAmWNzxG611jTQVwPom7JZol/\r\nOuGOUS3Ax+L/wHhc+1cEMtaL7bmk1vxeWJh0QEWSKUoFUzPuayuDtsK4012o\r\n9VQyuVdNtOrufigiU0/VafC6WTHuvkhQu/Yf5/okKf0uZ6gMogbT1guBcjtG\r\nwnTOw8rwuRS4ynCLU3Y3UQ1GOQQ7W8yjjbI=\r\n=V6wN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.2_1651656524031_0.27721798629259764"},"_hasShrinkwrap":false},"1.0.2-dev.f04f3db":{"name":"@usedapp/core","version":"1.0.2-dev.f04f3db","repository":"git@github.com:EthWorks/useDApp.git","author":"Ethworks","license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"_id":"@usedapp/core@1.0.2-dev.f04f3db","_integrity":"sha512-e784yJiEGEiyJldEI828tyRLTyDc+nlH7uRfJwmbuyQbcn29ryCjv9hSy21GOvHkflohZwJgL7R0tDWrdtG8Vw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.2-dev.f04f3db.tgz","_from":"file:usedapp-core-1.0.2-dev.f04f3db.tgz","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-e784yJiEGEiyJldEI828tyRLTyDc+nlH7uRfJwmbuyQbcn29ryCjv9hSy21GOvHkflohZwJgL7R0tDWrdtG8Vw==","shasum":"97c4550c70693278e11fca166fa95ac723aefb47","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.2-dev.f04f3db.tgz","fileCount":1929,"unpackedSize":2363780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhW5lUx7mH9ZsEoQSKLEtXHeIx+/uUuauxHrX5KTEKJAiBGFxI52arDofBxMI75WF8TqAkq6XqPIQBbs350Fp9taQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJickeNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoowg/8CXKrL9HtOVrqPy2xrHoiiAdGqnekPmjxaqUeQAvF8sBgBAIV\r\ntKSHKKquiyA5EmC+0jbe6ZjfRdBp1Dn88M+8rXuZ70+H7YNDnFOYpadM/9S2\r\n/kWcZcBtOz4BOlr2CmZEKFgtUcpURKULiSB2O/bRatSbY3KIMDOrTMz+2r/P\r\nWjkWghy0RxrrfGzeXDTDpjvCAjyFz4fmuP+e4ais/QRl+dil8VGmTwXC1/JH\r\nJeGdb9L7VjKt4x7h0EuqXundA7YpvQGiVOgrh6fPcD5EbWwOyG+kQi0YCw12\r\nUBnSnTt+niv5oc/3gh2fXQNYsi7HHoh105VElJTlqRY4z51szWE7qPcZp4hy\r\n344e9s2HzCR9bXQ90xkFKDLRJdxhp91WRbhjWGM09E3hz2o/yGBF/NwMKMq3\r\n9xQzhknirBjow6rlxKPTm61JNp5wHpsUk0MaRH8bWhV14kRWMgTqMm0tko97\r\nvYKdvadKstGxi057sofSjVGba1aiOKKs4RA0a6JcbFStdNFIDVtnlSIFGU1s\r\nb3w6S6ekEtUVQnQRvK1puukxOUPXlEJeySGYfctE/186GaNsHLyBzRshwTcM\r\n8LT9bXsN9SxRnzOBNH5iHZtbxKOhOJE0QDIn5EPJ1Pi/tKWx7ODGjLKQqiO3\r\nDTQLAX+u3WUbMBz5xCM+Tizx0q9JVNYB3YA=\r\n=fQaT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.2-dev.f04f3db_1651656589531_0.2695090639461397"},"_hasShrinkwrap":false},"1.0.2-dev.7bccb34":{"name":"@usedapp/core","version":"1.0.2-dev.7bccb34","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.2-dev.7bccb34","_integrity":"sha512-yUk3cQQ4ngH9cy4hdhxoCK9HpzHwyWEwHbmmIPuBtT5CejE9UJ1azTMJeDKvtKacsK/aA8c0OHzbSwR8yrfjcQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.2-dev.7bccb34.tgz","_from":"file:usedapp-core-1.0.2-dev.7bccb34.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-yUk3cQQ4ngH9cy4hdhxoCK9HpzHwyWEwHbmmIPuBtT5CejE9UJ1azTMJeDKvtKacsK/aA8c0OHzbSwR8yrfjcQ==","shasum":"a062e42978a1917da1c3cbf7b0daafddd2454382","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.2-dev.7bccb34.tgz","fileCount":1929,"unpackedSize":2363780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKqsNzpBGrSQGEgV2wX9RDL+tfNiTuzhsqPjfHl1MOoAiBs3JIfuFGoek2yeSY7PMwlnTwrjAiO4bW+VlCDq04W7Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJic6vaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOvg//cjL+GmQMJIXJhSuFh2NrNf4GoWn1FO1YON8PbcFfBZSjTktz\r\nz6HO+KbCibkKzwvPmWyhk006kQlg/0kp88ceSL6eJTV6MQf8H1uExPrKFpF2\r\n2N11oikgz0vH7hJlsKlGueWShtJABjWax4+sDG0Kio67n46/Nmm+v2T4qKWd\r\nolrqnEdSPgaWaXd6nrX6yoPVBfk0NepR884ytGpQLYTK7AyYCl+U/4wKL/+Y\r\npy3GKsG9u1mJwU3RDgC6ctTo7BcaRb43Gckx0Hmqty5Tzi5Z5CUMMOrHczrh\r\nKPVUcdJ7gjwTyR5liiKstcvzyhNIAqPUjkeYDtucNZGW56VME9jv4oQ43K62\r\nx02jQC4LTxDrBsmSDnZZz1Mb07e8bvNloboTDERka+UxFG6DGV/2NqLvaN7T\r\nsF+JpbLZZq6xSgpv/+UISfgbOSpMrOhXywF3XArOwXx+r0OCTMPy+vuh/tNg\r\nagWVZUPvfWaso2gd27etL74b+4k9792xgc1qgz1rdTR5lG+Xfz3A/+Sc6FS9\r\nlaSVubBQEjL7xDq1y94r2Q5gQZWNR6Sdo5yo5MCAsR730+6KOVWFvqHGSMHi\r\nOOvUOR2RURp4oW0/jMMfFaeesyzYAmRGH9xB8c4QqKeML+exGwR34LwuTbRj\r\n/101nxiOISiWyjyFo8DpIbEof8RMX+ITBrk=\r\n=RNW8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.2-dev.7bccb34_1651747802008_0.6356180434134855"},"_hasShrinkwrap":false},"1.0.2-dev.5091cf4":{"name":"@usedapp/core","version":"1.0.2-dev.5091cf4","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.2-dev.5091cf4","_integrity":"sha512-VKqwV5D26oZnfbH2uXJZrfGkXUyW038Rn+a8/B8BBrskznYJe29rox4gmqQw/cqa9Qh/E6RNzR52kx8rl4uTvw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.2-dev.5091cf4.tgz","_from":"file:usedapp-core-1.0.2-dev.5091cf4.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-VKqwV5D26oZnfbH2uXJZrfGkXUyW038Rn+a8/B8BBrskznYJe29rox4gmqQw/cqa9Qh/E6RNzR52kx8rl4uTvw==","shasum":"ff50d5202384012540ad1c234749787b4ab3bd95","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.2-dev.5091cf4.tgz","fileCount":1929,"unpackedSize":2363780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVw33Trq+/2RwyyCYLnALo3fftNWWw+AMN8CBvW+JXWwIgYumdSdZjrNTmJJJbPcV2CrnXguXj3HBWiBHYC3pblkc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJic7yqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/Yg//bjqJycjxHxPEFoWvb/NS0QeS0NOnXknvdaGXUznKIPxhzRZe\r\nPbFZQB9CY8tKF4DbiRC2FytaAgtJbWoxVOZ6Rv9+Q9MFLBNY4sf0HD5qMpcy\r\no9nSaB7skXTDJBQppPSc29ypWnHrNprrJ1dJEGbfDGibPMAsoLRuM4GGDk9Y\r\nhkaYEeqMDOyAlPTnS5WTwffAuO7u6T5utv7DhopwQk0APjI4qljSAmSmE7/e\r\neiTLYRzxZh8WN/rLDN78AlD6OHTqRk+QB74LY5AhxfBGi+4hqIPmLvSAkKtX\r\nCERehaAc2ByJYfAw/ZIlzdb6OWMWKW2gz8Pe15LtdLGgzhFCdMhodiP+INbP\r\nwl4T8TtKhlzT+uPVAQPfH7j7DKZz58BWAxxEvY5HXVTKEjqcJjuHxI0HJ/0M\r\nAghtWn0MZzb/ICBOMj204ycUEg+QFfY+BkILiGllbpnVVMVzTaht7s7SzZyU\r\nq5VkeBZIrTjwZro5FMXZpTKPEHunkKYEM+Ev5eVrddCjrJ4WSUWyCLoto5/e\r\n+dn6bc1NjU1QIoXAQQ5hkw9KEYInYsEgmsjIwRWq//QMUuvuz8ktgecZG695\r\n0BlVkNjxp0VCuy2kgxUpAR/RoAKD7QeBpTXtpR7WcIEMTKirczuW7khCbx8X\r\npMMDMslSDNrhpwUgtQ12PJOJwmyvQprWIQw=\r\n=ha8J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.2-dev.5091cf4_1651752106005_0.7972416514653953"},"_hasShrinkwrap":false},"1.0.3-dev.bdf4202":{"name":"@usedapp/core","version":"1.0.3-dev.bdf4202","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.bdf4202","_integrity":"sha512-o7ftzMTqvgcm8QHADoMEvxbEbnR2yvo/83wZYxHh1pWJuK3+u9RuU05x++Ug3KQ5u27XTXITDKnGVWLkkmkGdA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.bdf4202.tgz","_from":"file:usedapp-core-1.0.3-dev.bdf4202.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-o7ftzMTqvgcm8QHADoMEvxbEbnR2yvo/83wZYxHh1pWJuK3+u9RuU05x++Ug3KQ5u27XTXITDKnGVWLkkmkGdA==","shasum":"5b35b3d14e3372afa3872b06ba3a41fcb03b85c5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.bdf4202.tgz","fileCount":1947,"unpackedSize":2425485,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAeRwMYNXCUhqd6pxdqWRpRUaSqBXbpaAuN4MlSC4OxjAiALGzYKrG54eezFVL2tgt8dIEhyHUabsmNv4LFSR8YdjQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidOHLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDXQ//Q2HJDA5WFXpJfcPYpGe+3RRYfOep4GVZYXZlLP38vkKAtBUZ\r\nWESWP4gOlzvT+RB59WdzRikt5xbezHuyfkKj3f5Wp36jmX1mCflbLHCeT2QM\r\n3A/Xh20+Q1mo1PZfqsfB/oJRre8DWdCSWdg/y4HNPJgSrRIVjsKvNcfsHFfD\r\n3wmOA/Tw/S3Y/D56lM14Wi+Gzkr3bfqDbS/2E4zQEwgq4En4/cAOinQJ/d3b\r\nqkmSTWZKwzwY2pdG2PdJdAmiJgalkknkOYZOh97UuZ+7iBSr9c5UiY7lrXBq\r\ntDCnfmvWloGSownsrK23ODSjkimnyPTvetn9DDkGqt0pMD2G8aYcw1sospTF\r\nH0NE3lwX7bFPpGoFeBQ+quHEy2mWgwi4Mr9h5mY141yui3rDeadDI3WPDQtZ\r\npKqg3wdto2a5MWHT88czO+ZMggSJo/fVY8xd3sR/oI46w6Pa4SUSvZT6DZWP\r\ne1ymKYLsu1YzPZcBWY9Fqs1SBqSbJOi8Dhm+Hc20dloHe3bx9EJJM5UjUBAt\r\nO1xBYWKD9NEiAGArjV+ynghJLA6MEXcVMthA+YIU9QNj80Om5QXgNLDM+P1n\r\nHbt2459cBywGm1Nm5q0yk1lIEFb3WtMXagmsBB6fO6r++PL5viWGBvPxPJ7T\r\nSkLWCVZ3fzcUL3Hj59/dxgiIgPsGxAlcCQA=\r\n=Ag5w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.bdf4202_1651827147430_0.4097499012961876"},"_hasShrinkwrap":false},"1.0.3-dev.517fece":{"name":"@usedapp/core","version":"1.0.3-dev.517fece","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.517fece","_integrity":"sha512-9dd6ftdVTghjR1aAWFDyaDoboBe8EBHl0uiEI39/fk/5Xl3M7FOb1IXU2pQcVyokQlStCbx5knBOWrVU333KKg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.517fece.tgz","_from":"file:usedapp-core-1.0.3-dev.517fece.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-9dd6ftdVTghjR1aAWFDyaDoboBe8EBHl0uiEI39/fk/5Xl3M7FOb1IXU2pQcVyokQlStCbx5knBOWrVU333KKg==","shasum":"7cf5b15d2d8155918faf8f11d2fc326ff079b681","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.517fece.tgz","fileCount":1947,"unpackedSize":2425485,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDryZ62nWqMpcaRIDk6dUVlyKZ7F8hutO0ONL78UXuZ1AIhALJq6PkeW7J7tly0Cfp0z1hlavdv3CQeWRlDaQ0D3mDJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieSPKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4aQ/+MzmbALZ3889o16YKv5l6F0tRlf3qb8Pxp0gFAUbVSAqsL0Bj\r\nviGDNZ4v4uVvd28ZciKtfBTAudMVT/VurRCY5Jzmdr0tmiByYjACsUOLx07y\r\ngTjU8wLyMOvrMXeGmi23Apv4hNTAHUmYgVuJDdJAW5GvdE6OnzgW7qBmdpJb\r\n4DtTVBqRHejyGfDTNdRmYCs4UU9P5aWnRNNXx9y4wfn9wesiiO+ev+063b4G\r\n4Oc1XxjuwjL+YRb338gzgDAKWLLt90Bikc+2Js2abC7FfBzpCspZAD2/cyT2\r\ncBD+2GKqEGUJI9AHap5SCD/eV3WWwgSIrC5D8vLSCfm7bA7iLfso9MU2Fs1K\r\nI0xYYO2wN9L32ub8iFvIdnCqlgDX0rLYIjCyZLQ0oKbxdQJ/o5zHtc+VDZVB\r\n+YvaFt9IWcQddtmNMX7FspoqIUi82PZMJjkGpB/vX+BHkQk0DNPvLSwyatzG\r\n3cOj5BT7nBsQWFw4mGIdd3txB3pOBGLdHJgbXn/ukjeG45qOzuhMS1OI5i6+\r\ndIe2qaF4UaMceJASCnrMaDqBtW+dNASvKbvTsjdYbHjLAFTgBVUg6vtWBEzM\r\nI5+LFrUd/80Re2y5MCDxBtyZ9fRVU+RJI6S5q2OiSjqFhOShFM5RYYtpvF/q\r\n07yTxuhSlEXnjk733B/kiXMzokINcxR4iXA=\r\n=OW9O\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.517fece_1652106185984_0.15795957703863084"},"_hasShrinkwrap":false},"1.0.3-dev.ae5b26c":{"name":"@usedapp/core","version":"1.0.3-dev.ae5b26c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.ae5b26c","_integrity":"sha512-g/zaLbBT+Z/4BIoDXQpopitHrfM3950OIkGetO9oh89f/QkMHNMW1Trk5F78tmHoFjtgqNRS5tJi9dy8nuQtAg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.ae5b26c.tgz","_from":"file:usedapp-core-1.0.3-dev.ae5b26c.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-g/zaLbBT+Z/4BIoDXQpopitHrfM3950OIkGetO9oh89f/QkMHNMW1Trk5F78tmHoFjtgqNRS5tJi9dy8nuQtAg==","shasum":"c3c38295606ebcc6edd5db9bc99ba2037a8ba921","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.ae5b26c.tgz","fileCount":1947,"unpackedSize":2425485,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+KBuF+AthJ7CqqozGc/+u3FMev9MnHw+5Sze/DeOPyQIhAJ29hVMOH6AA/ZAAfa8FZRl3HoJ+PZSvysO8AVi8UOza"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieivcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZhw/9HDUGIG9Fcq5QjizLMyQf15m3/t+fzu8eIocbafiDjjKzfqH5\r\nt9Dz/YsX/b+La4HQGb5Bqnz8oBH3dIRxAGjxwPmuMgWkoIZmYnTu91nJ+ab4\r\n31QHAjBSRLDlvfwJHr3JwlkY96bRIYUWuWl/q5OTMfnJF6i2coOpCJ0zQAyR\r\nWivV7loKLLMZ6Q2ZbXUKdVUbYyX86nOOcCzfyhKghBf9zvf2Pi/lSl+IYwMh\r\n4NNhL4vIPv0lj8hkgsZEyF5SIZtgEdjmEN/Zkzw5rH+O2suJdb2b/WfbrOfN\r\ni+jpJ3fQGVcOY//lPPEelWWB+qi5yo8kYJcK5Golarqwvg1AEeipHGk6A+I8\r\nWmT+wuqz2+9OnqG6BVQ9OL9QHroRC+VSu9BeupvHimoPrCAqUC6sr7t+kdDu\r\ntia02JoWwzyM/DOy3lFC8N0Cdt/mqcXORZ0Vrpw2zzZYKT0qT/+ji1W+Mqfo\r\nHzTu/P3P3bIU4XNO9P33GGzfXvxgQRAw6ZekC9yZHSACkfd4xThwLJIcqu3k\r\nuqbSo9P0blcQaD0fxS/dIzttlevi8EPWXrCPHtzik2fA11Uker/Yg82HDZPu\r\n12JHd71zPwMjiTiGj/mz8w+t+aRCkHPvSEKcmkQoqbACCNLanUsI67cHWEaa\r\ncgEZs26BeNvXAVRqpcSYIormo+2VgyPxX3A=\r\n=nk9o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.ae5b26c_1652173788307_0.12117216139594644"},"_hasShrinkwrap":false},"1.0.3-dev.affc998":{"name":"@usedapp/core","version":"1.0.3-dev.affc998","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.affc998","_integrity":"sha512-HUx9gok/v0rEoeiJojc1Hvldy+TTrXKHGpEyVwoPsdHexkoRtEnnXzRWad0I94R17NwxNZkgHXWnr75HOgpSJg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.affc998.tgz","_from":"file:usedapp-core-1.0.3-dev.affc998.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-HUx9gok/v0rEoeiJojc1Hvldy+TTrXKHGpEyVwoPsdHexkoRtEnnXzRWad0I94R17NwxNZkgHXWnr75HOgpSJg==","shasum":"d62a3042304b3d54bd203ddb1a8de3b08c52d6dd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.affc998.tgz","fileCount":1974,"unpackedSize":2509345,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+eoGdy4ARSLj7TFu55T9tXVlLeEXb9GE/14UD8u0vdQIgdO906TQ5U/Tuf++BuMHuzVj8yaYG4zIUmdc47CssgCY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiejkBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoogw//anoEiNzMH8zbEHYpDJD3E4ha73st17r6E1zvXAgXbuXRHI6F\r\njZHXHfsZ1QSztegCTiG1oT5+FwbGXyM0+JZGm2bQ7f7ybnXBUocPWi8iWHP2\r\nBb4w7v5oifHhO0KagF9qbSqAAJA9YXSPNWDBMsY/qZti//skAHYvDJNsc8O1\r\n8ggM49L2aYUWpiAl1aBMfesdT7I38xCDMRdWF31c8WjZUUcVy1HSuhvMSmSW\r\nx8J3xwDbYnLlaFsph43TEHpr8Evt922S4ZG4eadRmrKkRkTYqt4xt7snzFbf\r\n0QEZnCr88p9bN3Lrh67xt/gFY7d7AFJXCSDna5EGtpyNhAFMzI6C7ELt2OOO\r\nsnx/QC76FLbNtsCrHcIV9E4l4rRHQOZfcKsHm0EifAb6TX8H59DETHRrc/yG\r\nWyVO43eRwTYjyf/DvDfL3GLYmTt4jKJKBOCCxf9osTeLwkETW+n/5yk6GDMl\r\nc9wj3AdMR+Os1e0N6y+bdrYyCsNGlWPmy5dQ3xETGBbS9pzL3NYDzFNCKOfx\r\nZh1UeMF5pXW6Q52DTVmlk5r/JZ1B6zUUZ7OlOHUSBpuyxk4A2KAtLDqdFADg\r\n2+JjVsl+/jt142QXyesrF7kyALONiBvpVHjVzXIC+E5ZSyW3jMyt9FFXztiG\r\nXxjQZ3knx4rXyFLBWSJDD9TWnu0NI+L+334=\r\n=KgrM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.affc998_1652177153214_0.9136220966482442"},"_hasShrinkwrap":false},"1.0.3-dev.4ec912d":{"name":"@usedapp/core","version":"1.0.3-dev.4ec912d","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.4ec912d","_integrity":"sha512-NtVoBq0S2ca91hBLi0odpK6Md3A1/lyaSKzJvL4IAK65JLvHkxJyKAkQCnj0a9Z4Bbaawdvz0aTPh71DV3j/8w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.4ec912d.tgz","_from":"file:usedapp-core-1.0.3-dev.4ec912d.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-NtVoBq0S2ca91hBLi0odpK6Md3A1/lyaSKzJvL4IAK65JLvHkxJyKAkQCnj0a9Z4Bbaawdvz0aTPh71DV3j/8w==","shasum":"6b365df86d75cf71ad01080faa746e9c8b7bdd77","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.4ec912d.tgz","fileCount":2010,"unpackedSize":2670834,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMH88NxFfzTbykUeHlJDEVUOwa9ad3g3n255pYXmHeiAIhAIPGBmlvlKtPT+7ECbMAg5NDXlvKI+kj98G76tIer+dB"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiekEAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0xQ//UfSZPCUkJ2eXdYz9u/PzrP2VsZaxwEnJpBiv+BHg1nxLOkAy\r\n7DQRKTng4mYeCZ2PRHbbvQU9kzZO2/96EtNFXWm4Q6b+b9P0b/QLIfJjRSkV\r\nxiP2G9PlPTL2l+reZ2UYiBFJ+d23QdzDOnUmtYkfXSJlHQO1ZfBXQjQj9Dmf\r\nGrAmyuKfWl2uQrdTGJ1mhFYMUCAzWWOpnHB6whZErpuRKOSGwNzioxhyu3gl\r\nPoKBtdWK93MTguv+d1SEX5lHsZxHVcerNdDhaXYB4wUr1zr/5sFF3yRWIlDI\r\npuGl7E0X0Z1LD5TEcpJi4B2X8vkVUej4w3r02aTxMrZhfFvA9NRM0ZO7BVE7\r\nynAQwoxUJIzm5ic/N5pDyJ/32BSmGZLd0CaFMQh7x3HU06UUcpCBskkgzvJC\r\n1WVDrIPFHNIj2G8I0MpEejEtUIkLSbaeGGHJ0Xo8+MJNeoVN71Y3suH7REq2\r\nFKF+pSgISvCnsIIKFw/z9QvjcfXXseB6XRWCu6m++gYSwB5RRCNIHvhfumHA\r\ndNh9zgkbqbL1EK85n2FRlWu4JF1VtlSIPJjBEjS+hr7ynfv8Lq5pMmfVcApt\r\nILSwS6Y93Hom38LLVC75kDVDozuf0b6PC96Z6FTtDd8AAkz40vkaBuL+FMET\r\nqsKty1sPzyq1aZSMXjqhdA5pvAtifazKoV4=\r\n=tMvu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.4ec912d_1652179199997_0.13654362991855296"},"_hasShrinkwrap":false},"1.0.3-dev.adc7569":{"name":"@usedapp/core","version":"1.0.3-dev.adc7569","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.adc7569","_integrity":"sha512-ESiKTycsIsDC1f2UimiTJ/C9MAUXEZN8gwJLeHWHpePVdsCbo5PDroz9QxN20UgR9mtS5nQmZPVwVjCBA6/m0A==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.adc7569.tgz","_from":"file:usedapp-core-1.0.3-dev.adc7569.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-ESiKTycsIsDC1f2UimiTJ/C9MAUXEZN8gwJLeHWHpePVdsCbo5PDroz9QxN20UgR9mtS5nQmZPVwVjCBA6/m0A==","shasum":"1c63c0b592ec2d6e0105d2ea9033b722f9de88c9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.adc7569.tgz","fileCount":2010,"unpackedSize":2671013,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCYZhP6Y6S5L5QVS9S80BJnN2kzYZL2Dghp1yTZeo5WAIgbLRTI8QDRIi9OCcerdjGK5jGehQgRqrNNr8eUd/ncg8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJielXhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrtURAAjJlyof9BOAEnmja08E+eXBx03oeca7Evk8cbsUzi0HJAbAmy\r\ni4UDO2Ixhv1WBIScFqWS8Q5KlYNhOfqgCc1pvT6RTswNUQAZfQEtW+OrJQoc\r\nkhBy9m8Afm9JEyf9YiNQIPeNf1mQ5QWK/7coOUhlsAOS7ZXakQhdahK1QHEV\r\n+SGvk+Jd06Hr4xPNZULLEjfV7nNYIXIAWwiPErbXG20To5xTAT6q4eqdnLqB\r\n/fY+c7BLl72/jRfpd0989MZYtBBnWaLStmTvi3maslyX0iHI8NiKjlvnSsxe\r\nje6Khxj9uGrW8d67uYRe0PPKNfu3oXNHbSZEech74EgWCYz1CoPEapUqwEup\r\nl2HyqNOMFEZiiiGJ4Vz6qfgFYJa3BRLxfsOKpvhVW9zMtA+GUDbFdnoXi+8X\r\nYNvldJ7O92GGoUsxwre4ioAG/M5sWWHBDo0UcYVcRZlgezmUl8LtTQvoIDUx\r\nBthrcfS7rEiMZ8HuRAHo+O2bFa7moJhtNP05ri6eEpasvBRRZk2pZ+0fYLni\r\nd19NtJCa0ZBb4pN0XIGPGe2YO4IYBL8EThXi0hI9F9wAtur1b5I3k56/rAJX\r\nQhczq9NoZsWwDFY/8+v0z/3QsvhBICOlOl4RTZhcXfClla/tI8323dYwKIFe\r\niywVQ6ZRbXxKIvkFbJew12DOV8iFTTWMTEw=\r\n=+yNQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.adc7569_1652184544938_0.1103668361883372"},"_hasShrinkwrap":false},"1.0.3-dev.66ae992":{"name":"@usedapp/core","version":"1.0.3-dev.66ae992","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.66ae992","_integrity":"sha512-iY7eCqmxiuLYmAjg6pu87lvKLPPIjpNhpoQwnPa9Gse/id70vcVZAmoJD3ioSJ4jgCNGiJHTUsH5a8BeEg2P7w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.66ae992.tgz","_from":"file:usedapp-core-1.0.3-dev.66ae992.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-iY7eCqmxiuLYmAjg6pu87lvKLPPIjpNhpoQwnPa9Gse/id70vcVZAmoJD3ioSJ4jgCNGiJHTUsH5a8BeEg2P7w==","shasum":"62331c69af2744d684551d80cb343d960945d6d8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.66ae992.tgz","fileCount":2010,"unpackedSize":2670807,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwrDEKPx4T0hFCIrqL6eLPaPufyuLyH5OgfcnGimxA0AiEA1lrSVjJccNoY1Fj3Z/M9WZ6iqnn+iZgXZ5lyPhwhn/Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJie29tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeOw//da1ctZlyWEfzbl0XvPJ4jSr7hkjWihuSYhGX1CpBSzjhQ3BA\r\nBM4zlMFafmqAncBVylBGhwUELQbH/LJBxWGgHVK5gzxuliJJLS0lDZLW/CRC\r\n6tckciFMPYRvL4T5yoSbwjruS7kl/FtZAdUv6WUQHtaRFtazImYgKQlcPROy\r\n/IzdZBjQAW+6cuLdvxd3TbQxeL4Pa4tta4j+qx332G3+Kc/ernc1qRBuGGFo\r\nj2AcVkqKvj9i9v88QNAt7Rwhz3id0Az/w2qKe6lDknCh0BOdkOWavtaZ5eNw\r\nuWGuxNZbFsj70PV1HmefjN8FOwmlVbfQqhxlI0nhDoGJYHmk/2KJl2dADddF\r\nzlVmoC4tAGoxwJAjIECiceUuANGLuF7HanjAjPSKb2cfqzgIA/Z11T2aT5P7\r\nZEJTWu/b6kpuiqyiizrTK184mVwhgx4+NIK0mAPAI+EwoZfui14YQTrcdPCD\r\nHArMPQi9H4rtFuf7/uBzQRJ4EA7g3aQOxdhQZUGXPzE1arWO7kW/S5REaIaT\r\ndliE1ZIqndRnv+cFMGN2lLGPZ2ic2l9yERuQ7gc3WE3Luu/BFgMxKvW8FCmq\r\nELC2foDesQ76mTgvF6DxwG/WLinGTzmw29mIg931+5Pm58eWKfckm+welW8m\r\npYSSe+YigsIROwQXffkwsAhRAe7Ts1Lzm6Q=\r\n=fvGN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.66ae992_1652256620658_0.9278406983094813"},"_hasShrinkwrap":false},"1.0.3-dev.39162fe":{"name":"@usedapp/core","version":"1.0.3-dev.39162fe","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.39162fe","_integrity":"sha512-XZOS++Exinea08gmHzrV/H05ggdkLYeMrfvxUKxKxwroSQlYw3eCWs9n+oELAKGRFd/ntnBFmrG3gDD8sk9Mkg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.39162fe.tgz","_from":"file:usedapp-core-1.0.3-dev.39162fe.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-XZOS++Exinea08gmHzrV/H05ggdkLYeMrfvxUKxKxwroSQlYw3eCWs9n+oELAKGRFd/ntnBFmrG3gDD8sk9Mkg==","shasum":"5de86256073e9d88c4590f94bcba65fd6182fe86","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.39162fe.tgz","fileCount":2010,"unpackedSize":2670798,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlV7qR27Mqhb58MrQ5HqM6s+KcUwR1CFD8SFhBjP/UlAIgRU3pkRqGfjyLWva/5EuKfEKYcrqj3NANpmHsQSAqIwQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifM1UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEYw//VmVyHuesoK6zG/eKuOmPEi2YoSiqZypLDhx941NDAHEUkMcx\r\nshfU1Xj9WZ14nWTAckF9i2iBHj3VGSSB5GBoN9+cr+GXWiJN79LxphfjllUC\r\nMpuYLuU4XR1o7+xA1A1AmuoggeL0JW4D8uAp2F5Xc5DZso4QshN6T4qrCn0m\r\nA40O3TbDeppaFeRnLdcg8iZopjkZE14AA72JWR/mzSPRWEGJgAE7H/GKL7Qb\r\nR4ajbhvaIMQgyQsqVnVgFmtaX8UEso7Mi0F2xl7KgLQlZhLWmnwQhKy7wiTw\r\n6D7+eQyY/jtrrCJSqR4S4HWNeh4N9IzY1CT9bD2K9fjTm7uggjhfjgyJDH6r\r\nRq8nDmP/OaFphHTWRZ+YEgsY+vJbIBRuLS0F9SlgycNYy8ISJK5T+j5qfYkn\r\n1neZZh8BoG54AZuykDXuFh99Bp5YzzyO/G5FqvT3F1Vkh9qJz/06Lc9Dx009\r\nHn6Ndro5TSIHp2VDQNCosFh0Kln8YQ9VShtzHKpdmVEIUIi0zGe9XqU90sHr\r\nHg7qpUWfrSBWzPlVPw5JvhHgjpgzngkozPAuFmnuLTBhrDi+sopfjtx3g9oW\r\n1Gl0s8bEGmzqHJ5uW/JCaUrEHOY7O/Hf1vF03Q765TD04s8s6RFkH0G1qq4t\r\nnxVpA2bP+aob06ULamq21rNblZQOEjyw518=\r\n=7EIy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.39162fe_1652346195810_0.29926824677268415"},"_hasShrinkwrap":false},"1.0.3-dev.9236eba":{"name":"@usedapp/core","version":"1.0.3-dev.9236eba","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.9236eba","_integrity":"sha512-JSDIP3iBLWWnmshShZUDEY57T/dYoxdPOgZDn7SgLh2V6Axg8eJh/7FZ44J28uNCx5SXpRfO83AmWUJZ0LhQZw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.9236eba.tgz","_from":"file:usedapp-core-1.0.3-dev.9236eba.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-JSDIP3iBLWWnmshShZUDEY57T/dYoxdPOgZDn7SgLh2V6Axg8eJh/7FZ44J28uNCx5SXpRfO83AmWUJZ0LhQZw==","shasum":"067d98f1f5a6e9eb35f4f46ebbb1f18461412bfa","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.9236eba.tgz","fileCount":2010,"unpackedSize":2670798,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHOG5sBumCl/5i03BuY2GcCtt1FCDTDleKHYgRduH8/nAiBNAbLIqjmoYEs2vzZDCe+IQC/PLNBsyVlQYmFvW7e/Iw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigi8XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAXRAAn33lsUIPBaQu3d3PAFPAkIrwKdwqJyYy9ulD6pN3krFao1eU\r\ngNBydNM5HWhaq7ayivp7/LJhKtVi7Ur0+pZmzll5TcDubHhEQufDiT14foa5\r\nJdXRyu3B+V5aIqXHqtiN0DuCpwfi6eWTc2GqYWN993EEtg07NeZ4FMaIrgv+\r\nBpB8rBymE9rNjOCdVEs3MxOXjF/MopocVIM/lANl22yTPQTiK94I8JYIGoRm\r\nwaKzYuNelwbdogePLU/t/y+/p60XGLhWGj1FPzcMiK4XN3OahwO/wX53SMKI\r\nqGuIaU0iAFU0XBDMdbFcdLFwG++DKmEEWIYUVjvVjIBwMc6HFxRhl+qm07fa\r\npEWtClZZEsSO+UvQ1weYfYoXCqw3viunarJZSqKStpQHolWvvqOszKgfc/LO\r\nUARDZLCIoW24hImR/VuiUAny8809BaDGQvkfCaVv6xzsHHESWKow3qUiC0Qu\r\nR68N83KNSji6LWIh9Qvb6+sgzqZCnsyCRJRV5JTfzFbHkTNX3gYHIEN8qw8R\r\nF9YDkWYOHsC45amG8vNXDb0FVszwlmH0s7wFptLfHFHEAW8HBqyWOZte7ApV\r\nkJUWm7CTEMZCgT8iL5K4APo323JNS0jDQRwBYPp4dh7G8bIfSuXuZzc0CXnl\r\nPNAPyAwgS0y5Dje13f35J5MZCJ5RuvGfLC0=\r\n=nBkJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.9236eba_1652698903416_0.4964413778190464"},"_hasShrinkwrap":false},"1.0.3-dev.5ad3bfe":{"name":"@usedapp/core","version":"1.0.3-dev.5ad3bfe","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.5ad3bfe","_integrity":"sha512-Eo0XKX7cWi9fZrUbF3V881DdTXD0WNXLUOAMZ22bmHTlG6iCduJzmmcmMoSXZxVAVbh0onPVRI26P5F94pjdQQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.5ad3bfe.tgz","_from":"file:usedapp-core-1.0.3-dev.5ad3bfe.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-Eo0XKX7cWi9fZrUbF3V881DdTXD0WNXLUOAMZ22bmHTlG6iCduJzmmcmMoSXZxVAVbh0onPVRI26P5F94pjdQQ==","shasum":"f4fd61219ed30f982286065f61f8c953c2de6d4b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.5ad3bfe.tgz","fileCount":2010,"unpackedSize":2670798,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB9EOD07vpxP7hUSq0m7d111HlNj7r2uBXCLZo8jd4CqAiAKcgi7nVYFHYH8twbuANDd3tOgr0ll/HUw4OJxFnFnPA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigjxpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs5xAAm4moVXMXQ5L1soJ2eaCpLR4UFLsV2dF2fwDSX3TzS0SrPfeQ\r\nsn/Z2L+Rdu7uJKyBGaVvueR7mMVDDwncG8bkH+iEkvtzbgWXEtkIWk2hD1wd\r\nkVhfM8R3g+2R7xKvb+bPCjTKXZu37igTRQVscj4KVXXlpGIcx7NbBoer+H5x\r\nEePLa2Ix6whh3zd6ayZMXXPlRSa1TdjdTZFjLNqOeYDmyH2/zNy8GV66JwQO\r\nlCtxcP2IOIt7ZPE1JcTo0Cjt113eGGUvGTtip8fcqCf4P/sIHOKXcVSJCXD/\r\nGAYcPtpfSydqg5ojPYuhyupHTWxzl9jWEuY5EPoF8iFiBadJVuDhumucSr5/\r\nia6w5t8RRMDo/Ij6C/v6Xtdip7Pb2xuG2KrLx4pXOC+URok7XdBriEh9JXtV\r\nEtYfC6tmloO7XGTjp9ZopgxBe2fjKh01L9g1qVMb0otML3+fhTJ4TOIj9GtC\r\nxmHp56WLJC0iqG2wRiv2JgYP7YM0UHRpm8CjHj62U9eUshKSnkQr3t+VSjn7\r\nO5Yrk14JC8f6sXzJzobYrqzK/XeKFY9/aINis+8xvxTe7ocZRYc++oYZkqII\r\nrVaga7Jugf7oyjM2q/vZJFyIVOHOoJq3reE4pceo1hE9A/oENbmaqer/ehQU\r\nkgugvITM/7wy04SG8BbPF6fcnvNTuEpUKDU=\r\n=fuCq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.5ad3bfe_1652702312960_0.8562317967222457"},"_hasShrinkwrap":false},"1.0.3-dev.9321c36":{"name":"@usedapp/core","version":"1.0.3-dev.9321c36","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.9321c36","_integrity":"sha512-NZ+x/SS0KYUVBTQjlYT29LXQ480vDlwvUr5aduDYCcVVJu/7QrlzjI1a4A3KiwX0kPXdX0Hw+p480TecoQtXRQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.9321c36.tgz","_from":"file:usedapp-core-1.0.3-dev.9321c36.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-NZ+x/SS0KYUVBTQjlYT29LXQ480vDlwvUr5aduDYCcVVJu/7QrlzjI1a4A3KiwX0kPXdX0Hw+p480TecoQtXRQ==","shasum":"8f3228e651f9b300a68445d1c7cc5b3f340b7cf4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.9321c36.tgz","fileCount":2010,"unpackedSize":2675484,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv/asUMmwo9jc5inIsbpyOY5O7/x/VP+Cpqhw2xKQ6qAIgQyqpT1CWXRtiW86HQH0G75UPyNcj54vbohczmssrowA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigl13ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEzxAAkjDI56Ax1aGIP+kYp2u5qI966ke8oWR4LWEpaeycGWJ1I5uG\r\nQPQeCOWHP9I8XO8yhVxSFInmzjM/2nqNzsNTvXia+nwuTPdQsRx/ZdtfnzH7\r\n9g/fGnML8IN1T94jclIdQOp3V26LlKM3OUVBKm6yhwejqerK7CJN64L55/Gn\r\nUaMuc3P697DAn7ChCJJ8cBsFJckIWk7/w+yeAVGUYC8Ylb8zhCBvhFXXlwLO\r\nkXSzIXMq6JuZxE4CVHAeM7xvfdfwGCKIF80XrdU1VLCju3BSib6vJT/vlj6F\r\n33r8Wkabi4MD0fYvgJ58ubBJ9Tjy59wJ7Ec2MipcBFI6qTSD4K+BNDyYbfFJ\r\nnP5Y1c2K//zii116y7jby1f6Ul456ujb+X5Nux1FseZ5IqWG1h0mC0vwxVV+\r\nRIYcDpF+66q8WFAVq9UPHVMO6HKft1ySblDnconz5nOuqCDFMs3OU3FpNjC0\r\nyvVPdW8PyFKa+bUCDLRrOs3gqfnbiZdj6d2oVDIHMZQbA2nBtQmh0fldajHv\r\n18OAA79jOOhTWus1halLbtRYFZLukRd59B9RIuiEwDS3iOaHfsp7HpRIU2wu\r\nTzsOn43Eo1LOG49SQDYhUPPMItemgJ8uqp9kT6czsjk//I8dTzqyAIq6yOeu\r\ncj8p1rHKHaYrZdZelxxH5TU83/PARCHmyZs=\r\n=KASp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.9321c36_1652710775733_0.08421262674076768"},"_hasShrinkwrap":false},"1.0.3-dev.1536229":{"name":"@usedapp/core","version":"1.0.3-dev.1536229","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.1536229","_integrity":"sha512-cafxTMny141Iip34E78sSzFR0k6Ls9w6PC4jOxkLWT+1vOHEdcsWcAXmvRD5IZrdYeAy4I9W8cTA+0MIDD/Eaw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.1536229.tgz","_from":"file:usedapp-core-1.0.3-dev.1536229.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-cafxTMny141Iip34E78sSzFR0k6Ls9w6PC4jOxkLWT+1vOHEdcsWcAXmvRD5IZrdYeAy4I9W8cTA+0MIDD/Eaw==","shasum":"f7ba5735313d0cc533484b23a2c3bfdc42568e4e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.1536229.tgz","fileCount":2010,"unpackedSize":2676431,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTS090d0+khLQAyMK9bQN7+l5M/eb6lurKT5dy36IX2wIgawE9hYdXrTF08xyBm13UwVMqoaO9HLciriMNk1RWxZc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigmaiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqoyw//VrcEAtBh/vMV3xOZjxqLID6/nSUTOiMlXNgSz9OHJnNUaJWI\r\nifYsdlNM4nvyCEDW55oRGU5yDSueI2bcY/NwR8NUcdkCpnHZstj3305WPD8L\r\n+517fhBfEG34nhwwK0Diao61o3Sw7HFzJJRVLj4mfC4urYPS4VNxqQTC+vD+\r\nhfeSVwKaRSrLl8sy12WJmyxd8cmkhDypWv2odMt79ECc1603V7EbK8BgXU7n\r\nGS3q8oyx6mdiQW9XfY0IdSH/Ddv0n506/mPlIO80JuknT109k7jGKZw5adLk\r\nhIfnYBbt2+iMm1NxI9Z9U8jeO1vsOE2BoyG/XeNqhSgz63AmWTzUmngf1POZ\r\np4EkQsHRCU/2HEoNCaPprOSyhjXnHYkcBkB21ybDRajiT1at8Fu7bHtPYwme\r\niXDHxQ4d/FnLIDLYhjaDpy05nnhhBtIdTdUDSXbS7ykskAmnDi3lk+0wMaB4\r\nCn11iv1nLRFzeTDI7mDyiWtkxLE8BwTbsq2/joxVjL+07uN4zH6FJNSQQiuD\r\nf1FfbDCTPrU1IElrTXAWCtfma0wRW+WZ2Cpu2N/qLhyeNKjCdzg1nsa6fJdx\r\nxKNy89DH029MSirox5bLB2xYcJabdTC8ijz0U0LoQgfpxLuLY/obkxF1nxk/\r\ngBaSYwfSghWmvUoht11mczCYziiZITklSxM=\r\n=iZu4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.1536229_1652713122731_0.9388791290455092"},"_hasShrinkwrap":false},"1.0.3-dev.e2fb66e":{"name":"@usedapp/core","version":"1.0.3-dev.e2fb66e","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.e2fb66e","_integrity":"sha512-u2mgYft3Zry8Vf/Oqj+7D72Z8eqwgmzkLSeyz7LX89pdwLkjkfMUsVc4e+u6T432zm/UiVNNR8/Iihe6GBpFwg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.e2fb66e.tgz","_from":"file:usedapp-core-1.0.3-dev.e2fb66e.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-u2mgYft3Zry8Vf/Oqj+7D72Z8eqwgmzkLSeyz7LX89pdwLkjkfMUsVc4e+u6T432zm/UiVNNR8/Iihe6GBpFwg==","shasum":"543fa53e9c9fb2aa6360796f6de34b78cb3e744b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.e2fb66e.tgz","fileCount":2019,"unpackedSize":2699444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4muxGn0uRn1H2/2IBdyQ9ldJXb79tbHIW76cv7shimQIgLdGFuHweTHTKMQT+UsmM2d6RTYpS9uwqJi/QxBB+53A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJig5msACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYahAAjPAeizzIyHA28n/VHX1j7Ihi2dx4ZKTkR5V/izuBWutt58kv\r\nJNAvg2riZxwaikW+0XltOTEPQGcWzwjB6Y/5dJ6GOjMMtlnKO5VSkXPam+5B\r\nquDyCMIiuu7bJ8sZ3MtIwVtERc6liwF9eXXy8H/sIwCHWaQrr/+vpO9JbIuD\r\nc2LzcXwnYUpFShtokK5nRNqFJIVuS8NzX7oFC+oWFpK0iIuZbRI8v+nIbvFM\r\nDzXKGtuhw35KsjAElISV7hYvGvtNJ5gcp7LeX6yeofHH0RdZMO6JIDihm3uK\r\nWwkoCsSHg7mIyRdHENHs53dhw7PcDrVAVvq3JewnPCEyiHF71WqlV4UJD0KV\r\nS993ZGZ8IuKNsIYTLWr8WOeXrrZav1hNZiCuDEJ4NjkmIPCYE9f248xUdem8\r\nbveewN4yKlr0J/0mulqI3vRlvsp4q4ij/hhaLKAbuzmDbe9FEpK51+H0W7mz\r\nN+XhDAv4JhveJcytLMu4nWAodTLvZfS2HIWgFT/E/htUdPowQzh8vrr/VHi/\r\nz82bQOVUqRRHcJIIP07JibFNdpqWbkPVdIZOKx5OXvLVOEyShYA+/vXWnFDB\r\ngCPNDcSaLz09urr4YvowsAxL1bZNW1/vRLBcatqNZSkEw/Y244xzxlegTyXO\r\nP+iKmHNQvK5Cqxl456nPYhenzw811Mi+oGQ=\r\n=OX1Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.e2fb66e_1652791723892_0.8115300489266879"},"_hasShrinkwrap":false},"1.0.3-dev.265fd76":{"name":"@usedapp/core","version":"1.0.3-dev.265fd76","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.265fd76","_integrity":"sha512-SrO1QTBVe970Gs4+B78AW7kaWWelyAQFf9wdb5rxHraLjgIjOclo7I8x2sr7ayMhWUB/G0ObTrOmuLiBy8LHMw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.265fd76.tgz","_from":"file:usedapp-core-1.0.3-dev.265fd76.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-SrO1QTBVe970Gs4+B78AW7kaWWelyAQFf9wdb5rxHraLjgIjOclo7I8x2sr7ayMhWUB/G0ObTrOmuLiBy8LHMw==","shasum":"30aafb092b7ac111a17fee8eea72ace299c63304","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.265fd76.tgz","fileCount":2019,"unpackedSize":2699532,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDric3nM9pOphaQq8DVk6FPYvM/bazA5EzcyXeQpGCbLwIhAMEw2yicQDe8YM/h7NU8CJOa67UlgY8Kne97/NB/eNX5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihLvqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWww/8Cf5H60J6sfrVBBQ3FyBGbRXdwDfgRbvpP6RW+2Kzvn66xkWk\r\nc5mQ7V9QPpdhFXg6AQw8+ZHKtpD4W8Ip9bW5GGcDjOjRYrOGdVtkZj97RVHG\r\nPP8gUAhIUHQwGxv0cNxTLljrenP52srL/+xYAn6CTjM5UJVNtSpqBvn9++cE\r\nc0/QXIq3VfhnKGilvCy1m6eIMpNspe7F8ChPkSVlCcT87Z5hqlcTRgmiKiGv\r\ne35+3N7a4hm/517IkXtU7iB91Svs9zcJ3X5MDfvwCJamh0Mdy63rgt7h1GVT\r\nR228n8wgVLVymjJo34CwgrHl3AJpHYZ2Lo10tMtLs6U4BD+n9gB9SNoSj9pu\r\nsDbddazdVsgF05eYm/4DYP/NMAwMw/w06fVfzkzzLT74lbOk8dp2fEpxkrOc\r\nsfczM3+24A47V/fRXG2w5FtwUSIMATUCAzWqwBx8JY1XU1YxmJMXlVmKocCR\r\nQCh3dzHjLtDYKgJ7t0jfwLI2lURbAj4cuAgNJQls6zLY+dS2YOOex24Siq6G\r\n26rccSEiBV9XQwXAf1pdeANr6fHNeTGlSlJOPoFq1TqtaO7joKd0lWuggPLR\r\n7bSoGqbkphMiz9U8kPMPWVsG9bSyzBlHeEZlDDwYymlM9jIy7UKoE258/geh\r\nB4xaAN9/9sO6WurfdIn76C1NVmNw0Fy36hs=\r\n=KNPt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.265fd76_1652866026532_0.46439846484572533"},"_hasShrinkwrap":false},"1.0.3-dev.ce6f09f":{"name":"@usedapp/core","version":"1.0.3-dev.ce6f09f","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.ce6f09f","_integrity":"sha512-M0lh3c77zMVd8GXRKJCK0nnXj1Qo4FwLHdGqplxd5Hm3DJRnpAeQuzL7C5pgd/eHGVG+godHMfoprr6kU8n31w==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.ce6f09f.tgz","_from":"file:usedapp-core-1.0.3-dev.ce6f09f.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-M0lh3c77zMVd8GXRKJCK0nnXj1Qo4FwLHdGqplxd5Hm3DJRnpAeQuzL7C5pgd/eHGVG+godHMfoprr6kU8n31w==","shasum":"c13308a5ca56e06410da355aad896b3bccda83c6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.ce6f09f.tgz","fileCount":2019,"unpackedSize":2699532,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkA/IXOFk33IB7E4JOPH7AL2Z+9MDu3ALLa6+YjeKRswIhALlliJJp09J/C65ESwRGnlCUm2cMmxbfZstJvdJngeh4"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihL7OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4sw//bYHy/KCzvQHz0kOgQz0pKdgN7sJE577/v5n39if/7O5M6mkA\r\nVbiYtxHaPssPeWbcnqQZqa5uB2RPPAhOys8hzecYGFsRuhZX+lXg/xpgf+Ct\r\nf29KPS+qm3E8UmIwLrIxPdK1MQrplyNz7dk76NM2Gmbt2bIdZuO6mfIBiAOV\r\nTZr8taDefW91UZV6XOkVe/zTBBP7EXaajJeWM4SkHE1LBCB3H7YKe0j8JG/w\r\n8Dj8jLrAsQVmOo1MytQ5hcQB88OwEKGbdlQMiLM5reUZdSygFxZgsrlPVoyz\r\n+doc7ZgzaT+NmVXxGEhzRPg6dFZtI78+a9K7nnO3CjbGaxtQsSD/7pgzZ+XQ\r\nQqkoeJJ/llvyDdmRwB99M6NWIQAL+dD+IWjnm2T1V0H+aqTNoIJoVLsWAZHl\r\nEH4GxjMLsdlRjm+gQixFZHimVB9d3ZeryIoMcKRvnvvtwFRgoWNZ8oQVJISA\r\nEPeV385/G67yM7u0Lg7eiIvCKqaNDcIGcTuZvNdnZuaHiiTI6EpoS+9DoK2b\r\nUD5tGBOAeBmJTsl95RvABpaj7cEk/OQmxpG/Gy63AG7/KNPszuWyruLYBOk3\r\nO9yQHgELdBiVuVAzVuGZMRxFywoD2vposWBojLe3YcDs5SgTyhV2XYEB1vVi\r\n/6QkeyRlwgnp/kKX5oIYCTp3XXtpHaQSmK4=\r\n=eN0X\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.ce6f09f_1652866766508_0.5369689274858387"},"_hasShrinkwrap":false},"1.0.3-dev.68ca015":{"name":"@usedapp/core","version":"1.0.3-dev.68ca015","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.68ca015","_integrity":"sha512-KKMlwNfvm9UK1U0u/NPpbrOZ+OyjLc+/xr+DizHhDlhdx6ZrfzjPgO5doAOSMuDdsXuuWxRD2RTBP6UVqmLU/A==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.68ca015.tgz","_from":"file:usedapp-core-1.0.3-dev.68ca015.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-KKMlwNfvm9UK1U0u/NPpbrOZ+OyjLc+/xr+DizHhDlhdx6ZrfzjPgO5doAOSMuDdsXuuWxRD2RTBP6UVqmLU/A==","shasum":"40a5952ef3d4f1da2886a72d2b8fba73967370d3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.68ca015.tgz","fileCount":2019,"unpackedSize":2699532,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1tBV64RlCe1T0jdq16mPobOVCCmrp3O4X/pe+evDwSAiEA+iiaiJL99yX8nsaI+ZjNb8cTZPDAS92qVOgLv6VNbVc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihORSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomNg/9EnFhohk4UGglTuULcH6dKVHyZ55B8uN1mGUbOlEuBBzykkQh\r\n4LDJZ2W3Ss1xBEk5Zkk8LXN8eLsrSpNFudZg5fvoA70/CxCFokoIcZQheOOU\r\nX7A/gkW0m4jnd+U/IMYE1IZ2j33cOuP9nC08QIpfeaeNNh98ZGBiFIOj0S0u\r\nxUTAQ4wH/o5bqHC4+yCRtXY7NixUbeW53jxjct13wa5FjMpPLrH+RrJfqa66\r\nCK7ud+KleMbHZS/AQgsHsWQgjZ7jKNmcwHJpoMSd5ErPOlKPBFzYLLO695Py\r\n7r40ZCJIcGFlzX9nxnupe7dofZ16PBWiDsrPmNQZlnTB7z+0uo3T5ZLkkvIu\r\nA8Z1qouPpVE3EmsX0HhVcIfIJp+oVU0l57u1Rm4sV+q/Nrb4y9OMMFdFSTfe\r\nc8P8D+yQ9G4jwx7LM6Bn1nvZVw3Uzd41siv2b0l+mBeHMbyEaC1QBfxg6HgJ\r\njjGZBBBfe7fLmhxaxszcQotWHGsbUPJEg21Z7JnWz8JEZXTkTTxAv6WEbJwj\r\nyKHpx4IekrHRMxNaCaeWasCEotcRLS3qkMpSL4EAheInMe0EyQfYtXcC7ASk\r\nZXYfrpXgdLuGFaLCaVjmoNm6csIsCZt8czshbLCRLLze+HbSzzX3hcs7ffIK\r\nGmuJIOSfzZLDqtMJDZytqKJ31qK2qdol82E=\r\n=5hvW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.68ca015_1652876370421_0.491506851078914"},"_hasShrinkwrap":false},"1.0.3-dev.1c7433d":{"name":"@usedapp/core","version":"1.0.3-dev.1c7433d","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.1c7433d","_integrity":"sha512-RqPkPIKbooSgiT15cancked6qrn7iJ/bD+D5TJU4MLyh+2rNjdciL2tPCoWOvPRACdIuOxkgOb5P9gJ0vcZKOg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.1c7433d.tgz","_from":"file:usedapp-core-1.0.3-dev.1c7433d.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-RqPkPIKbooSgiT15cancked6qrn7iJ/bD+D5TJU4MLyh+2rNjdciL2tPCoWOvPRACdIuOxkgOb5P9gJ0vcZKOg==","shasum":"61443cf5e85c658631c3c9a34a044edcbeae231f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.1c7433d.tgz","fileCount":2019,"unpackedSize":2699532,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDf8Lo1u5jcLpBteEkzGPnkvCZfUx5kXhWomev0MzQ7VQIhALGF+Q8wOmpXTnfAJ6JxFpwP0ct7m3LC5J+IuBLNnlnI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihRFOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdbhAAkACTe0Dve0CTNdX/SS2GarXPWMGVwVY5ynlwHIHBaJKvjUag\r\noiBaarX92DDpPfxaqhb3KtEUilxm1zRVAg2xaQ1y0Y2nijLqzEXYk91kEX37\r\nVrtz0d6dB4ItD5s9jnV0BvyuFXcacvrOZ3lERtTO/1Y+tYBR4fSi2j5GZIOI\r\nZPr5yVcdZewa6S4m5e3pviHlsfDYBVe2eJAXmFYAtLXJXRnt2TyTolhdWRQf\r\nMCpA1yCZvz6l9vafYFh1bF3Y1lYnWeWwAvhcsMY+hlX1BdefJTXPlxljUL/O\r\n5OaIWgUuyT80zzV9DLHaxgkLIiSi9TCdWgQ5ak7UrbXS607nwXBB25c0DXQW\r\nh+OFoswTSjrQFTRMZbTTI6pMmi4E7pYXfQm+mLghrn2cS2ElNdz7FyZPYuBR\r\nfqlgQoaRh/VbqebW+As9KU+WGu0rnEk44vydQZicoID6kvdQAacTMu6f+2y0\r\nbL4fxms/K0DHF+GO+SsLn3cqwNGzQiqUBCm4MKRIUayKXbjj4twUpmuL0pOy\r\nKjGU2AmIR7Kt8t7pm+0JZgqzzeqKyTJAhpj6RAsCm7pg6l6dcSidDG2+suET\r\n0M6cI3zWwBGT2VfA4+dXUl7gt878RG8T1NXBOzl+rCmRF8S57zk30Ue2t+iN\r\nmsolEYvGqM0OwkIqbAvWGDjYJKoO48O1m8E=\r\n=vOK+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.1c7433d_1652887885900_0.5870200447261429"},"_hasShrinkwrap":false},"1.0.3-dev.afc95db":{"name":"@usedapp/core","version":"1.0.3-dev.afc95db","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.afc95db","_integrity":"sha512-YxOK0mVU5i1Lhwz/3yRdtvr0kSn4WNDWWviWhhA7DsW/0K4wFQQfm7BI4Diabzq8k9osf9gL9EuIifFJfMLxHQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.afc95db.tgz","_from":"file:usedapp-core-1.0.3-dev.afc95db.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-YxOK0mVU5i1Lhwz/3yRdtvr0kSn4WNDWWviWhhA7DsW/0K4wFQQfm7BI4Diabzq8k9osf9gL9EuIifFJfMLxHQ==","shasum":"45720c4f46d40818b730c7305a0c6355e887f028","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.afc95db.tgz","fileCount":2019,"unpackedSize":2699532,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+oxb7e789l/S9JM/zTKgtfPaD06/Hxs7mQSqb+JFX0AiBNeHhj/d4eERCFA4x7pyDM4Avhq3qmx5Vvu4pONeZl3A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiheoKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfNg/+PhkzV2eh17qNBS3m6EN5p7PKW4VFCOXRcWek2HsCbg4ADTvN\r\nYmclnxQjHjNTFVcoZZlD+4LaaqQTDWTFR8TLGa0RRdUICFGV9U+XoIuHFFgL\r\naNjUXA6YAEaykF4tDFNGpEK63OPh+c8Vw2p6db2WFBCSzEszdAAXx1usO2vV\r\namIIWmMp+6v4blRlQlS0qkraySmDs786tWoai1LgGig57vpHHHD7UmdamLRZ\r\nHnI92reur486E2bO+BdKEcpxk9hvw0R5NHFk2ek9QsQf5B/dYlChxJnxYOfF\r\nEEZOSgSEjEn2ru9gT+FDhRvXgI3dIX+qij5O3Ix1kc6DGDxuugdz58rHg8/v\r\nNXKEPnj63uTOPUVTaSZmzdCL4QUXRSQqM1ygbUpUx9uba+S/zfdQcRtqBUSg\r\nTHQX/XWQW0Skr3coo4b+pwEPu1nnAC5THAEClC5XG1+d+Ih463KjRnrW0isv\r\nBMKK+63gOpMYOrhEEfEXn0I4G9vMLoh0+Ibxj2taSnHYlzul7nPUzT0jZdp3\r\nDPfxGTJ3U7Yu3Qu293ac5kXvt/m436bt5tdgP7/ctHbYrznKyY9rVUvuOG8r\r\nvTivPk9lCXDd2yqAoEAE1ZxFod5Z+s5u/YNJFRHFdsQ5Dkp8g86eKfmIkV2d\r\nr1WS8FRwrPt/k9kdGm5Vi4Do/5ty9PmwuYc=\r\n=+xW8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.afc95db_1652943370501_0.6422062386700258"},"_hasShrinkwrap":false},"1.0.3-dev.902a041":{"name":"@usedapp/core","version":"1.0.3-dev.902a041","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.902a041","_integrity":"sha512-xKgOAMvEkCElCT/vUCSRuNWJvQS37kkb1b+Y32HccblSIrGEwrXdXyzuIOd9+eoqyUeuQnUSUXKmFwbYLMGJzw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.902a041.tgz","_from":"file:usedapp-core-1.0.3-dev.902a041.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-xKgOAMvEkCElCT/vUCSRuNWJvQS37kkb1b+Y32HccblSIrGEwrXdXyzuIOd9+eoqyUeuQnUSUXKmFwbYLMGJzw==","shasum":"c0ca51be3da9d3b61db8c0ba0cd5f3df7336e438","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.902a041.tgz","fileCount":2028,"unpackedSize":2718932,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7OLnHnuNWM5Trr98H/za/Gt/kZn7kZ7nSkpplq7yBiAiBpBmpzsbewzYg70TbVN+VaG0vnsrmdwXpixCxV2PXJ7w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii0kZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrq6w/5AfpA1N/YkTnNBDybeYbwXuJ6PEmmU3WIB+dyCr2IxVi8QQam\r\np/iLpECZoLkCBqVaGX6PyEQxlFa09OaemdV8MgRSlcG8o+KWRHfVr1eIpR2g\r\nItmsccZCd9L0/Bk3L0nNnEN3FLQ0BWIXlxASugEKj7zrNYaOHXtgQDx7hQgC\r\nuK29R7CNrxj5QfWLXJnLWREV8a9Q/iKL0uZLwTIToAi7Wa1wkpOKRDoi68hn\r\n65p272k/I+vbTWPS5Mtw+FfZ66EH8mvoy7r+Y7kc2AywS69Khks83LyY6hUp\r\nSwVc39L4y4mFocvcb4clDbMMSntii3/EqTmDshVj9PX+H/xTB3rP4JOdtwiM\r\nxk+efjQA9vjWCq6inuUS5Wc1fuEjq6ZsO/8HRN3U5Qcu4IzVUiuwlZ2vjQIQ\r\nQdTs1eqvysrxOSaYzxD17mNZhBOMED10ftwkEB2ZnBNPWueyFgpXT+hhw1Xy\r\nsQMW8o2uYmfoCiUvdPsntE9hWfagQLmTjqWVt7DNblP1JnfeN6MHF3jg/EUF\r\noClMvKTwpsqNXRPAbInl2Okbst5CXawOF7HzvUKrzwztKosYS7sw3kI6Purv\r\nMzGyLRasMteZHe0vnC2cfO5IER8f6khS07s7eprLIF1oD9sMKvJd/UGsXER/\r\nMlN0pgoVKppnjuX/AbxHl6aF4Welr9quZ7o=\r\n=aV+0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.902a041_1653295385501_0.9389070278806224"},"_hasShrinkwrap":false},"1.0.3":{"name":"@usedapp/core","version":"1.0.3","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3","_integrity":"sha512-alv074QbtzyBi7sRVIZyO4KhRYLRxJR2y8sHdW0gsfK7k3UbA29Uf4urp4RX4KkwQ3x8lDctb1LoahZf806mqA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3.tgz","_from":"file:usedapp-core-1.0.3.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-alv074QbtzyBi7sRVIZyO4KhRYLRxJR2y8sHdW0gsfK7k3UbA29Uf4urp4RX4KkwQ3x8lDctb1LoahZf806mqA==","shasum":"c3b9b5491e540a2c1f147502ad915a7679d7c39d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3.tgz","fileCount":2028,"unpackedSize":2718902,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVbCmVE8ggsHai/3Y6Bqwiz933gmKY25hGVA9xy8pMGgIgbAMdyyqGp+25mdfz6J0HFFkQVrYjvJlt6IVT2JPEe5E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii0uQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMYQ//R4G80LPh/akGwo/ZzOV51KBj/vhcyG0Izd+UJTtLuIe/OhLw\r\n1vri2R8q8zbvTlumKkgjoapOQUiInKLqTeeS3gCZznc3i4In+gmMhj9oQ6gN\r\nmfNyqkhR6hKAW60v1RhiY6xBkG745Cc6oZT0yaPm/llkaHUT5pHivcYlcbWu\r\nCeMoLofp1dRHOpzImMIDNdR/fx5tRNIf9qZ1fMqF7Cd5330xCvxjhFnasxNN\r\n1XRCs66K+8Qn3un7S1PCEYkb0IMjP/yQ2R1Du9jQLhEGU9rDRul36cOo0I+Q\r\njpRIkMiRXpDT0ROcLlBs8iOL4b+PENyvTltYoiEREfGWo8W8b0kOJ2R20QUe\r\n4oZEKpvWy2WxXPpCINtTP1mmJvYRM83SrHZaFb8K4/E7AUbqxuKWET0cnqRb\r\nT90E83r3buNdKQFGgVSTR95qdxrTHjbwoz5tavSW04TiTmrC+brYnLEWZ7Uo\r\n7zJqsP0jzUmAMoWLQZV6F+8tFfhsfSK+upDUWXj7BtSILk+j/41JRPwv4o67\r\np8uD7a6AiGYvaQQF9jrIOoIixHJQeRq8IsszoN7Jjd/IND8Fxq0JTE6rY3vS\r\nP1mWkgd7XY07dqE7AKIQf0zkmfy/fNvQ8KNnyQpVHAqglBwB8Miu1cQ0eI1h\r\nH1nLqNcy39w0xmPBVTbrm1iYxWTsHVb4vF4=\r\n=5enJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3_1653296016569_0.7653449633363834"},"_hasShrinkwrap":false},"1.0.3-dev.360752c":{"name":"@usedapp/core","version":"1.0.3-dev.360752c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.360752c","_integrity":"sha512-Ij0pe0VBIipkx/fN6hQq6lpY2u1MmuwLQ1ZUkSTbKbaw8EOg5OYyJvmVsOEfrtjpq52FY/36uqCJxrbBtP+a0A==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.360752c.tgz","_from":"file:usedapp-core-1.0.3-dev.360752c.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-Ij0pe0VBIipkx/fN6hQq6lpY2u1MmuwLQ1ZUkSTbKbaw8EOg5OYyJvmVsOEfrtjpq52FY/36uqCJxrbBtP+a0A==","shasum":"9f2569f61feab451969d3267edcfb8fd26860bf5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.360752c.tgz","fileCount":2028,"unpackedSize":2718932,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDm10aTrivIwyuhE0UXUgMW6q+2cNf6u/tlC84PKLU/4AIgXIZOF/b3og1V1r4TXq6GqbRpstKs++SxqSJhILqUmfQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii0vUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUEw/+OqylTkwJNhgHSlxk0LM9p2ECDMxZdJf7Vqm/IjMQ/no+Ls97\r\nwDT1YiRd6FtKHIU4mAqJahzRm4k4yJyaBQ0EnyhUERWKOK0/AD7Eun2VsRVc\r\nAqlajHzoVEJXRE/g9ra6yltrJA/VQY91CPZWajwruqVZq5IYvdLemw167Qrz\r\nOAl2YIVbPIVlT4n5K7o/+oWcx2rrRkXuqOaqyMnvY26XD3W26r+ZdATSfPkZ\r\nBkAb3+QNphk2ALVGu60LmRdbe27JkEU7m70T27LVrGXB1JBeeb5pWhR7sr/I\r\nIi09aJRH+dRJSmCBYgCIiJ0Dl0wYQ+oeIKt43NQXo3TJsepdiRURuRWl+C7j\r\nJtasBn+3pJsPNy1btnmBU8xDTpBMKC9smLRZAA9DuQy9aeX70k8Pbon3uGAk\r\n0JI7C+BgsTZj4GMzG0XalRFJpOvxdYPWCriymvNJFHmJ7l2U18msuAs4tOU+\r\nrfaqwizg2b/W2iEpD/Ti73tSIG2yEsVdGuPp59zMm4o5D9gEWenxM6KTCGpQ\r\nk6xcBx13qJNrRhIBk4mbfmSdKVcjjC0jv2ng4uHooM/REqrppmW6J84VPGhm\r\nf3UfJ19sCOARt8eack6xkMu7+F31w1FDM5S0PZ//NErgRaxVFPwVHvTiY5sR\r\n1aayiw0pi70YbqemGgcOzku8D5C6hGGHZAI=\r\n=zqH2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.360752c_1653296084446_0.9128006430006064"},"_hasShrinkwrap":false},"1.0.3-dev.411d038":{"name":"@usedapp/core","version":"1.0.3-dev.411d038","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.3-dev.411d038","_integrity":"sha512-eMNKqFhwzCZ+Prb6e3zWQrVy6Osv9VWwfrIrTuRosH03euZ+XYdOXWfiisqsWREXp9Q2P+ZU6J6PZm58ic7qHw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.3-dev.411d038.tgz","_from":"file:usedapp-core-1.0.3-dev.411d038.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-eMNKqFhwzCZ+Prb6e3zWQrVy6Osv9VWwfrIrTuRosH03euZ+XYdOXWfiisqsWREXp9Q2P+ZU6J6PZm58ic7qHw==","shasum":"f13a205a3e0cd66a58c0f500afe02b2f98486de0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.3-dev.411d038.tgz","fileCount":2028,"unpackedSize":2718932,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDWk35Dy1BT9HcSyJzf+niX4gI9UcLNDs9SJ2mLSsRVtAiEA2W7T04LshAEg7NI9Es5m5mWYb8ktHA3cShtKb8tvwZw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii0wcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6ew//dyECXicM9AigNkogD6XSMvM0XfZne+W8bwrhajylA1J8W2EE\r\nUyIxQ8hmahqC6d8+eKnWLPbiz/nYqrON9DMh+gEMXBIZHUGji07+/+FYfsBV\r\nC6NvftoHF1VjwH9qkZJ18ub+1zz2TLj3Me6BW+GBfkh3qZ46sorYB2TU1loV\r\n0/alBpFd4jduVPHXBIJA+sFEHFCZ/Hq+66K813ccJD8AdnE3JWX+k+fB13KW\r\nMJizJJ0okKjEM7kCFz96p0Cj50ItDVqSwL9CDSEUU5pBq7grWOdVdXf/9nzI\r\nlqWK9QCdWuXgXm8H04SpCRdnPn+KUfiwfLXjrh2QMrCkngT1JMZVQWthoMEe\r\nrNNumbOXrIWxMpmA7gAOt5ApSIA0sPH1oW84LFcg/HAxx+zyWHCcB/YQrlwo\r\nR0QZoPPdnVbieQ2heRQDiVIyuu8yD+Zli9fMummtMlZ7QvMEvq5NXDR++AWh\r\nzJuMBBmw4X/gw675qlyGRENqQdseqVnxMOCHFvUnMuXYXVUJOAaIcOXvYLNa\r\n4tvR0hghwJ1AsSuKJ543K+fcimCHz6e9GITaD4xmODn6EkeZrY8Gh3Ft3CPY\r\nbHMfmpAZnBiWaNfSeUpZl8/+GAO+9SMAS6MrCQZxPmfLV0m3UCoxUOjDC7wA\r\nZcZB7X02LwzyIZfJoYugEzGqNfPaf7Wg6kA=\r\n=YddA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3-dev.411d038_1653296156383_0.8722523763068046"},"_hasShrinkwrap":false},"1.0.4-dev.cb2fef6":{"name":"@usedapp/core","version":"1.0.4-dev.cb2fef6","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.4-dev.cb2fef6","_integrity":"sha512-Efc+FiG+zUbkkuG/kFPGNykuIk7K7E/zFr901EWdOJw4qBZfihMOUN7Wjwm9AyCZ7/xKiz3Mg3Ab1miYppk6tw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.4-dev.cb2fef6.tgz","_from":"file:usedapp-core-1.0.4-dev.cb2fef6.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-Efc+FiG+zUbkkuG/kFPGNykuIk7K7E/zFr901EWdOJw4qBZfihMOUN7Wjwm9AyCZ7/xKiz3Mg3Ab1miYppk6tw==","shasum":"2e02bb198111a158ac35640b28b6048453a5df09","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.4-dev.cb2fef6.tgz","fileCount":2154,"unpackedSize":2822071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEhy2pGhmNMx4g2DXEp0gaayIsMGVwgevULnV9XD1TaVAiA27/NXokWxMi31XbPeuYUog0UgTmfwm5BWUCzpKf9qhg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijiGwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8Xg/9GVFr9Uq1W+X4Icoljg5dqpclD49g+3FPVJnGs9JSk7eRlB4S\r\n/w+RyDzzmIeuuNSw8/XyrLaf4NBUKCzkOpyEKbV0ftGwb+ZPms9PIOU0uneA\r\nkrq+vRhnEgegaNL4NfVz6QHuRSIA8BdrRJsCaQG1eUBh5cEhBlIwjWwMhzNy\r\ne3h9P6RwEaaCjXAydZ6ecHDXSscKFJlWjPJR6rLE3fZegvb/L6hP/UnJLK4M\r\nuamRdXbIRnVBQ/dxleP8cFbIqHXHRrl3y+raAqg88W2pEWS2NV3/MlLAXtsA\r\nOEnPIEqShDCL7vD06tJlVRIgfxmP0OxKe+Pp3pcLR1MMgUCb9vmarkvQu5un\r\ndC5FFnDzGfoAmqpN4fldA+KPoqISYFHUA3aSaqAg+TbYGIETiWD8ApDPHpR9\r\nzXLCWq6EwJ2aX2FXlWx/g45Q0uxVlhRkjLqDD0miv5VFyMWXnVTKJF1+2RGS\r\nujlSSIfqSrZFORk1+zNTliLy9FE4NRQsPBBZqTtauAsiN3m5Czz1SCtX1w/a\r\n9cy+gkHu09kCOfVnHNTyG7YrXVZUe9rz3G3tgkMt4Cwz0YMNJrxz01O/l4HT\r\nSR+0nR0pOSuzzfOSBYFjGdVsot57S9e7kKv9VF+kbRlPfj4+42gIwHmdanGR\r\nPhda9+nEJ9tBTrv5FCRoZ6IWTkUjAxOHeGk=\r\n=qpBl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.4-dev.cb2fef6_1653481904660_0.3183178271925846"},"_hasShrinkwrap":false},"1.0.4":{"name":"@usedapp/core","version":"1.0.4","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.4","_integrity":"sha512-jU/AWgIkGEN/IB+YHt3Hh29nganYWPfu4oxZ/Ozvr4sXO0tiSsKwiQXhKIYhOzmGamsrp3nvtXNKJysCdsVLhg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.4.tgz","_from":"file:usedapp-core-1.0.4.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-jU/AWgIkGEN/IB+YHt3Hh29nganYWPfu4oxZ/Ozvr4sXO0tiSsKwiQXhKIYhOzmGamsrp3nvtXNKJysCdsVLhg==","shasum":"e82e95787f66e34ea8ff5920a65a2e588620d24f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.4.tgz","fileCount":2154,"unpackedSize":2822041,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE+iHCl/RAHl8zmgQwdlkO3tkmPGU4TGaFL4lPcMaDEgIhALiDx/qCHQKx0sukKYq6A8/v2vz22vx/Wu9Cfhdo3UAb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijzYQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoa3A/9HmmLEaI73Hdh22yBUfdtDy2puT2awQpPpTcXk0zVwLcY9U2y\r\nmHqzG2Xd20nddybbNb1OWWhgT+FyW0+x+V3gR9OAYSyaTHhe5TmBoW1pX2Gr\r\n852OmGsyi5VMXHNqShig+5/vZQcDP3hFKct/J0IJfbo7K0YCbr8ywlSx0Sau\r\nCcP2DCliQTJQkRiCBQNIXKItWw49nxAHUOHgqkQfDiUM1S28vj7s3kFqRZU+\r\n6SgRkynPR3Ymqmo5pqDgmTXgq3H+l2T8YVTuPvbpbm/cyrGK/mr4BP9VogHR\r\nfLHoR4ms5AA+GkALmioaJUmFb/A2dB+kLTqZRkMamnLmN1MQJtjLkJ+K/n3u\r\nM5v52RcVen0aBmIuZ2zO/88o7l7JTSvu1kuLEUMEsvGNLLHSGsjWq1Q+WCL7\r\nJbb3z0lMNG6wpx5n2FPxGzJl+BwvRnRNjH1Ebgd2xEDkZmp3lzy3oao7nvSE\r\ndxcROTtlY0gGXhe8yCYqG8WcNslr544ns1A06psEb4raQYDatV6T6petudJO\r\n+VfR/JdMd6Yb+6lmesK/KiKUHlh1r2H3iUsKcqcvvFHxWoXwzNINgqKpqxWy\r\nYPaFVlh6FwKhOIc9p0gHi09UD5uZX21jxC9U3w1INlWxUxdPy3ogcNNl2lNx\r\nH3DnV7yAIRfw5e4l8t62pCCcyYW3eOd9JO8=\r\n=MAJP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.4_1653552655675_0.08686662423057423"},"_hasShrinkwrap":false},"1.0.4-dev.af1b4cb":{"name":"@usedapp/core","version":"1.0.4-dev.af1b4cb","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","exports":{".":{"require":"./dist/cjs/src/index.js","import":"./dist/esm/src/index.js","default":"./dist/esm/src/index.js","types":"./dist/esm/src/index.d.ts"},"./testing":{"require":"./dist/cjs/src/testing/index.js","import":"./dist/esm/src/testing/index.js","default":"./dist/esm/src/testing/index.js","types":"./dist/esm/src/testing/index.d.ts"},"./internal":{"require":"./dist/cjs/src/internal.js","import":"./dist/esm/src/internal.js","default":"./dist/esm/src/internal.js","types":"./dist/esm/src/internal.d.ts"}},"dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.4-dev.af1b4cb","_integrity":"sha512-G8oZV8XIU6SUtfs5heTr9ogL4OWMIeliMddiLzqst6id5IgktUwR1SrcIOTy7hv1FBLqSVTFs7NZnIPU5CLYSQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.4-dev.af1b4cb.tgz","_from":"file:usedapp-core-1.0.4-dev.af1b4cb.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-G8oZV8XIU6SUtfs5heTr9ogL4OWMIeliMddiLzqst6id5IgktUwR1SrcIOTy7hv1FBLqSVTFs7NZnIPU5CLYSQ==","shasum":"08b0da4ad98513f5ab70916ddd438ece87e75c06","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.4-dev.af1b4cb.tgz","fileCount":2154,"unpackedSize":2822071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmo34ayxbahmbu8uPErKo1+LLnoyVQB0ExZfD6oTMtTAiAyddYCYuLmZ4L7RPJAJk4ZY3oNlZbIcCli2K5+r6unyw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijzZjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrmyg//TZVd3XSjYfFV5ptSPrlpguHeCPy2+Rn9m8HVrSG+sNkK4OqC\r\n92NEYPHuSu1JB8tki0IrYOyEXpxXdtZWxThwfT/gqnHnC6XsNRYFNsq7eZM0\r\n6hfdRQFDmd+TGZgqUXp7EXdLVly6KzzoBlg7SulUV7+JHd1MATIqApEXY9jZ\r\nTZoQ2uRlV2mqeiHacCjuH7Zt+E4gz+g2J/MaBgi4wlDcjTxCOoZaeZVBqBaT\r\naJUObBVGXad3fPVO2zPI79g/BzeLMjIyLFmPxMbBUbSXrL68TFOuAASb2K71\r\nRvlAWpuoN5dOTuCdest+vz7T1pF8+pKA6U7PTMCcDaxlfgEn/LvnhRFb2nI3\r\n4HoE1MmHe23ZqLRuKZ/9keW0iF8zQ76BaFWYMIa3/s1FbOGq+IrjnfJ5lqPX\r\nL0eKqAUx1qYkrDJdx8f8VBM5pXWyILZenlB9ya0rMEsQTrTrhH65at+CTOFf\r\n0IfoA0R3q6Mh0X/xcURRjmKjZowDMzIbQ6/XegzcddbQkqRDHeobtcEHE7BM\r\nKDAvwj3f4gbwFx/64be31SVcVB/eIr28rjAYd6hEA+zoxS5b1lVwVfVfC8OY\r\n2pvTxc0BsCPTcglffvfPUGNvc2beUL9V3FPb/OO0LchI/oTgOL0UQeCsbIGE\r\npeDn5Nip4VOBWiM6TpD9Gq+ZT1OtLtSzlRo=\r\n=EGK4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.4-dev.af1b4cb_1653552738869_0.6398352004679038"},"_hasShrinkwrap":false},"1.0.5-dev.a473e88":{"name":"@usedapp/core","version":"1.0.5-dev.a473e88","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"^5.6.1","@ethersproject/abstract-provider":"^5.6.0","@ethersproject/bignumber":"^5.6.0","@ethersproject/constants":"^5.6.0","@ethersproject/contracts":"^5.6.0","@ethersproject/providers":"^5.6.2","@ethersproject/wallet":"^5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"^5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.5-dev.a473e88","_integrity":"sha512-qK3jWOW+sp3vuf2RGB80I0RFQy5HL1ID/8SuC4EIClQ8meA3Wgy7YVj5OVhyCwTEOK2eAeqvRd8wRUdWMsBIlA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.5-dev.a473e88.tgz","_from":"file:usedapp-core-1.0.5-dev.a473e88.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-qK3jWOW+sp3vuf2RGB80I0RFQy5HL1ID/8SuC4EIClQ8meA3Wgy7YVj5OVhyCwTEOK2eAeqvRd8wRUdWMsBIlA==","shasum":"5efb8fa19ee30bfac17a81bc1d53bb0908f35fdb","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.5-dev.a473e88.tgz","fileCount":2150,"unpackedSize":2820457,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2bBKcp5XIl5RJI0NbqQ2RqtFEyl2LFd7zNNgLKM5I8AiBgIy8GcF0mHotnNF3rP/7FFLuj6X330JDpMclGUrB0/A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJij3UeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJIQ/+NaHHG1ZNXvJEelQLhNcTO/h2+Ez6mL4IXyadBYQ+Mr8Tnv31\r\n6cTgmx5+sK25IM1NqBcHRNbhXfhcIukgbjPZTXk0n18gulIcd5v3VCpjdGlw\r\nntV07B4UJescpYqtzFqhQLtO5MnHvRz/pzu4+HI7MfA6/Zka1SX6a+jDj4m9\r\nAQGvRK2hEx/poHcA+SHAdcrfczEut1ue1wC1ieEQiv7UU1jq6BVtmH6FAamp\r\nsruO85l39VbGc5oEmIx8uopZo425la5sGBxPTq9bRBI1KBFF4FGUl+K4Wk/Y\r\nfGM4ULeJrOW9F1+RmDu1KFGrznK0lrp5fcXz81mDCz37XfpJgmUCDw6CTrP9\r\nQlVSFpDeffxFMvH/18YkBgNGtLlQ1Fnrmtn4dTbbXSsEi+JQ4a2GJIIUbN3+\r\nJkMr1NXyfez9d7151SVEC3BU3voo3TxeY1dprKAE5WpBokcGpmb+YkWtw0m3\r\n2TeM515uQKVOUbm1scNy8vMcsxkV7/y9e2+DTc0A57uQv8cB7nD+F8SzVIBd\r\nOnGQlsi1errkiapJ1VF5Fk327H1kOs8CiVed9dyOq5lqfJ9nDdvdxLy4LPqo\r\nDaIUpCdY0AAMgPOJbu7zpUoLrM7PIlRwwvI7mgimQEEWv/VpMbokM+KQ+YVi\r\nkavb49qiSP/CtbFOSG2akabsP+9rfqLNGhY=\r\n=9/KM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.5-dev.a473e88_1653568797939_0.22339955095317432"},"_hasShrinkwrap":false},"1.0.5-dev.bfecea2":{"name":"@usedapp/core","version":"1.0.5-dev.bfecea2","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.5-dev.bfecea2","_integrity":"sha512-G8hYtobwo2m2jukVJUlcfWZizlUSt+A085+H9rMur1LXx/HWSAeRm4Xh16lJn6xuFS/Lxh+uR1VP2zbAr73Xew==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.5-dev.bfecea2.tgz","_from":"file:usedapp-core-1.0.5-dev.bfecea2.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-G8hYtobwo2m2jukVJUlcfWZizlUSt+A085+H9rMur1LXx/HWSAeRm4Xh16lJn6xuFS/Lxh+uR1VP2zbAr73Xew==","shasum":"bb0aecc65b0da38e5811b7bd14626708b92aba0d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.5-dev.bfecea2.tgz","fileCount":2150,"unpackedSize":2813134,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAgq2oNYzyr8pBlcjDC+0XRrbbwe7WQykpJhbjpSneYlAiEAu3J0eHKrmnpW0PUPSd5pfGU7nquEflUEkC0dXc9+9/c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJij4yxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEBg//Y7230L7h3hBpEdgCo8X2VMuZR0f/mwhQlwUJH8+J16BNhLqM\r\nUe0NLOBCN4Q7mgxyWlUoHz+Ld0XUFrgx+pADst8Wx0uvKjkZ59sANGP3Ifk6\r\nSoorhcckfO+VkJXILrgFB4tVSv2CSR693W2dCzBXDEciLGHxjpjOwZRf75rg\r\nqqLqKoO5FJnPVymOeYxaQzOjjhg9hR0q4TmU+uQ/58brG2uR/lc2Ju14+R0a\r\ndC3OR0eW/yPQjnyifeS44tuo1g5HHqAnsyTtiSXcLDSH40AP7JdX/+tZIqy8\r\nOQxg+z9o+4yZnM4tOuXburb1NxzK2nTeTszB9XZl/bFZM1WWg/iK49ma6wfK\r\n9xiH7d6pQ4JDqZcGTko3c5BjnP2KBFNyH+lrnArJvZWvFzTUsBe+jRuLBCNn\r\n426N09XAWhmv661sTdZOmi8DeAz8teX+KXv4HD7zi9xSs/foyTlnq+PUnrdI\r\nX8cw1Cy79kZMXqeFtl7aINcwNK27CgKKOv3LcaGX7uf5P5tLDyyZl9Jgt6wi\r\nYiA8BQAg797SSc6cFtip3uGAlC8FXnUh9n3HFBtuG+LfYK8+EVt2EEMUUHlb\r\nOfw80ceJnqZmhBBfFcny5prlO8cXm5mkdIfKUwzU+M8kxRzRaKZt/A5+g9Dh\r\nJ8q964TfdGNYTDPNNEHHA/LbWm1KVCGDeEU=\r\n=Zi2D\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.5-dev.bfecea2_1653574832894_0.9131363191676931"},"_hasShrinkwrap":false},"1.0.5":{"name":"@usedapp/core","version":"1.0.5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.5","_integrity":"sha512-iC5SfSXnoTf9MBogw228HOQji0JdDEZQ/7kYWbQqsUOEBLU7HjJMZ7wKFGF18dXQFQsLXSHZUzDgxd6XxXFv3g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.5.tgz","_from":"file:usedapp-core-1.0.5.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-iC5SfSXnoTf9MBogw228HOQji0JdDEZQ/7kYWbQqsUOEBLU7HjJMZ7wKFGF18dXQFQsLXSHZUzDgxd6XxXFv3g==","shasum":"8cb32e23e2f37479bb866192324e481ca8f927cd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.5.tgz","fileCount":2150,"unpackedSize":2813104,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtVE1GqUEaEZFrNq1rmlMusffrsSTW1uX8WW7IjQesgQIhAM1M6acCKjZQji/5a59HRAZoYEb1r4PavMz+Vw7IeX7Y"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJij5G3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFHQ//TdiBFaLB1h86PjOu7wdLejYnW3CoZmr85XhGsXPdqoYVAjfC\r\nrYunSSXkTdwi2+anI0BORvBU9xJuVp7LE9oGuRLVwQmAJEQ3Ag8k9RjJJf87\r\nwV1Dje3vgqUMkeVRq0Im3s5VqCGcVMKdWv/uLb6lC0xeqOAy0HlEihR7qYS0\r\nWC5qzlyh49WJyfLnOs3vK/qU4WC7QyWEA6yQvNeDZohZOIuZi1pt26g4bKTi\r\nDuWUjmMmt4MO0dQSGYVGXanst9OHPQ+IfLF4rGaQy5YlSreTwzBZYx1XCmk4\r\nsH275FDwSmP3UYQJjjYynowk47/2+LXhr6mmAs2/WfWlHrJ0xAkbtnksVBQu\r\nKIlFPZgA70cRlXLnZM8gVBjn47447FU2K0fiKTSoPCuoWLSYZyxduA9V4/2I\r\nB3VWM2QKL2j5lq0UqaZNrFZ73xxwKBXhBmkUB8IPvjIbe9Crsx/8C7pXCGzN\r\nj2bEDze1ekpe7bgoOKYpjTeu8l4Qh+Q98fkQ+ZlfvhlhYuc1ptXruws03QU/\r\nnoXZohxyFeas0FFeTaIWYHHtA1gfCY4ll4+E7pHzt1uQZ/umPZgX3yS+CYNy\r\ny5tDFO3F+r1lfY1XFqSDM2XKvGQ9zWecfOWsrTaXPwTZsb9oab6OOeclU8Eu\r\niV5/LN44lc/8NguRFYf/21zb95ANYFtjBMg=\r\n=ts+p\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.5_1653576119534_0.34002800380867204"},"_hasShrinkwrap":false},"1.0.5-dev.841d6eb":{"name":"@usedapp/core","version":"1.0.5-dev.841d6eb","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.5-dev.841d6eb","_integrity":"sha512-7hiwhfKGYc0yVilysaFi2thSYfTgqLBiRM6nFdBMXrv9p+HDn0gycTPwvCxTVg8AH0CQIh0BSTSQaOObzKzXYQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.5-dev.841d6eb.tgz","_from":"file:usedapp-core-1.0.5-dev.841d6eb.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-7hiwhfKGYc0yVilysaFi2thSYfTgqLBiRM6nFdBMXrv9p+HDn0gycTPwvCxTVg8AH0CQIh0BSTSQaOObzKzXYQ==","shasum":"e9e1c310331a8afc6b2025efbc6c9c302b5fcb4c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.5-dev.841d6eb.tgz","fileCount":2150,"unpackedSize":2813134,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICF07bhyTlEXg6X5JiTobehrMNVCqr7/Y6im0WpB+tvjAiBT/JK+3FRLIjegriGz798BaMSoWJUdfuADVNmxHYn/BA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJij5H8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGEQ/+LOewDiUEWbBYAvnEnwgiV7v1g6hcz8qJs7UmQvMgU4tsgfAM\r\nr7TY7MlWGifHkcXTLBt02TRZqoXSW4J/bDSo9XY2wep4QrPM6+1R0gV8QLOD\r\nfoLXV74kUaGvSqh7OCOpq+leUM4l6GfuArmnPZfFFqJcQALF6F2xuxLiwmXf\r\nsD/yNvITb+7WUFjnDfhRMTcJ4pESz2iOh+9OZmDLgrqq3Wg1KCltKvAos67O\r\nGXWC/n4zr1mtBmnTiVPCoMkjOZWEN4a4jUtWD4BCqhh5hX3AJCp03PmMcPgP\r\nwfobWFF1GzOhZ2Tqp9AULVFG/+mhHR7shlj9STabmMlFdRa1MlUvs0CL3ffs\r\nvpWYuSpQ0W2rvAQI7PD8dtaEa4wsNf/pJn92BnxiBJ4oQcnobeeYN+7R0Q4a\r\n6ArESwTHbTOuGZ0Q8++k4YcwkL1KPlIunCbENTMhIxt3RML3MXAc47twA/bq\r\nLefGLxhST5FUwEsQsrxnwhEdp8XsiY0V3wYzpx71FUL3jRgQVXaMZfyuNBv/\r\n6qV4N964FB6jUlMDnvnSFmO3AvvKa8123ur+j0rggGD8C4iJ8zRBEOT/A/Og\r\nkKv4pueSdGuff26MftETXFZotKZOksR/ebpl8oBLs+TKOAPJ5tywUtoX6W3A\r\nsiY74xe1jiUS/He3i0wkkxHqtT6z6oiTO/Y=\r\n=2nX6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.5-dev.841d6eb_1653576188461_0.17922111096886661"},"_hasShrinkwrap":false},"1.0.6-dev.9270c47":{"name":"@usedapp/core","version":"1.0.6-dev.9270c47","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.9270c47","_integrity":"sha512-/qYrwUJyhds9Ef87FYO7FPy5IJl9CZRHyMn+LV/q8R1oB2RF7NSWL0K2JuRBIB3vQ4LYxUabUIehEBVf1A9B+g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.9270c47.tgz","_from":"file:usedapp-core-1.0.6-dev.9270c47.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-/qYrwUJyhds9Ef87FYO7FPy5IJl9CZRHyMn+LV/q8R1oB2RF7NSWL0K2JuRBIB3vQ4LYxUabUIehEBVf1A9B+g==","shasum":"2baf2ac3856f83ca405e6a22e64f4f505432d173","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.9270c47.tgz","fileCount":2150,"unpackedSize":2814152,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICrVZKQir5hKgYHMOFc+EFNhqRenvXuJmFMozfY5RtXMAiBUfv0yHu0I8swsqMOFh953wBNZ05cI2AqrVZnWkNd1GQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilMMxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpprQ/+LeYHBexNMzOBFhoH2olQwvyH2ivY5HxlQCAPhn2pqJlrd6nk\r\npV1lRwpabyKVMfyxPZ7PtDMb7VJyxpD6eQvJwXP7x1eJ/69an3qikZFv5Ahx\r\n2H1xVgvPkkxBwbKSXT9zOtC3ZxqPtRc0ypZWs9XrQt4uXtklYIgSeXBZHPZR\r\n4htsxjC6JhWpd2jyazCfP4xsiRpxCCdsQqEJegOuz0kqZrWdYi64HxQWYO74\r\npBwYIpv0OZRVtDE3nEk7N5Zxrx56ypViLsJizBLzPDnLppk/kbOdUn1sD20B\r\nD80rHq7m3/2r/dZ5Jsghf9NnELjflRiHxTLOUbnvgxDcZHbAFdka2dPOFg+n\r\nw1bFRP9gRjyYQ8V/I5+MxMmbGPoORdMf9qUZ3V4LhCtRME76hYDCbJbXMMli\r\nXEewvDRtqmSBYExDnQdcXfu7kG4h+jWCfdV07EGQfxkmeApmLnJI0jTIviNB\r\nxX9CuXDrgCn3UhlhBpTE88bAC7FEqhjR8lpJy4oyRfOx7dbXCF/u9gVkcWuo\r\nJ1xes7yS4ozN2AN+wuhel3dzqyD5d4PSYD/df8Bu2qslEtU0rGIKVeAtcgm2\r\n4bTS2HTKLMRp+uA1+ooeVR6uLDYpDpg7e+70mWzEBJkmhtpvoc5G49hX4Obk\r\nuGuyjJsIJhQLlL5ZXyEAdlzr/vgU27L1+Ns=\r\n=w9SO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.9270c47_1653916465778_0.7844182957396457"},"_hasShrinkwrap":false},"1.0.6-dev.a5443ce":{"name":"@usedapp/core","version":"1.0.6-dev.a5443ce","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.a5443ce","_integrity":"sha512-mbyN2VXdnU366yO3MOH+IW9ttdg8Cb/gEz47H/VUUuSf9Cnks95L1g17li6rfthI0+8VuiT5YeVnO8LPO8kCYg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.a5443ce.tgz","_from":"file:usedapp-core-1.0.6-dev.a5443ce.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-mbyN2VXdnU366yO3MOH+IW9ttdg8Cb/gEz47H/VUUuSf9Cnks95L1g17li6rfthI0+8VuiT5YeVnO8LPO8kCYg==","shasum":"aeedf20f3842b4eed0586ead348fcce0650f144e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.a5443ce.tgz","fileCount":2177,"unpackedSize":2828644,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEm3f881eJrnAsHaymqdEhc639Boy+NJ/Rh8lwvdhD74AiEAnkyzL0MHxpdx2mcI1J03hHpwSMvUrC8g4ZIRGK0MSDw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilTfgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoI6Q/7Bsw1aEZq+5yLBbWwynMK3QetdYssgR7mcyICOwIJufacchv3\r\nnWmrtJSixP0bVqCN+1lWiM1Xw00Y68z1gZfUDWCUusEM2d4z858XmnlJ/886\r\nqfix168IPmnFbEU51/1g8VmfX5UhK6dz99fAgqgfEVerq+74TcVqEM5KQJC4\r\nyYfkckmfl7uSLlHfxyvbaCScK5HowMw7ZWr5hQ85DP4RoHmqcu4DQLTkxeLr\r\nvRmkAVySDSpdvYBexMUO0ODsyh9Y2QB83logL5OkTear+9wSzrBHjJDLPPeA\r\nyAJcxpEdoVVeDBzenYqIaTyzEK9mHFrVIhZvWiUNKysAUNg+69zoc0Y4Vy4g\r\nglzeKHH3NLFPKHBvd7l0VJ+w6zDPSu5dUOb4wkV5r49HdslX+RhWiHxz+WLd\r\nFC+0OMZLeA0P9MorisLitDMRct1NNxWzRAPTK4+6UAGZYFF118WTXjtJjXfG\r\na+9O3IJrFm4BD/IUPOXXLrTktev97Xt2hYqS1RvXSJ2d+bA0Zz2h0v1wVedP\r\nXqtwuqJSSD2r+kS+GqZUAiJgloopjZHxxpXr5a72b3YKfHZViL1aT7szd9B/\r\niImWMdCcxrwczWrnR4TKhDicPveuBMoqvLwmdGKbIrStfVjqzaNXj+DO1L+f\r\nGqSXBJ86uH6KYRNTr39oiiQ0VInzlw0090I=\r\n=jSOY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.a5443ce_1653946335861_0.4029527708005982"},"_hasShrinkwrap":false},"1.0.6-dev.8a15c4a":{"name":"@usedapp/core","version":"1.0.6-dev.8a15c4a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.8a15c4a","_integrity":"sha512-XYYatSR9y/M3OA6c0IMZz81qAJhRbFBOEUmXBM1a0HZJDatlm9jMQ7v5NN3hkh6jzv64pzuFdTE4Sves9E+neg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.8a15c4a.tgz","_from":"file:usedapp-core-1.0.6-dev.8a15c4a.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-XYYatSR9y/M3OA6c0IMZz81qAJhRbFBOEUmXBM1a0HZJDatlm9jMQ7v5NN3hkh6jzv64pzuFdTE4Sves9E+neg==","shasum":"aba6b917b6b1bcbb58f22a9274ddcac67b560e37","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.8a15c4a.tgz","fileCount":2177,"unpackedSize":2830857,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTGzXuHVQTSuEI7+GgTiH1bcecQXpxRpBPjD+BNsdKrgIhAKxLSstSTIxDQfVJpcg51Ww69QO1U1qB071Z5ksR7RXN"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilybhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7Yw//eqkLKFtz6iKCS2ktyUSTGrJmW1Gkav+hycanWn+FB3FzaPHs\r\nZNdq9gO4KHzlPImtds8Y+N9rrBUiNzl7givVnFZH0t/JufeCsECMGNI5tHiG\r\ns5bBPWy80mQz//FrM57W1RdVH/6wDXw5DVarXWg2iks6Z2Ubt0oH0v4QIIwa\r\nS5vU6b2lyKDwqEJCByhpdw5igEt6BkO0dGOwwUW/adlXuTWAaPg8hloP0qn3\r\nPZOKPpwiD+gd7xQue9FCTnGanIJMdx/cl00u0UmgxT9QaMLL/gMlBl4t05UN\r\npALoKslX2cJeklORORLmWSN8RPgz/E1d1FNrWVKvkzynCRDSnMZ3rlxVtqJF\r\n6OB5++zu2RDoUxfUmpErcPo5vbhGits6H9gjwOpfD0OKqdxiwvCWqQrndc0A\r\nHkpaUNpERl1X6qu1mvcZ6j7S+5gz4HswaAQQEW2RQvb2bOI72mCx7tFRr82d\r\nOnPiGnqAj6DXbX/whDTB1ZMDl7Uafv+BrvMuzSeXzawezQLxubFo+GkVigLa\r\ngjH7bDkxyuxC8I5p7Ws3mo1f4T1Sr80fpSk5VgP/F6lswchivR4yqVcMmheC\r\n1VZchHuYJOJdXsHx8miUBSBZpvOIWlohsXDb/MadPCROlDBnm2SqusCR2D9Y\r\nwSPT+QewDpGnIixWyjToRFP5GGlroKRAzU0=\r\n=4trT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.8a15c4a_1654073056980_0.8562308595974766"},"_hasShrinkwrap":false},"1.0.6-dev.4b033a8":{"name":"@usedapp/core","version":"1.0.6-dev.4b033a8","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.4b033a8","_integrity":"sha512-l3gN7lXbl5X5PebPdsqH839bjasGfv+WMMirfWZbxn+FadyRUupzXykCzbv9eZqsjE+J/tPpuvuVvSDp43B9Dw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.4b033a8.tgz","_from":"file:usedapp-core-1.0.6-dev.4b033a8.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-l3gN7lXbl5X5PebPdsqH839bjasGfv+WMMirfWZbxn+FadyRUupzXykCzbv9eZqsjE+J/tPpuvuVvSDp43B9Dw==","shasum":"3e412757a47e9a4beeaf926549c3005254924d2c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.4b033a8.tgz","fileCount":2177,"unpackedSize":2843307,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEGVnjCaE6/B2SKVm3kS6w/G3LO02zGamwwKoQ3VnvJAIgUQvDsMOYGzLybavQ9++cuYAi5neHHtnwSL0QwvrrWow="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil2dUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9Ww/7Bq3VGvMSuFT/i9aNXAWnECaIpWif8QLHAZx5E/SNVgAibEpU\r\n9A+cAVvFfv8szlUQBLX0lG0YGt0hqkAqMYrrt4OJoQAtnA4ar65YNyFcNoyn\r\ntGdjC+Ci3rhOus4aDvXY26fqbsYdossnI/n8UAC5MDNksBK3nswnkVyH9Y7K\r\nVOvRM4bnmquyPVqd1P/FXaqCCiSdAhPViw8ewLwKABGoz8yrhHqPoh/U5/JW\r\nrUJEoOQccTEyUxCiRDdnoXFqhikD4aAj5G1uKp9wiTXPns5Rv0QBbbYXuIg0\r\ndp7Q6f7vxQ5WNAE2sEDq7x/MidBm6NnFIbl0ys8a5VlbzVJirKwIDM41HVro\r\nvYclxzp107wMu07n9e1q1WI+IiEzR/0vkOG2kchj91cwpiqHXcOV0co4Ft3F\r\nHjJZHyCG93PZEWFosqzThEEE7AyvjS4j0sl4vC7Quv43C5/l9HJpNksgBG9u\r\nyVxwNAokg2PhqRTh1swjy7ZOTxlIhPpcjP7rXc4PqCqrs2Q8Cu8uEh1vKYQM\r\nsw9mrbo24QmNdQwWtz9ovdLbAaqT/SZGLe9hlB5zxISCNNw//takguC6LqYF\r\n6aMthZedb/F62pv5sTUDm4fSN4glNo4LgLb8/pC91codoEhTsEjr2ct20Uoy\r\n84aPa3AUw7cIwffcHaxZ20kzRgVKGQCmYwI=\r\n=8HRo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.4b033a8_1654089556586_0.03925964276093641"},"_hasShrinkwrap":false},"1.0.6-dev.1d394c5":{"name":"@usedapp/core","version":"1.0.6-dev.1d394c5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.1d394c5","_integrity":"sha512-QprZaGmaFtrpPutV3a+kTRVgaZsbDiURAu3j4Bgqk7yKCzYHkvTWyCyV8RSUg1A+JvtckQaJy9q1MgdzmpHAGg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.1d394c5.tgz","_from":"file:usedapp-core-1.0.6-dev.1d394c5.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-QprZaGmaFtrpPutV3a+kTRVgaZsbDiURAu3j4Bgqk7yKCzYHkvTWyCyV8RSUg1A+JvtckQaJy9q1MgdzmpHAGg==","shasum":"04a1fb1130b31486dd9a92eaef6ba31f19fa9be3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.1d394c5.tgz","fileCount":2177,"unpackedSize":2843307,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcKsjhsJvNtZ/yryd268ZQqodiYh9Us2Ibo/KR/MRm/AiAxoDdl+UP0EhNrkJoLnGOExm8dGGuLDBBWeRy9Y+A1Zg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil2q0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrM1g/+IercceRzjGxfTUkEfk0rQiBYkaTi4zAU27jvIWMsCx8F1mHY\r\nI5s3Bkmbgw/mCHz2hdS/U116e9VG5/Gk/k2QIBmddw0cRF2xaVjGyanrasir\r\nkEhl42qXA/LrV/s3zRde/3KH/EF11+mNfALi/Cqo4Lo9IEVm1KDznvskXjjH\r\nU0ttR5VP7pb4GOSmLs/+Z6zcdlaouHJCs2eKqS0qXd//5LIs9xjrp6vQ0nh3\r\n5BNxHHi1UoHR65N3eYusMa/IzOA+F0sX/XuBKtUCDIB9Ba0BBZ6pMoT/WISA\r\nNW1Z0bgUr5bdI/qgwrb5TVjIdt9TBTSQDnN4x2+JG+I4kCZpToOa1dh2u/a+\r\nMx4Xqqa8ba6Zj8c0c2XDxAicPHqbFeLbhN6PJRG9t7KkJQ/UOLWxV7zNp6y2\r\ncI4GYHsAUY6ArNKSksxDtjyZaTvDGJupMLCY6zWsV83eU5jJ8nmDBLR/0eMC\r\nY9hz7Jo3m3ODddu8yW3NPTGQ3+4m+WjiZwonaQzD1IaR4vBJzOxaMS5Chy0w\r\nlQkvKQ+8rlWPTcMwnsop64+SDTz7O3N16CDLv0R/e+jtYncxGsnfQNvu2+Rl\r\neF1sQXJVLgN1ipku/2DaidqKBFm+tCTYJtbBomlf5uNruRz9ggaT0nvsvZ8N\r\n8Y1dER14Ol/NHI9GiR6IETuMqOP8lZxBEpQ=\r\n=X96E\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.1d394c5_1654090420214_0.2352724989906192"},"_hasShrinkwrap":false},"1.0.6-dev.bd8ca0f":{"name":"@usedapp/core","version":"1.0.6-dev.bd8ca0f","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.bd8ca0f","_integrity":"sha512-glb2XzEIKyRJVPIfQ4XvRmzTyRlaWQryQ+Jdl0asJvXhGo2qsIggs6857HzBAy4+IvwG+rnahNwB0zAbIOrHBg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.bd8ca0f.tgz","_from":"file:usedapp-core-1.0.6-dev.bd8ca0f.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-glb2XzEIKyRJVPIfQ4XvRmzTyRlaWQryQ+Jdl0asJvXhGo2qsIggs6857HzBAy4+IvwG+rnahNwB0zAbIOrHBg==","shasum":"155e6819c9f053cb6a2809266705b050a14f2959","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.bd8ca0f.tgz","fileCount":2177,"unpackedSize":2844794,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBF57BFC6fOJkai/Qj/rjoIFmG2iSrKK70gZo0dIB9tCAiEAqMoTf17R8hNtp+xE3Jw3t93KZSRy9jLkgK8PdgoDUx8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil5HNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5jA/+LlPUls3CBDmzTOtobfern+zcEf/kk61xODslgKl9BajKolFw\r\npIucFpUFxJ9BPdk2EfiMY5/FTX8ND8gDrQKEu5teFWVunDtEKTtiXLS8pbud\r\nd4b55u8Kemx7jBaYZ2J73lNLTP5nd2qjT02KUIkqjt2xQngTjZd432j/JcyU\r\nVnxy36+8oAC3m/BhIWDFq1pnUj8ZebSgnNMsVDPBFg8+BhVfAYdVjE4LEOcV\r\nEVg02i6i1SVxyi/zB+dPH3CB0BJ+wz++DAtPxY7HXSpGXyQrwQICHMzF/Frn\r\nox+/iTOeJlcFeALx/FOjr7E8pzYpyrpdz/zihnW5tDm/ULtBGUZU92Togm9n\r\nzCP94CvXs/FcsY8e+aRpU5rwgA50BuKhIL/3tU870sAeNMzHTv6ayIsR6JwK\r\neHRk9OH7jxvW1bcns9a6wYphgwDIrCLt2yRzbvIvfYIYSn2thbM8AUp0mplP\r\nJOA6IHEFYLe2/sBinlEqQsymvGwbxKhYgnrw/8/xY07qGM71YJGPwbkP9JL2\r\nxt4FzLeo/WVqaXX8R+F6F2gHexYS+iVLs7CT8sCjNXg1wg2wdCIJcWdM71Oo\r\nI2GmMgl0WeFhB5iS00lecdLPmfHoZx1Jhzk0DItAgtrnGRBvWpA3BY0YLEOk\r\nUQ5KMbnASrr/F7TbtHvgqOrYS1W/lel58eU=\r\n=uYwf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.bd8ca0f_1654100429190_0.6337416045797188"},"_hasShrinkwrap":false},"1.0.6":{"name":"@usedapp/core","version":"1.0.6","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6","_integrity":"sha512-4ZpPjg6cv1ZbeLCshCtVtcFlUgdO69t7wlbpjL0QQmyguDBazeiKtAuuCOUzWuiwmSAgC/aJVky2WhMB4xS9JQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6.tgz","_from":"file:usedapp-core-1.0.6.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-4ZpPjg6cv1ZbeLCshCtVtcFlUgdO69t7wlbpjL0QQmyguDBazeiKtAuuCOUzWuiwmSAgC/aJVky2WhMB4xS9JQ==","shasum":"9577cb9b018a685530c0517e48448ee101a732d6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6.tgz","fileCount":2177,"unpackedSize":2844764,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdoWMu/5umIbetBw4AULRL9bj6LSZhTUu2awPWP799tAiEAyh5R2dGpRIUlE0lNnTp7Kk818dVZzzLxJJ/k9gJx1Rw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil55yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrI0g/+Kvbi7MWQKD8bOQruSsFI532+DUoP+I4KfhGCe4cq6y0hZ3rX\r\n7EkbQbOVX1n9OkZQK/hrkoLzLeilgETrSaoF2/FFG+zhPbUGtTGjp9gqN94r\r\npA1Wk3YKlGwYZ5rmNKl8rxJtYvo/vAEJwOGWUpC8nizlW41tL58v644h4mNL\r\n2Ildrt0sA52BqUiKxEa71F4+9O4ru/ChnPkG6eaWJ61j++x8xEy8aZWgXJhI\r\nzWRHZ6VFjQ3jLCgXZkdN0lrqvmefoXAGgiapkU3F3ZpQdMOfhFHkGibEyTJc\r\nGxz+DuGFMtbF4C1sLL8eSN5F7v4vjjfKnGHmT6kI5LzobcRk1CoQjTFnU+Ij\r\nIVCV6vWoXfBXY9rwLZcrewZ5cYn66wnz+SkLIGxpDL0OYKBUjlj+ZZ5zQo/D\r\nABHyAI7u2bQ8blvyZSWpzMVy8+SW1/hNG/CajPdN/NoXLYLOogcXNSXAWC95\r\n/HNsWDA4L3b3KPwb1+A6N/Bq9yIIO6jgICDgSjzmEEUrcAGM79BIVECo6o01\r\njaBGw15I0HEsoz/l+uSv5MVyqMOnwEyl/Iz1HBLa8gX1uFAbXhP/co2RoD0O\r\nqNd5+eqWaJjb3UmdDgTc/jPdAgujkWsFQjgFq3E3pseMuQONC5W9ARkchyMW\r\nXHzx9PHC9qL+It4dv1Ce/aXO4QIBzhcAdtM=\r\n=txX/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6_1654103665804_0.06434512474380072"},"_hasShrinkwrap":false},"1.0.6-dev.3a2e264":{"name":"@usedapp/core","version":"1.0.6-dev.3a2e264","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.6-dev.3a2e264","_integrity":"sha512-X6TDFWqCfAReyiayTLgFnR7r3R4H6R1kHz8WTYddDuVl8Kpus8T2RtKjxNf7aIfP9QubRwQoP/PDE/PQCmfAKw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.6-dev.3a2e264.tgz","_from":"file:usedapp-core-1.0.6-dev.3a2e264.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-X6TDFWqCfAReyiayTLgFnR7r3R4H6R1kHz8WTYddDuVl8Kpus8T2RtKjxNf7aIfP9QubRwQoP/PDE/PQCmfAKw==","shasum":"cfd535ae1eb91cec0c6529a514a71692eba7d703","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.6-dev.3a2e264.tgz","fileCount":2177,"unpackedSize":2844794,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqma69MXUFuEWOQXeplrH4fyfsgKvOrRFD1WJvRYQHUQIhAMKLOftRtfm7q7SEHmEdMnJG7xDsHmTdW04oznCGJ0N8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil57RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2rA/8Cd/CI79kdcnmreMkO2sC0AbrbT+jXKNtMtHserHE2QUnr93o\r\nYG0OTWb39zDeXgRso2Z69labnl9ZVNYcf8cdEW3lNgobAAbO/O7iG6/6jLW8\r\nciQJB13oh/P01KxPMO+S1BdIxxhTl4ZBgtQVt890ubQSfzl+a2tNrR4fzK2j\r\nRTIArnU1X4MPJJhdojHPQTsxK5hA4hCU/0vBB//aj8UuJ+7PYXnRMmvubBkZ\r\nGg2/Gw8DgPrmkjTw9e73Fm2J7yb1Chmm6ZHoFVzAV5Ygk4JC1etkBKwLzSwD\r\nVHHo9+egBIf5aPgnzVHT5/gtu9XNIPpUaFy/GZqHsF0AK+/fnpJGv2GQMTH3\r\ngmfpwQI6w1W9zMvX7iEoXjDbhmzSJHloNXAYG0jFEEZeDlEH/LmWMe/hV4yU\r\nSrJ7Nu8aAHfh2vPjGszIoKxx1X2bW35bidREYuJpu/CTgWL8FKpw8nau0M/3\r\nSRuneZrner/r7MXIW9f4BfaExCWHBCW2aAcS91HnZGz9CNs5PeiSfxwjEbtg\r\nvGjq5MRAp0r6mQoj59rRrbcu+5U0p9FlBjNb38/VRdVaBfINppDxNIkkkbkP\r\nZ8b2xvi8QN0n/j2iffcuZvwjGG02fL7WqalovHVtR+5I7qaj0SOw5L3acgwI\r\nTdSlvk21MjCu5xmyvdNipaXBrfgAzuBRsgs=\r\n=EwrM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6-dev.3a2e264_1654103761079_0.5238694441053069"},"_hasShrinkwrap":false},"1.0.7-dev.3d3aedf":{"name":"@usedapp/core","version":"1.0.7-dev.3d3aedf","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.7-dev.3d3aedf","_integrity":"sha512-tohg0x14HY/Er08TyN+RxZBPzDhWZY9t6YJclboO2w5iLUW0O1UdKkwpDerznX9zNNvB86VEbbnPKbx2ig9aCQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.7-dev.3d3aedf.tgz","_from":"file:usedapp-core-1.0.7-dev.3d3aedf.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-tohg0x14HY/Er08TyN+RxZBPzDhWZY9t6YJclboO2w5iLUW0O1UdKkwpDerznX9zNNvB86VEbbnPKbx2ig9aCQ==","shasum":"3b409e64c252bed22931f508e79dc6dff0402651","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.7-dev.3d3aedf.tgz","fileCount":2177,"unpackedSize":2844885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB878A3B+xQg0pfZs0zo9kBWpwK6zxV5sbZMRR2DzdQrAiAYiIfR4ykFrzNLyfIJ+SEQLttr0ze72UJsUeOgPgslzA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimIqBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr09xAAhpE65SMPSVeU++lNc6JLaby0TXSc1thRHZwGX8iofKvTQtaz\r\nyQlq8Kfn/Luak7w5C4k0M9JEwC/oUBP1WcpkEcYC06yZ/iipay1TyqAjYSC0\r\nOP59QEH1vZxkfRFqpsNfnMUudZrx5E1mlYpUVnz3ll5bvGLwVEEYAcG9YV2U\r\nM0u7+oYKHR03f6kdiJkaA6vPktN3ANaA5lpfPhAAUcmm6ZwxKaVq52HWZrj3\r\nNe+E6MWK6L7+j5GWQqclZjwx9+23Wvne3MBt+c48G2DY1uPib/waH8lfmtYF\r\n9kow6O2HmrSslxHD/IYea8LtahGpsWlnfNZJhXW3MvSRwLQcPFKq41VvT/C3\r\nIEruGmgtx2uIyOvVeVZQSJjR8V0PuwnBz356Bo7JDbziaR4xPC97fp5B10Ta\r\nlv1Ay0PSqw8CpyFr2xzNhSW0lC3jKl/mw6tQc6S/WBv4g+4o7gQTuvVCALIS\r\nJLgaLw2lxwln9MPak06T3PYrSs2ZP9gPJj+uNDliFmzspSNaNgIqz76Lmuym\r\nLCoycTnWp94AeJqEaMyET+QV+5WisD2rw6z3YtczgU3EAxWGM1MVlCHhuleu\r\n+JRQkpbV7jdbrQsuWD99IA1yemAirZ5B5RYR37nVM5dWhnXmPnPXemKQ+UXY\r\nH6QlHXTXbBO8pjPd9FVlvTP74SCHIuVPeuc=\r\n=vAtS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.7-dev.3d3aedf_1654164097505_0.7990133608612331"},"_hasShrinkwrap":false},"1.0.7":{"name":"@usedapp/core","version":"1.0.7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.7","_integrity":"sha512-GbCAu59RHe4CAw0nYJBQFzhqoOHFbwGZ6qZfv5ke1Zd2hJsPiHqCbe9tvoyr7SKvqxY3/upabVJI0Lxw2jpVFQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.7.tgz","_from":"file:usedapp-core-1.0.7.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-GbCAu59RHe4CAw0nYJBQFzhqoOHFbwGZ6qZfv5ke1Zd2hJsPiHqCbe9tvoyr7SKvqxY3/upabVJI0Lxw2jpVFQ==","shasum":"6d94da1a0ce298e23aaa242e572bf691f4449612","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.7.tgz","fileCount":2177,"unpackedSize":2844855,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAceBVoubfKGEdoZhEhsy9Hybb0U4lIay94Fo5oGM631AiAMcMv3eGgt03zJC09zLm+D/CyhgkdWkoQdrrd+flcC1w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimI1YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq66xAAmJOOPztZb5+rY/N7nKWpAxCXAm8f9czPed956vp/T6p0TtEF\r\nDj1x0eJIbV1Vm8i6xKDdgtxyZUmgtL8AdzjWYz0XiLgvgB096I5Xzu/FrDnD\r\nprLtp46v6SaN3EbM/B64JQROSA8R/nyFvRpFZ0PFdbKq/Zy8c23wyayDT7U3\r\nTFIzkEi7g+OWxrIX7J0c/Xn5DaIrMyek2CqAgHzBC7pDGyrFmFfHtilng6q2\r\nN5x2faqVm6JtRJfryiqct0vGANQ2ZrKpMlKOCOd2F4n0vxqypPjfRBWCY7Va\r\nmWqzI9vdznf/h0g1hO3a3Qpwex5hNzeBOgGVge964B+vIQZ0suxi+ZCBZjQT\r\ndEN5Ib9hDUVoFgdTHDmlivX+QfqHrKvyZDsM1nL04oEgybbUMVmfNE+0WS+P\r\nvC2QUNQhi/U/Izv0c9uOMYRB5k/J25XCbxUClFlKW8wgVzFwv1314hK+h7ki\r\n0WjLpcM7LT2NKKXH3JJXNIVQYDbHZH0FaeShrY508jR8bDWtxoOni9LztXXx\r\nHKaa/XoQPei3DcqU6LqrnWvfuVwlocPbxZgMyScZdlGxV9IYrYiopcCtaJTk\r\nQ/2oc18HV8kWeLA5zB2xaITvCprpbnpMONRm8IfQC9va+6cHDUN91/lQDFxZ\r\n9wlRCrQNXZpk4GIpgJ87CTNsbFyk8ncuU5c=\r\n=XopC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.7_1654164823759_0.5900674461501596"},"_hasShrinkwrap":false},"1.0.7-dev.fbe2965":{"name":"@usedapp/core","version":"1.0.7-dev.fbe2965","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.7-dev.fbe2965","_integrity":"sha512-MmD1FaoQFdXqCXWr3IeBS77U5J04pqGNawyQHc09dxB+TesizzY9zuXqQGGEptaGMPdZnDzuSG/MnfTR42gqmw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.7-dev.fbe2965.tgz","_from":"file:usedapp-core-1.0.7-dev.fbe2965.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-MmD1FaoQFdXqCXWr3IeBS77U5J04pqGNawyQHc09dxB+TesizzY9zuXqQGGEptaGMPdZnDzuSG/MnfTR42gqmw==","shasum":"1c0d7298c62eec19ed174be2b07d472fafb70e01","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.7-dev.fbe2965.tgz","fileCount":2177,"unpackedSize":2844885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBAT0cc1mlER2TrhwDN1W4yiotiCpFyoZMcr02rEEjx8AiB9t2i4jZlwdeb5qnDX/JAwrSIWxH5yQvrg9OndbLobcg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimI2gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiUw/8DwSNoXP0uSwQOdDdzCNPSZIwAYvp+vcDbt8HAO2W9aKxTSoC\r\n8orMYOqVCyChGTibzoEqHXuKAyS4IVUOsjHWSbU3blYrkK1n0kCyQRnwLgO2\r\n9gpX4pSueecatanBUDgCqaaVbhe3B4P1z7DqZvkGsjkl4bXNe2kuTGZ5T/Vr\r\nb1jJ13wbmeFP8HDaGq3/l2gJ8derpbd+obdl/13u38TLbnNMJd7UkeXNAM5q\r\nQcGI8I9Nd5AJRZa32sImNJaR/MPbIR/1yYrAnZ0s2/hSWTZzmj26J4koTNnz\r\n/1iZcEwuw7K/MKZ11LuqC4zQFA/zAFjGhJza3NFsegik2Elgo2zqzR+SFy6s\r\nJ1yM6cQ0WXoU25YvW3/FAhVuTAuD1JnPdDpt79yEoyyA13JklbKYrXECYi7P\r\nV6BvVXt6Yt2m53PlWCgHtO4hBFiSz5ORLwGPTMIFi9fXTmMx3ZM+kkDGm86s\r\nTKXFHBIw8N9FTaZq6yNPhhAiDM406QVNJDx1wih18qSS5+i4gcdqR5EK9wDN\r\ny5aytXe5pNGqo9HTWbYtHptaCt/ilVZYWVjFrRzfx54wmo0pEYwCA/27jquu\r\naPRHTNRQS/reVdBEIbqGe3lwI1VvzbnanL76f7TBOF1li5LGnleIGnKb6Jig\r\nta3AsxROgb4Wo3vnIAEmLh68lsR4ndEDZig=\r\n=Fpep\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.7-dev.fbe2965_1654164895885_0.6554847993123114"},"_hasShrinkwrap":false},"1.0.7-dev.9ba803c":{"name":"@usedapp/core","version":"1.0.7-dev.9ba803c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.7-dev.9ba803c","_integrity":"sha512-g4aiJ23DfAiM3Nx7BJCzkFyqh7EproLYvu3dnQCUd/NjTuQAzOTxMFsdIAXojjBbQetzNIpnOu7Gt8zxuudKvw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.7-dev.9ba803c.tgz","_from":"file:usedapp-core-1.0.7-dev.9ba803c.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-g4aiJ23DfAiM3Nx7BJCzkFyqh7EproLYvu3dnQCUd/NjTuQAzOTxMFsdIAXojjBbQetzNIpnOu7Gt8zxuudKvw==","shasum":"328b70cf2602c80dc620719597bd0b77b6a97563","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.7-dev.9ba803c.tgz","fileCount":2177,"unpackedSize":2845363,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGZkP4XdK8kODyWVDJ0RBZ2yyXJoOJYzQLazaQuHejYAiBBcuYDL9DqHdjolieuZJ0EuWAIR+dh2y/RWAabpxtnug=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimembACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrzfw/5AYy1a9mityczH5vSu0S19LZxbbUpWBcTQgBKkNHtJdxYewHg\r\nV8+XK7aEraIn0vbm1HSNuJ2+muWot695igFUdvrdq1spmhiopdGqEZBMPbPZ\r\nmraaNDnDhYn8/QGmDVTlbDWRdz9XnQwUYyEHFYhvTuBI6Fxd8ze+2TMtlD8H\r\nXmfc+V7LgDmx51AcxwcM+xPE+LFGMqvUwWcjZCgiINHTChAhMtcPp4wUJqA7\r\nmitwg2n0uc+sViTbCgKNAJCXc8oRr0THrVL4vfnJXBhkxrEGPy35hbzlNMQD\r\n3mtBoXpQN5m7mXE1P9lFjvfkUWOgY3f450rr6hP+KWK3yJ3D48Hl01+MaOSN\r\nHgazNg1Z1SP6BbAqHZsa/FZhYhHbIQqibgZ1ncvDzFKRjpWcYSR6qztJL/Dz\r\n4M2by3WgMrDHRMbHI0fkwW8EVIplsVTrFy+xadVeHb8WqqfgnsLQAxepVHb5\r\naR/hXzhUuzZQSc5ymiFtjzGTkUKbqcTIv0aDnyvJreHd9aqOr+5JG5IEWhWr\r\nz2FaYGoH1vnP96mno1DJSB/B/1doO3v+QmLXc1eeuM1F7KVU/lglKUmbKuQt\r\nBl5P2B+a5pmHmN1nXiV7dV7oyJUHzdt7UzbyWL3LKn0aIXNCkHJQ3+wNHWOJ\r\n7z/V01RGjg95HHQeqDHZwo0x4sXdjricW+4=\r\n=4gir\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.7-dev.9ba803c_1654253978916_0.07490204305094506"},"_hasShrinkwrap":false},"1.0.8-dev.6d17ce7":{"name":"@usedapp/core","version":"1.0.8-dev.6d17ce7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.6d17ce7","_integrity":"sha512-Gfb13rx4Gp+KfzFworiBTWQHdcWZ4mjNdZcu65aKFLC46aqv2g3uDI+m5QYxkIbUjP2y0J37TuRpaclQDQpORQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.6d17ce7.tgz","_from":"file:usedapp-core-1.0.8-dev.6d17ce7.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-Gfb13rx4Gp+KfzFworiBTWQHdcWZ4mjNdZcu65aKFLC46aqv2g3uDI+m5QYxkIbUjP2y0J37TuRpaclQDQpORQ==","shasum":"c8c84937da64901595dbd9227e3d5e63250d672b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.6d17ce7.tgz","fileCount":2186,"unpackedSize":2891200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEtFuv4DWjlos+bbwVBBQEyO7Wsj8uu7A1Ibkx7zdypgIgFzjTzvXoXSl0aHBpJ7besl+LGyK0Gjp+MLSPbmm234o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimfNEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAHA//R85hx9GNvu58sxVNL2lcuWqNx6SNvAIb/S6p0WNbjongFbUf\r\nKDpufTh5RQt4wG8wM2toaHLFWnZj4WBvp0tQiPxRGaNqcTsEYCRPyxRdxB7M\r\nWVmqR2/Bs8GtTXK/OU9vsgCRTwAxeWAjCWMDPEN/A8M02LmZOe3apnyiUYby\r\nxumifZnhDfy9lMy5HHgB6kvxR2VxN6ZyQdL6enktjhvujho0VR0f23Ya938X\r\nDjjQU73ZXnpuenlzJcXGuAuqZchH6DtoLrDBLU1pvZeYchkbu+BTcB1wjE2v\r\n/QztIJPepV/Wp+Amy+DBbWHNz/33ZLTbwZ6CHTdHpgWbB+qf+ysJdfIy2IIu\r\n8GtL2wy0XkuuXxwU/Ubbk/HMRlE73lfsGgX8bPRGkeZ2OsTxA92dXl2IIlQ/\r\nm/lKE53RaZaVUR0m1vyt+1sWMuLC2bYauE2q+2IfOKIk/D3unWTltUy9jxOz\r\nyrTznCDX+xH/LFH1Nh5vBOE6Ah1XzteGyBXagVqkEqiHuH/vhC1GWmOWeGap\r\nIe80oyFbpD5i1ctgHFh/GKsQdnU7rwzqr2mA2oxlHz321t/jKO0ZgJJYH44I\r\nDPIkWN1VSEO78ne9iOhz4VVJV+ROUojnuSJ659J9eyIgtza7RwNiP1RRDPwJ\r\n6SHZi8CW1ln8lQTZA3aTiRAF9wk/VH/F2I0=\r\n=4hxx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.6d17ce7_1654256452130_0.4780563716126891"},"_hasShrinkwrap":false},"1.0.8-dev.da0712e":{"name":"@usedapp/core","version":"1.0.8-dev.da0712e","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"5.6.0","@ethersproject/bignumber":"5.6.0","@ethersproject/constants":"5.6.0","@ethersproject/contracts":"5.6.0","@ethersproject/providers":"5.6.2","@ethersproject/wallet":"5.6.0","@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","ethers":"5.6.2","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.da0712e","_integrity":"sha512-3Ua9epUjB8ibwDeVeKK246+t0H5osEzdRl/PSmiMkaoM9zPMkb3y520aCzpu9YLrJoFgaZVbjQtMLuAFuBGeGg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.da0712e.tgz","_from":"file:usedapp-core-1.0.8-dev.da0712e.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-3Ua9epUjB8ibwDeVeKK246+t0H5osEzdRl/PSmiMkaoM9zPMkb3y520aCzpu9YLrJoFgaZVbjQtMLuAFuBGeGg==","shasum":"3b3d0749519eff7c78483146c629e2e3f04a423f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.da0712e.tgz","fileCount":2186,"unpackedSize":2891235,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGjgN+e4Td+SlvmuZzeV/+UzrLhJq5p5OioVIVyuBb9AiEA4SP7WQ0iHz/Vj0TfIDns4xHZu3P98ZyNSfshsvMklUc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimgkCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzlhAAikfoneO0yXsInVbEQs9FJhKYONQPWuo6ZkYh5gS+1rf6z9k4\r\nXYRVK4HIbsdy9I7pOvqcAV9AS+EHTcRCTFjjSdjLhWIwjH2juoNlvQ1s9UJ/\r\nKMJUhLh/ePS4zH6yQ4UKfHr/umfv6AfN4FDPDDs3nnbxKJqoprAjgxs5wKix\r\nF+Ayqb0agcuK8yc1TQqFxA2AiXu3+KuTz2kz60TyBuCHxpIUQzIEsfLO0GwS\r\n4nk5AuxpRG90lJ0yLXkDYFXYi7g+0h31ErDH9IzbiysUk4K1fmouugj2YeKO\r\nzMWho4eLv158YQyo8pOIiGjBOVVjnFJCWQ9OOyESS6G+lP8I0Wu6k34LEPr7\r\nXUNlYE++7rKQMpTXXO1NFUEhn+f1Vai9i0k/zSBVAhS17C8rd1ZKcE/C8w9p\r\nO6MmMVsNalo7CON8fYhBED7P5TOWX4XGwbe1DW6yxde8QW5lP8uJiWibnikf\r\nLP6tcqW3rBOMfRcRgbbcMFMnyTgRCJe3IVvkGEdqQEbBr/gW+c7ycEc1JEk1\r\nj0N/X+reTukuV5/jYvS4wqOJPGo+xqTDqNNNhRbLTzLWDUlmYXyD6AnzK8G2\r\n8vSOVQJiXaB4bWRCnR0P/3Rd9qeBBxcROWG01XuMZNSCyEUAc1ayb//qOGaF\r\ntbQMpkkUSyr1RWh+EHRIG8nC+AV2IQDOh28=\r\n=WAkx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.da0712e_1654262017972_0.9634366708284554"},"_hasShrinkwrap":false},"1.0.8-dev.3cce319":{"name":"@usedapp/core","version":"1.0.8-dev.3cce319","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.3cce319","_integrity":"sha512-ZUHwt+HemP3aq209Otx4nb1Ff64a+1g+nBze47hJByMMnAf4Lb+ROpBDv+ZfCh7acnFCZr+kgypxVtn7NPL35A==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.3cce319.tgz","_from":"file:usedapp-core-1.0.8-dev.3cce319.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-ZUHwt+HemP3aq209Otx4nb1Ff64a+1g+nBze47hJByMMnAf4Lb+ROpBDv+ZfCh7acnFCZr+kgypxVtn7NPL35A==","shasum":"5248e84f43ed223e3ab68e8c0f47f8703c99b1f4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.3cce319.tgz","fileCount":2186,"unpackedSize":2893706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAEybnGCtS+5QrxZ+W9vuCcZCzVJ9KiCCdunHz7o6qyPAiBdzekxhzaEG8RIbtIeuKZfb50C0HilKwkFoj1VZkKNrA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimhROACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrgA//XD9lWTHge0uGmrdN8PUZgELwM61KwDV2KsfeW3zACOD+I0H9\r\nniz+KmhPU1SNvaAUPsPsacaM/KKs9M0Tk/VAxz3APksJL8R9tnxSnelxfk0w\r\noc8hXgO7xv8tqrqghRGhFkgQtoYHi5opES2qOxCyjezBdxxV6R40Co1VLXFC\r\netm3x4nJMueh21Afok/PMK4M5EcbeLLDPAG1hQau7/zOff1OHqJwPkmTaUMR\r\nw0bU0nvwxegg5bqxoz7m/GFBUNwM/BRG9Qfydu0dWJcGSGNl1KWbh4c5KsSr\r\nWtJNLIEeAIR/5Vx2YFXD6W9wJeeoY6oxZ+hNpvssEJhrJoDx00JltIKpwCfh\r\n3Zp+tZN5baxiRoJQ+fdRA2RrD5dK9/AAtZPYrn438K44LrVNtTsjDKmfqApe\r\nD6xt6+mgwBBheCs6ZA4T4dY7owP615AvOcMZJENq1A3QsZAzrHqpAcdlH6MK\r\ni63EoYu7WhKeH/o+4pQg2YUDV2W2K+zPObuG/enFemaDtUN3fd5S1i4Hq5/D\r\nhF6w7FdWmcpRmVDOcIe574z9wIWDxjzF6Qjj4HqxeEXclSqUn1Z38wLFIIYR\r\n5a0vbJfbFypTs1nypftZCSlq2Yc0FuOXPmZ0/vlooTYFpmGjr7f0c2wYg5Ca\r\nLQGBU5u4NVO1JEM3Q+WbumqUoWKPq9nVpRE=\r\n=0bXv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.3cce319_1654264910409_0.1558934552319533"},"_hasShrinkwrap":false},"1.0.8-dev.977d067":{"name":"@usedapp/core","version":"1.0.8-dev.977d067","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.977d067","_integrity":"sha512-N3FwXW7FVt/pIpD4GihS6FwtV8v6qBhCKdZNRwLTfK4WF4ThfTl5436dqhlyVXqjMH15zRHLZLgx8lPB2vWCSg==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.977d067.tgz","_from":"file:usedapp-core-1.0.8-dev.977d067.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-N3FwXW7FVt/pIpD4GihS6FwtV8v6qBhCKdZNRwLTfK4WF4ThfTl5436dqhlyVXqjMH15zRHLZLgx8lPB2vWCSg==","shasum":"52335237eebcd99f239bb25c604f86ade7911813","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.977d067.tgz","fileCount":2186,"unpackedSize":2893706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjtIGb4E87uCV+93qPEboodBWDBHoCaXMQe8viie9PeAiEAsRf6g7Sj4zovvOOdt3b7vi2yShD30WRmc1OSlQvA4ws="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimhulACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNLQ/+LaySzWgDGdCeJrBMF4ZDfeocjn9YaPeiD4BIt/EPjxFycPfl\r\nXeT6R983SGe2tkfoukCNooOCmdboDNSlGOi6PtMGbLFbtnZSNHHTXg2GywXe\r\n/ao1ASDRwoPlkWmNAWCiwooLzSMmIN3MNlc1MpU76/0KCHZmXcHnB//RoauW\r\nt9VYAKklLpCAMB57ouaPRXF9nwwd40ttHGct2/jPgOJHpk3Xf5o5QhhrbaLI\r\nKlPxX30tmFPLZ0twbesw3+WNbqJEG2i7DC74cinkGpCbgaWYoPUXR5zbtBNE\r\n0Eh6OdKxLA8ej2FAR6Xs2KxespJRCWggqJnrySXAFExSWwc4Uk+X6CLQzdK4\r\nmBgm3EODmt30eVEh5SM43Ztnal5OMuiyPMlOumu4Rq0qOyAd2wdwqmctDKUW\r\nlcpRo4Ap1aIzMfW0icDBYpKM6rTlH/yuBmnoO8REYPQRIWZWe7e32QBbYU97\r\nB6lxZk4zLBbOwPk9m+r+r1fPdX5p31MHMALCS1JG9qCxDD0cdAapUUpzdb4Y\r\nMIK8QjRsKGO98rcjoOI8VHDDcO5h51ubRtJ3OYaFOkRS9VWfzV2i2fJgMJx0\r\nFneFJDfyaARaTOpYCfDZn9+3c6S84vVHe7ILLA1mzXgaiapxC2vxol19H7YG\r\n7EdQN0Mt5yRFCvaxyNEeWh37K84KYsu32j0=\r\n=6yLy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.977d067_1654266789607_0.3593349359463607"},"_hasShrinkwrap":false},"1.0.8-dev.4b4de3e":{"name":"@usedapp/core","version":"1.0.8-dev.4b4de3e","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.4b4de3e","_integrity":"sha512-Vx4BeRPnz1xK181d4PKKvNN+JOUFWTH8PYln2/XWz6dDz2XlHJ4HpjLn+V1rf7gDVG08D2smlXe4LMyJLOdMxQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.4b4de3e.tgz","_from":"file:usedapp-core-1.0.8-dev.4b4de3e.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-Vx4BeRPnz1xK181d4PKKvNN+JOUFWTH8PYln2/XWz6dDz2XlHJ4HpjLn+V1rf7gDVG08D2smlXe4LMyJLOdMxQ==","shasum":"6682b087c840cc6ed8dc2f5b832cb0f3620d8809","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.4b4de3e.tgz","fileCount":2186,"unpackedSize":2897770,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0NUxMtwJ5ssyma2vyUGp/x2mk5GWeX4/yETRry/kr7AiBc8o4fC4lNpwPWc1wd+UaFAbOjwZAHp0egGUR/oUhJsA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinwkOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0rg/+OMnatYhCGZmPx7gBF+u1BQBqhGFHZnmiHQlVZDXEw4mdLLxV\r\nnShMeTXT7+2BbxA+HPxUWca4KEcAE+Nb9VS718suhxEZMTKrfIY+Ia/PhIxd\r\nuGBweYVfNDuHt9hkIxXyegZ5L0hodqVbovbuwp+zpxrg6ICZ49gUqafnsWH/\r\nq7VTfynmJJUBXTfuWLtshDytPjf5s7SjQO56aTuDl63M2k9x9SqGIwEGsp4i\r\nt5upUB8GqU5jxSqFXTQ5ralZf5e/7ic6Unkt7PAWnbMTV7ZSxGqKOVkcJPID\r\nJ525FnbYo5Dm6/aHvZDXQqc0W+3BR5UNdPWnF1rNGICGQNiZW4w0sPEI6jYy\r\na046FyKeCt1KPODZG/GgiSDME2ONqvy88oZ9EaRxZpVpA5AhKfVlR8xcBEmi\r\nPMPZz0nTHW2ChGvwnTAo1dn4tL67sj3+2gKD+W3c39k6cv+dXC2GklKjCpm2\r\nVj+YyDgWdJ554WbL75V4Ob7UpR0DXF+6LJVuDCUedh0s2vcEZlhfwTqLaS+k\r\n3WjNzDrD4sZGubFFooaKsprqrroXmUxj4jJrAVU4ITgdbvlNzytKATw+Zdho\r\noNdrvd99Z/lsOvBd0JmfZNWPh9HX6/FEm8npWTHhVPskmc9uEEy/ht1lPQC/\r\nWt+w3GwsFncNuGRM9W46A7DCAoDaKTi1gdQ=\r\n=4My+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.4b4de3e_1654589710302_0.07801604542134588"},"_hasShrinkwrap":false},"1.0.8-dev.7112c4a":{"name":"@usedapp/core","version":"1.0.8-dev.7112c4a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.7112c4a","_integrity":"sha512-BprN0a+slKTewULNqKa+boFaj0g91r0LvQs6sTBxCT8MYatd+l3jauNEIbcQxLRH+tS4sbXSn182z0kswfXcxA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.7112c4a.tgz","_from":"file:usedapp-core-1.0.8-dev.7112c4a.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-BprN0a+slKTewULNqKa+boFaj0g91r0LvQs6sTBxCT8MYatd+l3jauNEIbcQxLRH+tS4sbXSn182z0kswfXcxA==","shasum":"da1290f40dd513519b9e3eca8083c55464d599c1","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.7112c4a.tgz","fileCount":2186,"unpackedSize":2900665,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHhDKOYzi9LXPLmRlmxsZ6sVoKfCVCMlt8heD2kM0PTgIhAKCg7FlIBZ8mwft9wnUQWiIoDxW4cyqd2mCTmwYj8Jx1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinx6WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOyQ/+MqPSrz7RocK5A9ibpBdJRyVUlut9uQwUaZb+/safTYceyaOf\r\ncIetbjvWxXtQ0yTKvWeioQPBLgdZxKvb4DTFEaPWbZxFNGd9r9TW+olH5y8S\r\n/pmNkQGKGN4PurX35OPB/BxZrNx2Jsra4D5M5UIXGbOsUdbacXRUmnKV5GHl\r\nI023CxgCu+4wJaC4BmT8duJ/AE6D1W/ForXtgwFH5YHeeXgJCWbeKmXHPwVX\r\nWwUyPb9EKDr4fP9vIa+YJGhhVd4sCwwyHXh2TluebfQVcU8OE7ASPYfPPfkc\r\nET8kmp/Ssquo5/A7WZ9ocwhmN8kYPth8vWV4Nl1AQkbtIZ9a5uE+AR8GcO56\r\nFU4oNL/A1nPANVFKI+CmC3X7743VubM6ziOplcwbv0AlJHwKDCIalW5CGAz0\r\nA9jKU0c5Ue1gQ7tIpNZesnGBO8xDmuQFY953AatiDDGxGG1HiS/CbH60IIKg\r\nb/YDpfA7YIFeJDGTiym9kfBrCIXSvsamqENTQCdo7+YEpQe+tM3rh9w5IzPF\r\nLrtzBEWQU4HaMficZUqCAbaxwR1vGEDMm1NktH/+55jbBSCunVLPcRf5QXlA\r\nOQPdYKAPG78IjvMf9G7WkkWybSzpqSTOOZlMWVtOGTuR+CnIEoBRDYGuaADt\r\nnO0/qlsqMdcdBXisUrB2LwUnzyFIsT5EEBk=\r\n=4TZ2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.7112c4a_1654595222466_0.5292270192781028"},"_hasShrinkwrap":false},"1.0.8-dev.bb20dbb":{"name":"@usedapp/core","version":"1.0.8-dev.bb20dbb","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.bb20dbb","_integrity":"sha512-2zNoC6Gx6jUrUh+/69ezTjUUKi94ZLW8w6YaB3JzksBeVNMcWQldCARmwl/jNIYHi9M8Jl56K6PVQnyfWUUipQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.bb20dbb.tgz","_from":"file:usedapp-core-1.0.8-dev.bb20dbb.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-2zNoC6Gx6jUrUh+/69ezTjUUKi94ZLW8w6YaB3JzksBeVNMcWQldCARmwl/jNIYHi9M8Jl56K6PVQnyfWUUipQ==","shasum":"20969529fcaa0a76e52cb3e89681c28a48b0f0bd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.bb20dbb.tgz","fileCount":2186,"unpackedSize":2900721,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWcSqs2SWIjt7xK4dzxq19rdJdpEZGleVC172MKbI7vgIhAKdulwKmq4JL2zP2GhLBLh2XulXjcuzOJ9BLX/5rjZs1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinzirACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLiw//e1GwniRsO1dXHMypzwIFLM8n0lvBIoks145+4OdzeAeD5Vap\r\n0XiwONnmMeFnQZ/TCwLIf+mOGoXuHt2YnrAugqkyjFjTZBjUXh9b8+v+kjqo\r\nLGnFepq4RTIi8gaNjLLS2FJspce85H7ogd1EtdF9bTfDkzTKOSiGKukSGmwh\r\nEqoiXIW2L+ZpwZAaard6BzdlhBIlyZ4Uyuwhke+Vm+mqJNKSTcPzzmmGn9sK\r\nEonxUYl35dUxLlaXCeu8FmD7PKFSn8QtZyPsY6wV/UdhMyyrZynFi318u3ka\r\nJ9IbGgX2+1P3NC7WzXOVBk9fqSd9Zm/UPIFK+DmjQdXs7Vvdc28XpYDOhouQ\r\nOlgl+5Es/RzJjJcZBkgyAL4xWG/KWhcbKkJRQU8T9BUfQdof/D5XB33fY0pn\r\nR75nLsdadnPEGvi1SE7ydTUHjsB/pqtlrGW00Yd6ZY5FQv3uA+QLlfpN/GmT\r\n1bGgP9yIJaF5aqREko5ZxetBf32QXKCr7AXcwq1MakAznGdn+XOZryOu9EIQ\r\naYYDVrOdlpRQdbdXlozg3LSrZatE7jiA3/xaEnzIwLnwffK+kYWlqONWAbFs\r\nZnG6acBFrST4Xy33DrDw1fnbgsAdmSsKZRsuJxN36+uvauG6meduvZEweBtp\r\naFEzkqwft4fH6SqkJUZqZHM4ybL9PTrUiMA=\r\n=SXwi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.bb20dbb_1654601898737_0.8351031973332048"},"_hasShrinkwrap":false},"1.0.8-dev.fafa22a":{"name":"@usedapp/core","version":"1.0.8-dev.fafa22a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.fafa22a","_integrity":"sha512-OTSEC5CY9DCNA0JQB73T6KfNUIfnJvPwLlUK+iNhk9v7qOMcWNabksf0s1jDXirbGkj+SFbs3b8X7riF+dHz6g==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.fafa22a.tgz","_from":"file:usedapp-core-1.0.8-dev.fafa22a.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-OTSEC5CY9DCNA0JQB73T6KfNUIfnJvPwLlUK+iNhk9v7qOMcWNabksf0s1jDXirbGkj+SFbs3b8X7riF+dHz6g==","shasum":"79b5525ab6ab8dc10d01bf83ea9c52a712a23f08","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.fafa22a.tgz","fileCount":2186,"unpackedSize":2911829,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEzY+xLB1CJud16WhAqbhLUs062q1ZSG++amh5boEaJAIhAKP46JLM7YMJ27HqFBtqCE7Q7W5glA8SCz6CwGviFWLs"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin0iTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdcA//TapoGag1xqsYop6n2q5DwK69Tqr7XLkhpuLOzSN4jH/tlxc2\r\n4LU+2etiFaMmquTxh0yl25NqQKFwlQkI4Arr4aBAob41ekybXYv4PTLI897O\r\n1xPCvAWQQCFYmevkFMIL1/hAOzeIHrM6gIxmm76N9rbiLX/iqCxH58VfzMsV\r\n88GtZp4fZQ5a3uYnjD7jHF1WrlwuBkVyRuznfv68butkgr/GWXj1PUH6qxEb\r\nb96AumnVjMVA5HyDySMljzWRaMrZOeMw7Hpms1ahhvib07O5mnXKaPrwOc8L\r\ng7mZ5ydvujdxI6idk8FYDIlwfk2P0So3O8kGeZFVBT2vchWaQ8+H1wTw8W+R\r\n8yMGwkdzK2GJV9AgOibd5CrBgL+V9bEk3SaC1Kyltj1ABYQ1xYc+9yiRIp1C\r\n+jhojFvkEpwxpMxOAioV2IiOR9MZEBOTjPc3CWLDXBJEmKFAAIoZAWVFoTMa\r\nQmvI+DNKztzN4A+nsAMd/MrLpEZhD5NlOeqCa+caOp9yumCxVWHhnsteINdN\r\n2wJdDF3QyrXQOuyZwn38jwGQhTHq1XLd3gp9Kht55qlpSmGvgSly85br5WFd\r\nOBmiy1SqxQiSyBsZnSn7+mxGfQNwKX6h7kQjCqjwv08hYXvN3chskwO3eCph\r\n48HOQEUPuS1RwqjWXROxcMHeClnyOg/TlSQ=\r\n=PCWo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.fafa22a_1654605971023_0.32706630018721583"},"_hasShrinkwrap":false},"1.0.8-dev.d4f4972":{"name":"@usedapp/core","version":"1.0.8-dev.d4f4972","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.d4f4972","_integrity":"sha512-TTBUW34qUZHXX3YVhWTblt3BFpbUBoNxwQFbRBP8gSLsvsmSBmt0anHJmm5WHlr6SVmHAB+XSFBATM5sG/HTfw==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.d4f4972.tgz","_from":"file:usedapp-core-1.0.8-dev.d4f4972.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-TTBUW34qUZHXX3YVhWTblt3BFpbUBoNxwQFbRBP8gSLsvsmSBmt0anHJmm5WHlr6SVmHAB+XSFBATM5sG/HTfw==","shasum":"84b03386534679b7b385c91e58acdc89222314f8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.d4f4972.tgz","fileCount":2186,"unpackedSize":2930064,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFk2xQl1lQR0oAW0BSqLhCcQ/J4CLsDxPxJ6p5GyPd0jAiEAydI9uLbMcmDbzoC1EViaEfZ+79Gztm9dxgeIg1k4Fw4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin1FTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr94w//dUhEWy8eCf9ZD1QALDR+9aGPya2uaWR1bMQl1EQ3Z8Rz9ZNR\r\nseT+5bjGfKHN+/WuAoZDoJmQkR3QqdXv3l0XKydSW7A/ru2P+u4BTQ8NIiZh\r\n9YtHPBxLGhlB3OP8B1+Mo5jFyBqQ+RhpmglGVpC4W9crORm15qQf6XTR5K2c\r\ni+DUlRE/I+o9Yve+e7fpw/cDsduFLDLi8ufX/BqMTxYAwB88ia63XZFq2bYi\r\nReZrTklV7PXaiIZRQxYDCIQ0e943SPyl808ikZnUPs8xYl4tBhN6Hm26qOqk\r\nhWD5NLkEM64vxex5PbWtb4YEdNtqHVcKgWaHrX36m4dVKY6EPqz2OeyVZF2k\r\nmu0BsONE9lWFRnaFxNTpgip/zAJ4dgwAMb5854zQsPlnawMdow7NdDIgW0kE\r\nIqpkhFgjX+HtA9WFG9A/cgJ0BaAz2JfsRWDaU/7KSoTETXKpa/EhTvr/o9/1\r\nU/ZrsHVoS7KSazJcqyoj+sOBYS0dK/t6/N8855Pdj+ynq/aGLbPiEq8Uso5B\r\n4DeyijMTtSd/eZitzyUt+Gm297qBgTDQFH5Ew1ZFPdkiAdrp2pPFocpApFyd\r\n0SX1EdRcq9srJrjwl5uX5AxJNEPh4JqcDRegw/M89CFse3RU3kxYKERw+ySF\r\nJ5qcrhN7cSkOU9XtQ4ShPiZe0nqacpT8egs=\r\n=qkGj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.d4f4972_1654608211407_0.3090168270204652"},"_hasShrinkwrap":false},"1.0.8-dev.49e17a8":{"name":"@usedapp/core","version":"1.0.8-dev.49e17a8","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.49e17a8","_integrity":"sha512-rciOZ2nl3EHDXGz0UvHJ14ZdOhVUwG+cjL6d1+mrzJ6gYYrvutLWb5Dv3YvklXlCUkHQn9caLaXBpf9kAiI8JA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.49e17a8.tgz","_from":"file:usedapp-core-1.0.8-dev.49e17a8.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-rciOZ2nl3EHDXGz0UvHJ14ZdOhVUwG+cjL6d1+mrzJ6gYYrvutLWb5Dv3YvklXlCUkHQn9caLaXBpf9kAiI8JA==","shasum":"9e23b79ffc9b0a8f2a16d0844b95d58d659f9a11","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.49e17a8.tgz","fileCount":2186,"unpackedSize":2930064,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJHr5i0MJQjmggI6UGChJrik+DVFfC1C06awyaOPoQ3gIgaGm6aDeooBK4YUp0nb4+gFHRb+Cp48aB20gUFn+1IGM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin2dGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZpg//UAeJy08mIFvd0JR8ajzufGE7ce851hd7fJWlDBs2+Ztpq4g7\r\nnpeyjVusKoh2tdhOvpz5dpMOhxyxMprKUBePdspdoNAHt6e8/MWdxxycdjwX\r\nmkA0HMUogu7gVsc2OvaS+OXRPFhBRg3/y6IFudHZ1ABimFEUlMOBoCoEgJzM\r\nTkF1K6NXDpMwe5GQcDsvbsfl0A2l6BnpYQQ5tMast5vzStD/llXjqfid5Rcx\r\nKSVX6jN3LZuOKkrVPdPylZhXCYponpdeHILYIN04G+EcbycwNvYHtHiehHdv\r\nL2k1UhiPlNfL+201FJffWAzwvrHoiC+HYH91+7M4EkDZIZH2DVhKLzTqfWhL\r\nVpGSt5mjDbeQuQomxpFAIpeS7azjSRfCSmee4bo4cjRJqlOexgLGdfV3R4+/\r\nvQInYXLCuRyEVq1M+7KLbYIR4LeYua1LeeSyPeQmh/w1ngfWxGEaCyGQg3RZ\r\n3ZSqOM4oweC+Fx2qlALpgDsC/gLvknEcJaoN+HL7YKw9pH913KMLEAyc/mly\r\nBgIZ8wtvJj6nBnGhvFP6UEGnduVBlNVlLuD5DKSH55KXiSDaU5X4utEUAAtq\r\nK6SN/9op46ZtlepEjpf9J1weEJX4c4dhI7QFZcCTrKPeEhIXBEs8WLOchTYY\r\ngtZT4LscwbsI4/CC4RqvcZNBVjHefAOMFa0=\r\n=DKPt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.49e17a8_1654613829731_0.6580898219098041"},"_hasShrinkwrap":false},"1.0.8":{"name":"@usedapp/core","version":"1.0.8","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8","_integrity":"sha512-6j877hph0YCUAeF8nw/xdevuahLwhaWXZePJhfKaFI5BStMTPPJ27tAV8L/Z1Htd75Hu91/knlD/sTpE3wfvgA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8.tgz","_from":"file:usedapp-core-1.0.8.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-6j877hph0YCUAeF8nw/xdevuahLwhaWXZePJhfKaFI5BStMTPPJ27tAV8L/Z1Htd75Hu91/knlD/sTpE3wfvgA==","shasum":"3ab8e88e8c12568afe699c06d7a0f0696e998d87","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8.tgz","fileCount":2186,"unpackedSize":2930034,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFY1xstl13X6myNhT0Pv6m0FK4N1y8FdGuVKV2xzLdBDAiBY/vvlSsspTLnOMmbEMJXp4ZB73j0G11hy8T87LYmvzQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin5D6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbRBAAl9zVQthZhqIQoW2v5/NWnTbqJAjEwtJgZiiXn4u5xrrMLdWw\r\nZ93BL3FL3neMNdYc3gnV5M2KnoME7xY5QD+7D5TDMTzFMxWc4jhj8EXElnT/\r\nbtp+CLeyKWGdmjE+b+PwMCAAcR3UFt+eTOffXzqyBt8nHXNXptfBWUdFTF8V\r\nGKnmdHO2vTz/k6aPhpxRTPfIsQDSVyARzyT9jDhMtDe6pKImz4cHw5QYWLAI\r\nuXTl7MiT6M/+k2MnNsBpHxUU7WLae1MVyokDz9nt8dA4uVOLm2QEXg05bnzm\r\nblK4AUzkJILJYaQCyNmDUUP/fgY+sj3mvuR3KCN/4QaYjwHOmg/H1Zc2QrkG\r\nzFet5TvvDh+dUcQTTx6N29oJG7ajURNGScUHfCu3ah76a9+jX4f31LYAo04j\r\n/iD2yqzdu4RgylhSYU6v1Oq64uXrVCdov7U+6pr/S6+SXYdEM3HztSqYlXDO\r\nAdPKoKLs9g1sL8+VX/epJGSNOhX3/DEFxLnROPQDZKGck+1rSx/twF/pjIMt\r\n3W+6y9urXu2JV/Jzk6C2XZaoQI95yPYLXQkOgf9o3hTb2ZENxtNwDH5+ProN\r\nFWMgy5ZTe3zb+0YPPIU4Xr1VISOnc1hxLwFaH6sFbg/+znjQLUnnonoOR2hu\r\no9FwM77Y6buLoD4Iz6Xh0eb0sI84XuQwuls=\r\n=TMmn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8_1654624506528_0.41141974882491605"},"_hasShrinkwrap":false},"1.0.8-dev.71df0c4":{"name":"@usedapp/core","version":"1.0.8-dev.71df0c4","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.8-dev.71df0c4","_integrity":"sha512-WmRTab8Aovvld7BwesYxb3T91bM/Ym+WZKRl4+gbk42lTseNsxbzpVq7YD0PD/W2oWZdSqJVXSs+SCq+pT7bug==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.8-dev.71df0c4.tgz","_from":"file:usedapp-core-1.0.8-dev.71df0c4.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-WmRTab8Aovvld7BwesYxb3T91bM/Ym+WZKRl4+gbk42lTseNsxbzpVq7YD0PD/W2oWZdSqJVXSs+SCq+pT7bug==","shasum":"c7b0f12d4689f849d7932eabb869d089a6496c31","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.8-dev.71df0c4.tgz","fileCount":2186,"unpackedSize":2930064,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFDfFwCsyM8yssz5d/qzjvu1JRgcsC/wlJf1joiMvUUdAiEAxYXMU/BnGA2B6uBwx8PbGLSBOYqkyGvadDODQoCtgxw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin5FRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLyRAAhfBWcU4twOTS3sX8vWqBiEudLPot4IVyulheOXObEj4+/kzd\r\n2HROn8hcBgVZSoq1NLnS6IB1Y0rLufZXyBuGbsZWqibZVi6yn8wVp5luiItY\r\nKWkaw3tTS1AENeBcso01+v2Jdv+djjQ99I4F9LvMdypu0Ej6S5nn0ypsN2F+\r\nb/aWqLqJFA684P8HKIyCqPYXaH+/Txp05Gwh2ZUIeXw5pbdhrmMo0075t0+T\r\n8+YN0vQivSvFXNhMrLXC5chrBU923q4WYegjtNpzJHijMxjYaD5KjbYUBv8P\r\nweG7t4wXFFmkEPX8GqLMr96V8sdvlT4JxoiICheHn+NdcHJVVWHfuYh1Ytgq\r\nO9uXMD/sTJEhkUM4t+7KhhkFIX4RHQyD2gz+THI/QeR+ZDOCb1OnmhNxZCys\r\n9rszPrLsd1D0uZ3PVEu2JkpXhVV/pw+dYnDqljcrPj9zxhZYfwULBHyrmM1K\r\n9mZ3gvVeqBbghBiekzgFSwp4XBAkZRvWmD0EuLHw1sbBo8PWhtgq7zhaVpqj\r\nHfl+Cq0FyWT00cqYaq9kdBRaSAMUGGP22INRScava1My33GL9Rz9ndm5jtGW\r\ngqUR4dDe5/SSIdbNJcE1IbMdYWhumkSj78qpjRCuIWg9gwjw9V7BFPeu1VNK\r\n3H3EbMLLaZGK5TQv6HCa4myCL1Jv3q2lZ1E=\r\n=QPXh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.8-dev.71df0c4_1654624593632_0.6839041628453253"},"_hasShrinkwrap":false},"1.0.9-dev.c0f6984":{"name":"@usedapp/core","version":"1.0.9-dev.c0f6984","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.c0f6984","_integrity":"sha512-/1soLVr2EMdj7v48/QLoJ+VdxqBZbGKf11hozI3XUr1bOl3OCJq5xN9f7NGqVJ+HZF/l3ZriVKCj2HZZQuI9RA==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.9-dev.c0f6984.tgz","_from":"file:usedapp-core-1.0.9-dev.c0f6984.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-/1soLVr2EMdj7v48/QLoJ+VdxqBZbGKf11hozI3XUr1bOl3OCJq5xN9f7NGqVJ+HZF/l3ZriVKCj2HZZQuI9RA==","shasum":"446023bf2eed59fdb98b6c505956ee2a836302dd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.c0f6984.tgz","fileCount":2186,"unpackedSize":2932996,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCla/7/VeK55RNPJymi7BMpgJjgNs7TeSU0xZaU4Y5ZngIgXwIjKNu33kUh0hQQvZMxPWP6jU0JFgYV+LEbDr1Bfak="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioGbLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraWQ//dmtYs8BQZOkFRRKWADHtExtmUbacUMvvyJ23Ra2Z9ae8ulOF\r\nC/fjeciuJzgFEc/HgOqBwyeoVTbDFQ+GxI5ZnSpR62MbuJgh8F57GmsOOUZC\r\na6xvd5z7TBDVFtxEOW37hiLh22/deVxBOptZrAC87OghErgKPq5otQMB0rxo\r\nF4Ebwp5iB/qy4uamatbmfZIz3v0CaFz9LjSXytzDeC/RV8W10DQVpaU11jwc\r\nGJF/NxxE6Qxf2LjSgR2owZEPyZI4qA9s0ZUWghVjLTyUWC1SGAxOuP1tRWN4\r\nCa/THeiJiWwLkK9O0RDwagUuQjYj9nu8l/R6TlHwdoNhHgIA34KVo9FwqQw2\r\n8qO8UvvepE5C636BZRSXsFgK/O1UQzk9AKVZ2Xy7f2KCPNTmbwfDHAWGkxyc\r\nB3ZpBYkWlfaNTuYkTR7Rm3Czvw0+NhZR/X+t/EMlYAdi9MzLabjEsN0kavm9\r\noAyFzrJe3gczgf47C7PM3N2ux8YFgQu40rDYh7KE7fOTuBEJJ2VJIWFdKRh3\r\nOEbe1qdBOlnLo+1SAtfMXYSnlVK5XeQQCJMh1ld3ejZGOc/lYaiLZv8tMvHZ\r\nnYBGgvnDnlUGyIYdDZ3RbtpuPAUu7x6NL2XJQKrbGz6EtGIurLxTb7udoX7Y\r\n5vYSP84LlyCin6nG9dlVYW7zDzq67a41Vh8=\r\n=2snE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.c0f6984_1654679242970_0.4443654349454642"},"_hasShrinkwrap":false},"1.0.9-dev.59c04f5":{"name":"@usedapp/core","version":"1.0.9-dev.59c04f5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.59c04f5","_integrity":"sha512-7icWbhZeGc9axfBCsLIAJiInguXhDw2d/rvJmrbycRJe7eagFJXPAFQODVfvFADkNGWR9q0wIPk6ndv/6jNctQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.9-dev.59c04f5.tgz","_from":"file:usedapp-core-1.0.9-dev.59c04f5.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-7icWbhZeGc9axfBCsLIAJiInguXhDw2d/rvJmrbycRJe7eagFJXPAFQODVfvFADkNGWR9q0wIPk6ndv/6jNctQ==","shasum":"63a3ee45d820957fd74da5a114d0c2631e343830","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.59c04f5.tgz","fileCount":2186,"unpackedSize":2935224,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEn6Cz0x/7Ya/AiciS60oz+Q7Wd8LocLdCreRgrLa8ekAiEAyrwNam5V1qTDW6HF0vYodHjUyd6N+q2mYzRJMV/kGXs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioJI6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyDg//c1hgnb77oGYK5Ysmnp70cdw+GROuHHl3NzrCd4ySpYny8wT+\r\nsOWefJp/+r39HaryEdVEQpZhwVYkWPhxONorSy2cKekfCz3zpnN9CMi6CnLO\r\nseJEeZJhiS2KlzHIYB7y1URE3lDomCnPBGM2t+ACr9+RAUyLFgOwi97A7tig\r\nD0UtddP3YILph3+pLeTn+2QZVhUF2F5aVXeXOfb8DdQJ5YsqkAt6y2+bq3qQ\r\nHGfNAhdRRov4MUhc4FcsJxfzqs9ngNozDf3FQKkka3/Zxk+MwXO8XTljxHhm\r\n5Dx0KvswPytN74R1cJkGa38tN2DuoN5WtL4iYTvKFXg5nQ566W88MB2nVYGn\r\no7RF5UaGDkU7jzfYcFiosF47SKaTX8eYlUEalLQA+icvM9/Go7FrHS+v4sqd\r\nviIaxzBvuLzItOnvgct58vcJXSmt4h0jF6IEE24ajqJOljNsPFGR/UNddlp5\r\ng5DGq7YIK6kBFzD1Zt1Ozf0P3ycv5npyUnETOM4pcN+RRmuZdeyDr5U4C1bg\r\ncYhhHI5UyPi/ltgEOfG45q0rOrgjqdRacKtC60Kzb5E2ODiYNb0iQJU2gSZk\r\nAer3bwNpSShVIiRZPOJbKgahQkEIj/L9+dO88kkasnVWBYhUpyakSK62Swvg\r\nlxMrgGxgyBqAVK3Ot9b21pbtIV4VDBslKDA=\r\n=uoZW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.59c04f5_1654690362393_0.43539189704834413"},"_hasShrinkwrap":false},"1.0.9-dev.830da67":{"name":"@usedapp/core","version":"1.0.9-dev.830da67","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.830da67","_integrity":"sha512-R9SacSatXm5eFzOQrh/JcD2p8GcLl0w0UtX1C8fs2BMwsat1yi8WJustInEEWdf7W491G8wRn+aC6ak5ObhJBQ==","_resolved":"/home/runner/work/useDApp/useDApp/packages/core/usedapp-core-1.0.9-dev.830da67.tgz","_from":"file:usedapp-core-1.0.9-dev.830da67.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-R9SacSatXm5eFzOQrh/JcD2p8GcLl0w0UtX1C8fs2BMwsat1yi8WJustInEEWdf7W491G8wRn+aC6ak5ObhJBQ==","shasum":"91b742e3a92a3a7d96fc6bfb35cda394dcd00077","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.830da67.tgz","fileCount":2186,"unpackedSize":2936558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHgLUStGar413Cqslwj1zxiB8LAuOFsr5oRD7wg1vRVYAiAJaCsdvMHwrp9qjxbWa3VHEjL5rVQejWi/Dnlip8ZucA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioKG9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpughAAosMHWtYHDvb1lNTvN+nYbEIch7zBr9QvnNcwZ2sTteT5VSk5\r\n3l67QcFFPsKkE3SQVDV7TN093UFDHNc0lwbpGqih030Gt7LW0/60HfTF0o82\r\nRPBi4zKw0DbeSHcXGMl35BCIkvAHqhmS/OWckyNcBtiuc9UixPn6ukqiW+YI\r\ngI3MX61C4Iga2UF29OmBzD8GbRHrlLPUGk3wZiV31+rLV0dFcsvFowWE0zI1\r\nDDVS1pxf/TPpkFgs1u9EAjhwLAJVl/Eo58k4ywHDKIV99Xze7uDlhytOx6qc\r\n8P6ou6Rwvxg59zg5+fBpeiVt33hdjoHQF7nsFgezpqrYZUGUcv8xd05+9t7m\r\noQ8zusuRCi/SJc3SckS6GICBxmuEVeQ5a5Mlj9dVnvo12ToEbbzOxx2cvUAX\r\n0wc1msijaPhWmN4wsGhpGMYF5x5gvgjuEY2ySofaWLVNotAUth8ZPS1RiIYg\r\ncanFbRmlxGG1qHUKkEXHE0h09l5ctYD1N6VLkFFw1YF/8slpROPn/m6ZEV8w\r\nLvUI/dizy/U9QXlc2QHB4eVoi6G9O6ZiXkT8WNwxA6KXxeoUD4oju1YI7XAr\r\npzWRaYUhoG8Fc9BLcqgeFfkZXEaJFa40NczIf/0tE61Undruhhed4QlfDpnG\r\nhS6Ewfo7GD+hs6zAmkmf56ugI1dkWYhdot8=\r\n=f2jo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.830da67_1654694333050_0.3863245190163407"},"_hasShrinkwrap":false},"1.0.9-dev.a6c1f73":{"name":"@usedapp/core","version":"1.0.9-dev.a6c1f73","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22","react-flat-providers":"^2.1.0"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.a6c1f73","_integrity":"sha512-isqZRJitUuOLT9GybUS1dHNB5Pc8JgtU3sT6GAUCrp5JJT8WO0MkLHGQJKCaEj+gtLmmTWz/vH9b5iyREs1ocQ==","_resolved":"/tmp/bbfd7cb4a1104e7eba51b168ac0becd1/usedapp-core-1.0.9-dev.a6c1f73.tgz","_from":"file:usedapp-core-1.0.9-dev.a6c1f73.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-isqZRJitUuOLT9GybUS1dHNB5Pc8JgtU3sT6GAUCrp5JJT8WO0MkLHGQJKCaEj+gtLmmTWz/vH9b5iyREs1ocQ==","shasum":"645e13c764d5dcc9c4b82d80e950291829a3ddd8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.a6c1f73.tgz","fileCount":2186,"unpackedSize":2883628,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY3WOW9fmr0Kih/7HgAIicQFV3NJY7oWktUNUnjRjJ0QIhAM22o8YiG/q2f8EMmQftq9fhTmCNdog7SiXZLFfF8Dnh"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioKV+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYvw//UbmeoX642regfurJjFsl2F05nNiiFv0y3pLr7L8yAhH6JwD8\r\nzuVtIDbHVwnCwbmURk9a4uV0hhyqR0gVPUHyVw1sYAKhqcCYrF3TIv4+qQ/Y\r\nPPiitQXLzoOA0AzH//y34tSfkwkSu8yb22e4zQTo6CxzdGxtfONO6U5lzd1o\r\nhmuL9lKE1rgvNQkvbvWMiPIb+QBIYht/4SW3fxovrzDA0p9CTUZCTyFWnY8s\r\nUFZf+RhXogKet0hdFeBPsfxVZoCgZjz8NiYcFAWO5NsM0BpNH2CTDrksMj8a\r\nyz2Wq6wJCzTx3ECMZbSlrXeai3WdJQBatbVXCU8hRJyyMKUqPbvOpBiAsk1N\r\n2vgnafPrDqkGKWdSaolIXN7FASWcyc+KzPtbTiVgthoFdaAHBzE6WROHGiqD\r\nGPSVkJoMPCDI+dZaJdzCLpMDQmBr3mJ3sWWiv7auWIDOAz84wwTmkml9cWnY\r\nc5/KKYD/IFOTg8eALhmCljzY721g7vB9GskyL4UYY+qEq7HyTS/c9yP4UlAW\r\nmd9YUmXhD47ZFHhf7ajwDitKh9p6yhJPUtFA8qT6kZanPCREDYR2CVT8coWy\r\nedm9vBZiPfYu5esZahsb5NjRxHX38GzCCI4h4dP8pb0xy9BJXe4xe8NwNulO\r\nHu7Izhq+wblCacYO0tbZ3dpHNnZrhc6xwow=\r\n=Clas\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"account@ethworks.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"account@ethworks.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.a6c1f73_1654695293791_0.367206405570248"},"_hasShrinkwrap":false},"1.0.9-dev.2e8681c":{"name":"@usedapp/core","version":"1.0.9-dev.2e8681c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.2e8681c","_integrity":"sha512-MnlhgjKlQkKKSgfMD2yMG2kpdN5uznWwprLxjoOCVUqhEfWVQQ2ElD7PE0VSjQ40MJOxkbG1UoKoAo50dc7mag==","_resolved":"/tmp/8e5f96a831d5f83f8ad2600e0b1d8926/usedapp-core-1.0.9-dev.2e8681c.tgz","_from":"file:usedapp-core-1.0.9-dev.2e8681c.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-MnlhgjKlQkKKSgfMD2yMG2kpdN5uznWwprLxjoOCVUqhEfWVQQ2ElD7PE0VSjQ40MJOxkbG1UoKoAo50dc7mag==","shasum":"80e82fec7847d49d33170aa808cd3fd892b2556d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.2e8681c.tgz","fileCount":2186,"unpackedSize":2886863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXPb/Iv4CWST2F8eOZdxCeles14UoJX54VHaJYyi4WaAIhAPubrMoA3WlQM05zU49Ld6Voi6//5aJOqEVb5gBpm4Pa"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqcK4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTBA/9FmZMOCMXXGR1q/f6E5seZ8gczyKUV8XZUkYARII6UZrzjsUy\r\nk1WN2/D+SnIRIEMbMdhBWO6aC/VWYbNXfYlC4yyAqm55xvkbRcURWAuCsdvY\r\nGvCniXM087pF7mCE3t767YpGTpxH4XOoW4NeE5kxO6MTZOtHiR4D4qdjgyda\r\npI7jF1Upfk8iHW/tSKSuI+NEv2o2ewuIWFN+LTLpqv6n6BW4Q72+f0TayWMb\r\n/PiP4YPSzTjn0fF8mYMpBUoZu1ef/XSwSpG4rmmzv3bNvUsb5PLiAyCyx2RN\r\nGY21+d3aAbxFQTYSZw6QOtBfKQJc66X2aKH2m0cTABmXEZQpUzhJ/V0up/cX\r\nAYbaexy6Mcs9f6YYLWumzVWMpiKwPhE7krm9grdMQ/V7oGf1c1eE6Imkdwub\r\n59U6Q2sq7P/SglNLT52KM2kEauHRa8Hv/qkFU4ix4a9Kn5DH3EkxJKdYaxZi\r\ns0L5+7w5CU1FK91U1a/RvimWMdKu3Xm6jK6U/x8lUfdigCaqgiGK2jdDR62I\r\niyBDl94tm7wQpV00o1Z6PE1nt0xwyDM3BzRAvVeeNwBba4th6ROhfKfRG5dk\r\nmlfAFiJZHaLHCTe4bhJbtM6CMtnw1wFwLxevAXDi4Us9LlAkBiBnCiZ1vUON\r\nNIHMiJCUtPyYWHGCcErqhopMaKjiYQaxXgo=\r\n=i5SZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.2e8681c_1655292600729_0.2139274987071349"},"_hasShrinkwrap":false},"1.0.9":{"name":"@usedapp/core","version":"1.0.9","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9","_integrity":"sha512-vGugFfm55R99mwuJXh1enpiOgDSWOZ2akZ8E2nFJhXzqK6WlTkP7zZuKatlde10X7dLbVC2FTCx3ZhrtLWilIA==","_resolved":"/tmp/eaa4ae42d2905e7606f62c028710c6ae/usedapp-core-1.0.9.tgz","_from":"file:usedapp-core-1.0.9.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-vGugFfm55R99mwuJXh1enpiOgDSWOZ2akZ8E2nFJhXzqK6WlTkP7zZuKatlde10X7dLbVC2FTCx3ZhrtLWilIA==","shasum":"f0f08d75be420d9377b3853a4aa99b4e99761cc3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9.tgz","fileCount":2186,"unpackedSize":2886833,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFgp77ZMmeXjPHoCOuof5o6rJF4ky2ivcgZwr1z+hU4AiEAwpPFuBZ5xVu7JMWz4Ldc0vIgpdyqMeIgjQggyt9Atno="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqc6LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZkw//dSGmsw5lwycTCaN8n6h5d8gA+nRc8soEqQvWEP9x0pgqDQBI\r\nOF/zYu7SY4P9d/w3vw4paJVl4cr7+yfGpm/8KmZ78ZAjU5YzaWNlLhMAjOPq\r\ncDcGFtG1D8bmrbU3JnzW6vaFSnK3/+gVcUv+uerupT/ZNYoUMwz+BOAB3ocY\r\nTQ4xzDWGFwy9Yn0lBfz7lcNBgg/q4Qfpso9Sl4N1rmvj22BfCFK6oX6MAcjJ\r\nlrbeqYZBHbtaVTwtpHBmtI83bubKbYihMNgYf7PB4fqPw3i0mkzvEqsWsCBm\r\np8qo1LIV4ymU3jbI8veaRngbeyldV3BXgE4V9N+qwbdAbeJuzLXRzKnw9S/h\r\nWGM2L6cIcdZaaFoGvMtnuwXc3cB6lv5ByWSuLgN935/NBgux8MRsGlSd5xz7\r\nVb+DXmIq9kFdfuFsgMVdnyoRDzAmRS07u3EIwxKnrhHfY5NKRZjf6k+Xz5UC\r\nX/QPNCHc2ALkCmoMfrLgzAwIJvVIljdpZcCaIj9TvMZE8M+G+eAM/QJDf3nE\r\nqHLhM2B2Jj5KQi8nUV8mXsX0roaQpO5itFlzKTgEkt8Gn0FOLs8JwmOZk9DG\r\nGiyFoQ30wVD0cJW7a43D5STT7dGqTbHd17wKru0VZM1PV6MZqeNLiZlhrwGS\r\nvJsoXmV8xzi7JzUb0acqUaqJfk83YKY3/tI=\r\n=PGZN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9_1655295626615_0.5058659941621468"},"_hasShrinkwrap":false},"1.0.9-dev.ead593f":{"name":"@usedapp/core","version":"1.0.9-dev.ead593f","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.ead593f","_integrity":"sha512-TyzlXnZNPPuKetu1o+NCc1UeGEAUmIdJxtXVUqixVrYvK4N+pAXrYFEfbhZ3ofkvz0L985uTFk05OOOT94WYZw==","_resolved":"/tmp/b5496c6d86f6d2eb2aeea3fedaa1365d/usedapp-core-1.0.9-dev.ead593f.tgz","_from":"file:usedapp-core-1.0.9-dev.ead593f.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-TyzlXnZNPPuKetu1o+NCc1UeGEAUmIdJxtXVUqixVrYvK4N+pAXrYFEfbhZ3ofkvz0L985uTFk05OOOT94WYZw==","shasum":"aa1c7ea2311ee2942c39b667685758ad07825503","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.ead593f.tgz","fileCount":2186,"unpackedSize":2886863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICCfYd8R6++/RGMbevMoIo1znh/8+rbh7upnGp7fKiRAAiEAl4VtINK0tzpgLkAlABvUkkS9B5wHhZq1eZvZ9EzLmVI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqc7ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJug/9HbaOA2R/j4kHZCPSXJ7+fSmCzuqMMeycqV3w2RaTQyEtAowx\r\nsdrg8kOQqSz1DdL/aTJMTZSK9XmSftv1H8Pqv4MBmp9hB8HQZoDm4aSUVxp1\r\nTgb3izvOUe0+gEkNk2ez57fREgg7knS4fRt8OJpG3/WHUe6miBDvDidkQSax\r\nFh/ORMG41Jqu48PQiURO0/pFIfUZxff+bTQU7VsWdGsAF/wUKvQIFMuLO5KN\r\nlSgccTLmEEcGVH4Gxz9hr29HX52dPUrTIqA6Q8q4DX66Z07w6KMyz0Tber9m\r\n64jDMTyB7hjbL2eVCVdLSzrr2n29IZUQngJ7Q12QC+i41Zf91r0WjrW8fqGv\r\nZTA0F3f+ebbrgktmcC26BSe7G//yOYwxuv4nTRzON6P5Ll07wEgxJ0P4rcJH\r\nayFJl3n+ES2ojcjFMJDP5eS6HxH+yIeAfrcGpamRt/0rBPHZ4CNeQ0ts4oaU\r\nQCCJl3Lxi2t5apvM1f8zsu3AZGOcWNtWVevdBA3s/ERvbpjb7k+ccrxffS/R\r\nJ3mXUtfnxQiLlZ+m2rx8ftK6P6Mj2+dgy8wG9ELwtvg6+erVbMiL8b/NhKcC\r\nYPS2K2CPwzzzgwmDFqIf8oHCI73KRoo/qEoIkuJZ2WwPeYTsrq1m+Ykh+qqW\r\nOQIuKvnFgjz68lHonqiqSVcGy0Ra/KrfPgw=\r\n=8UFG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.ead593f_1655295705261_0.24278321159907046"},"_hasShrinkwrap":false},"1.0.9-dev.600742":{"name":"@usedapp/core","version":"1.0.9-dev.600742","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.9-dev.600742","_integrity":"sha512-wAmlxqhMtIt58onIaGlUB2cwVr4SIW2IagTDOfLmbnrb1O2L84ZcrTg6mSEMUGG4W4bEf8Bt+Q+iUV+giQFKRA==","_resolved":"/tmp/857fac918b7e287a589647a08aca5b05/usedapp-core-1.0.9-dev.0600742.tgz","_from":"file:usedapp-core-1.0.9-dev.0600742.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-wAmlxqhMtIt58onIaGlUB2cwVr4SIW2IagTDOfLmbnrb1O2L84ZcrTg6mSEMUGG4W4bEf8Bt+Q+iUV+giQFKRA==","shasum":"c358bbcd8fa960be0ea6385b9888d603d873e0f2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.9-dev.600742.tgz","fileCount":2186,"unpackedSize":2886863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGz1MvrhnWVwSUrrIELzM0vN5D0exP9NUmhWwO+Uylc2AiEA3pY+GXesh8ebyM70+gQRYRKuR/72vG36ctWe2AwTSeY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqdGdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3sg//YYRse10hMLh+bGcCor5XwBQngZZFC5ZD7scFVuc8AUDQ+MT2\r\nhY9Id+56xPGkFopa7afw+tMxJCLziaNLixQUQF8QINmUHoObE6800HjC5m2d\r\nAeyBrufP6gX0IFrHxy9evI2vkf36DMRav0J3aWYwkbYmuLypPTZhuStGcgkT\r\nJSAE7dwYnx4uwFuds1dzrziUeDJRWPL7yWEsuWWC/+3nlzADfHu0fCbGPJKr\r\nqFca3m1wvTUqcVVpTXYPbmy9PmoLAd0Rl6iSDuGHA5sUoAsiLRQ+oCSEg5hA\r\ndIk7A9w1ud4XNV98ku9A30OjNo6XQDAqj77InqIhOL32luSJEFH1xs562T9i\r\nyOG1QaxXdnBNWoXINyxSwOvJQdGWzeScIVqYqjWFPzPn5CAcCn6Sa/YI6pWn\r\nBJsec/nG/Z+r5rsSEW5sVvnv8Tmq6VLg4VZJKhCeKET1gQM4SRMx0DT7SW8v\r\nTTE81NzXMSW6q1FXl1gzgEnIrwwzd3rD1OBNUD2au+lH41ZcDod5fxImx/6v\r\nsms/8jGpAsBDluP0Klkk+57DIl4miiS96NGULjJXGnk1w4GUWikKHeLhQMQM\r\nCzXdD6WTIzu6epOl9ypEPpA341Vr6ph471YP7t2tYOtlRl/16KTHvkFZAGEy\r\nDHkWNfx7hHn8RauNDbY1okx0z2lHSF6MGu4=\r\n=7fY7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.9-dev.600742_1655296412729_0.7854077410979476"},"_hasShrinkwrap":false},"1.0.10-dev.dce51f8":{"name":"@usedapp/core","version":"1.0.10-dev.dce51f8","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"react":"*","ethers":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.10-dev.dce51f8","_integrity":"sha512-DWklpYt6e9qEHWzLn5iKOc6CRiIKSjZV51YAh11ZWZDpWV9Y4sLwpeOgPN/s1Wr8ZjgQc9CotrHbncdgC6wtVg==","_resolved":"/tmp/cda06ce50c47681cf84e1258b486fb7e/usedapp-core-1.0.10-dev.dce51f8.tgz","_from":"file:usedapp-core-1.0.10-dev.dce51f8.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-DWklpYt6e9qEHWzLn5iKOc6CRiIKSjZV51YAh11ZWZDpWV9Y4sLwpeOgPN/s1Wr8ZjgQc9CotrHbncdgC6wtVg==","shasum":"3691b6e86ab5efda638d260a71d231379f41f31d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.10-dev.dce51f8.tgz","fileCount":2186,"unpackedSize":2888158,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD17OfEHFxA3a9t2n3dZ0dXMn5H74Uq0y+EsSDEbs4UCQIgCIOwE8tHgCmjLt2yE1gKqEMHTPfdF+QIoAfDjjMT410="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisFzeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwdBAAlwgnzn+EOQac7omFKd1ztKF7QsocTN9dZClDKdb86ScVDN7n\r\nUYAzx8Fu3HxB4Fr1Ts8q9UbiH3IbNxPzliaTO48Uev9NEjoY2KZ7s4a5+C2W\r\njUpO1l3Hibstg2DvXKRTdgunEiKvO5l8KMbu7cnEpQestn6kX68PhavcU67j\r\nCqBXvXvXvn8d47HaVP8ZwrzOWQn6Io0rlXFN3nVnNmj5L6xBxhP24odxt9wC\r\nyewZlQpQam8VK2ClygsEPPJgR0/bGFlnUUeqRFSOvjjd1j/IdxOkk81ag38F\r\nsNlaxOCww5UgLnikzcY6zNZ3TEr+aDxo4QGSaUSdAwu756msg6kUzpyIpnoI\r\nchmjej+XtCQ+CJeqxgjo8oASAQJyDWlMWJId/aR8XKBzsgnP+nhIeq/OmEv5\r\n4SMVvDvq7wfpKntbFhtRJuqUvbkpIi4+N3/o1aIbBmnop9zq6oLn12F1L3yc\r\nXEr51sRQxR2CUEU8VCxvc3soTJKCIWbO1sIe/EeZDaflPIAPPz9LrmdeflH2\r\n05UpojWpgYzICxFjm4l+gQfvhdsCBU6JnMrwnP13SgUmuq74M53R7LgGVSWW\r\nS5xZjpuqAHOHoYsCgRBM9/O7yPANoVxmaUr81XR9OdSoBV/SfKYh5zxfnic4\r\nixZuPmpWuQwiMglVWTOyiTG1T96DC0LPDU8=\r\n=dOUC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.10-dev.dce51f8_1655725278000_0.29663905191830353"},"_hasShrinkwrap":false},"1.0.10-dev.2423d1c":{"name":"@usedapp/core","version":"1.0.10-dev.2423d1c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.10-dev.2423d1c","_integrity":"sha512-83jlL3O9vkmBRxq+9VkaXCsAlPj1cJAFM+y5p34i8wgO4R1RKeMjS3LtwcH3vmybekYJeDHKw+EqUzpa8lyvBQ==","_resolved":"/tmp/1663ef853e64b580da8dcab9647270d2/usedapp-core-1.0.10-dev.2423d1c.tgz","_from":"file:usedapp-core-1.0.10-dev.2423d1c.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-83jlL3O9vkmBRxq+9VkaXCsAlPj1cJAFM+y5p34i8wgO4R1RKeMjS3LtwcH3vmybekYJeDHKw+EqUzpa8lyvBQ==","shasum":"af04de9fe5a97b8ae9081ec6a1c0673745da0fda","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.10-dev.2423d1c.tgz","fileCount":2198,"unpackedSize":2917274,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF5hgYxwae67A5+yMO+TmpyxsK66k3ILKcLa9MvBWVPxAiBs8s/ucFske1kUjSEkxd1kDmcf5DVNaozM4CvjPjPXFQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisHnOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSMxAAoH0fVVmb61rP2s8YFwn8jk6QJEFWRaBzhYVW3nKeS8jFyuWQ\r\nmINmd60983tMD0inFUEnl46g1x7ClZ4A7vz7OAY5j95N8tG++jdugnlNawFp\r\nh5j15Bam+428b9W2ezTZav81XEJIdLxfZJegIyAEamMcrTMPBHgEBuUXhfe3\r\nUmi8FqUTTHX6EAK5OLYdD2TVn3Sj5sAJ/JjZszYUc6wuJU7gNejWzifb9Z7/\r\n/lLm3BoGD4tDpBZ9gNqdLNDv9nXp7vAOH7UuO76ft7xJVMCp4lCuljo/LHft\r\n3eXj2DfxGbRjoyUm/kGPIA4SP3FAXpVTyJ69FaoEZl7tSOJndWdJTCPIASsW\r\nn8wNZI34q2XhDt4o6QMIedtGaXQ6v4W+vGDWBfH9B6UE2mnYc4NpvWKujxsF\r\nV5s2/ZfR+aLLYZgmSby7Mhci0afkkw7Z5Jn/hxiq4JSclxgRBpN0NZ9TIRrk\r\n5apmUC1igIl4yPBG146MnC00IdyJSzdZ8wyZA2th1jgSPYXpCZeG63wOa+g4\r\nRLjB8P03VAqCAffeBvihodZZbuJoBNb9/WkSpyuac23W+i7my3ZhMHxGWIf8\r\n0rN/CHebbKslCv5py94B5cAgCaAcmgYWbiFV2ay9ldRZlTAj0P6rHXpVKRz9\r\n8AaYZAMtUG/HZRzXlVLMmdpYhOuBj2QygQQ=\r\n=FcyR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.10-dev.2423d1c_1655732686765_0.7887164338730583"},"_hasShrinkwrap":false},"1.0.10-dev.270422a":{"name":"@usedapp/core","version":"1.0.10-dev.270422a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.10-dev.270422a","_integrity":"sha512-ixeSgJTCSOWtm9IJLWdXWxo4AUe07253BdHxUz3cuHw+WyL2gy+ermgyhs7EBy2A6e4JANuC9TSL1yhwg0xxuA==","_resolved":"/tmp/501585b14839ce8dacc42ab72c2aaeaa/usedapp-core-1.0.10-dev.270422a.tgz","_from":"file:usedapp-core-1.0.10-dev.270422a.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ixeSgJTCSOWtm9IJLWdXWxo4AUe07253BdHxUz3cuHw+WyL2gy+ermgyhs7EBy2A6e4JANuC9TSL1yhwg0xxuA==","shasum":"885e22a4fb36cba34cd5a57989c00bf8acc36643","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.10-dev.270422a.tgz","fileCount":2216,"unpackedSize":2929849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHtwUhZmMLXoiBSeNMScTTajrTJPncebkxkegQ8jfoOlAiEAyzCYWqeDlQhr9dFX9Lsxbc07FVV9szPf5S17LrWnJBc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisXx/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7TRAAiwsjnLgGx1ypMNLNYvf7f4cVwEiT9i3MD5BAth5sDAgiyKc/\r\nUxrG2Q1xda50Ce7zHQtH4VrdZ75NMXj5xxXCAoMele2d7VL567kfA91MGku9\r\nJFw2eDhRoUUV4C5xYmTAiZhCFIXHQIpUMFT3cZ5bABPt5nHnnUcMlUXXUuB4\r\nB8PxU7WLy2OZWZcpMjUB0fJ1KzmNqfNGH3wvHc/F/C0hQowf3I8DmWb7VziA\r\nv7nFR88lD/y1VO9oDpO346JndiNO2/Ie8BwKovynYapjauESjJaPKSGF8/kN\r\ncwhVP4SH7aIGov1+zh/qxr3/iZPQad/2k92bQJ6ZSc67lR+qXbGK9RYDYNBN\r\nuI4MpwtsT74y4ssINqP7G1knNkHclzDrMV4BodBNu3Ty7Te2jLfJGSUorjV7\r\nV5bZPS63L8LDZ7vd21IUMbQR0PVaFKXnWCjBHtZGF+wfX479y+CvCXxGjnAy\r\nRSF6K8hlVmw05HK0n8xJooaWTWI5/qESGs+3ueVAsP8wkYU38n2+qo4Pv+1h\r\nPuN5SZkGGy2JTFTY172ox5LQJE0Eb+dBspfB3MC1XO4mcZnBiOp3XcGSbuF3\r\nm6/2R1VKzYqlyOUYJG3+W4pYelCKqs+m6LNsgDFFxxK5MPA1JhC1+Qf4/X9a\r\nQ2//RSBFXzwXOZy0WEnvrVb9GR0LwT1B8/c=\r\n=8OfP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.10-dev.270422a_1655798911353_0.7853095987706133"},"_hasShrinkwrap":false},"1.0.10":{"name":"@usedapp/core","version":"1.0.10","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.10","_integrity":"sha512-RzoDHrhB5PDnM0523NCisAxVWID66tqt20Di7cbPpHM83FPAMxJulYcLo5U+dQJBx2O0ZJQuWxnLlGbpm7LhLg==","_resolved":"/tmp/c32e4dbf4cac783c6f0b64d0bb1c44f0/usedapp-core-1.0.10.tgz","_from":"file:usedapp-core-1.0.10.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-RzoDHrhB5PDnM0523NCisAxVWID66tqt20Di7cbPpHM83FPAMxJulYcLo5U+dQJBx2O0ZJQuWxnLlGbpm7LhLg==","shasum":"6509c2a0c04ebe9a8dbe9a4511dee46dcf4de405","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.10.tgz","fileCount":2216,"unpackedSize":2929819,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC12mu53pVXBOd974WxxHPXp0ABtOs6wP0c5K1GKonJfAiEAtg+MkQQcCy2IbTQTpSulBMZPp4I2d+vzsPNwXlU30WI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisYlSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp87A//Sy4L6I/6ULuZDP67kpuA0UvPZ2uQWEAVo5/b//XN9KvBVLBT\r\nCza0dobqSnQrJdcUed9Ufk8BVW3/qm3u361Bk2Srw4+zv7t/xQld6Wo8fvq3\r\nNOgiQw3sXR64WZDdkzVA/jv0IVK8q+jny92UUUuc/1hCHk6eNkw0LuOSXZac\r\nACIeOWXuL+hLy7UZzNCdDdEZJEZdG+gMtTqPmfQZSZl4mN1KDN/ZwuHVzmoF\r\nr9zQpNrOGnvS6w2p2DF3UcUp5mZZFk9moUzJtYKz06syMhbiKIBqo1oXGU8p\r\nnBCA6rURGLYJR+Xk0gm4XcxgSNTfmbMWQ/YRbqQ+QUFLkdzkFMVivmlEmYrI\r\nPcG0nvxdtljrx7Nx4+FarPZWElDd3SNbvHIrFnIhzFl4HSFHo3OXdCIsJ9gM\r\nLu9++Vd6Tz5YAw6m+or8dIoZA2sfd++YLv7b5QQ5mp0CE9KJvJ3LEDjJbZ+C\r\nOCKBJdhkp0FyodGae5qZdQGe9lclEBHAE94H8Ivd6wJ6taMlHeEn1lAlJQcu\r\ne8NCLuV4ZktpXcCBp30BMxovgy6oYnpt3Sz4IHtE7JddSpYik+/wKYlaT5yB\r\nsAvkT1pB4D/3xNd90y8sswbJZeK0g5tTSAgC8G+OdxUGp5rvX08nlu45xnS6\r\nIYE8+azYVAt73z3B4+abfWv6RFJK5EmT1vo=\r\n=IxOX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.10_1655802193916_0.2856299149912278"},"_hasShrinkwrap":false},"1.0.10-dev.1804678":{"name":"@usedapp/core","version":"1.0.10-dev.1804678","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.10-dev.1804678","_integrity":"sha512-3Zteyl5tn3fCGjjtj6ZVa/923pk1sElOl3Md6eb4sYIe+1rd3s6UggcJlGm+hm+oQdmsQD38HvOp62r7yZ6jbg==","_resolved":"/tmp/7e05c5cb48bd0208c0a4691a2c055577/usedapp-core-1.0.10-dev.1804678.tgz","_from":"file:usedapp-core-1.0.10-dev.1804678.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-3Zteyl5tn3fCGjjtj6ZVa/923pk1sElOl3Md6eb4sYIe+1rd3s6UggcJlGm+hm+oQdmsQD38HvOp62r7yZ6jbg==","shasum":"eff14dd164c6b03175ed8fa3bfd8bef4ddb7249f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.10-dev.1804678.tgz","fileCount":2216,"unpackedSize":2929849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4YntSHr7R27qUg4Tawjl1s1zsEIqS3v1QdgrgpaBa1gIhANJfwpjlQhSxqR5VJdtUcYFqpcuVeb/aAB5D2lcJHjQV"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisYmUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoK4g//TnXVX35SHibYLw9GdY8f5mTXWlIrso6C+1ha6p+0uEmlj1Vw\r\nZIRMtdayuAUZHN8GvqOHfZfwmnhJIT5VOv9hbsCXVZIodoYG7eGVdZf/9jgu\r\nHCI2gGgqZs2XIOg6nKVdUq+cFFIPXqBenYWgywF7QBAKhHYPzADu2fZ6B6sE\r\ngcxwOu/fJDGZdq336ZOaBpyb2/DJ8i+FgyvqNi54SJCreieHEWJVZqa72BSq\r\nu2pfedeg7TvKWb6BDeaukbpIx24vyVd/LyUqfi4GoHCUosORMdgixUYi2yUA\r\nr5lW8anWKDTpUgrAp8wsfOGkroc/NGemx6h94QJ/LzffAr8L6sGi9UM6PLFV\r\n+eb72frmdDvCCDMG/mNFBgqRLAO/eTQyfIwjdSEtWYIz/JNGBX0sz1n1i00W\r\nFPImdjeeKung1vh1WAt0Idyy7J98kpsp8TTHoYaa20oskT4fjbHl4DBiJvZZ\r\n8gbVvHGcTZWMVwAsn1XCahmELO0z7vFiLheWyGiU/I5NcT+X8E+x3djEriG1\r\nGZYS93OnKXeAYmkGqbmilPKDmbk50ZMyEyU93MP5kkqgz9DjE4VqBqpUf7BA\r\ncwNjy1A+Z8E6oKQNEl7nw/JW91waApbUwihiONvCVbp9ZFcTlcK6lmNN+1zJ\r\niFRGsi7Ek5J51Bb1uv40gff6XIZrkCZP22U=\r\n=xBUm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.10-dev.1804678_1655802260307_0.9928155379756365"},"_hasShrinkwrap":false},"1.0.11-dev.9f74de8":{"name":"@usedapp/core","version":"1.0.11-dev.9f74de8","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.11-dev.9f74de8","_integrity":"sha512-YseZaBDACNmxpWmbnKqnZ9C62p9v5S5OtpUEPH98GlNRKw7sTQQMVIGo0rEUK150mm+FwjPvLNbt3OhyErcS3A==","_resolved":"/tmp/d1e78f5513bd914b9ee29e51d45c6be1/usedapp-core-1.0.11-dev.9f74de8.tgz","_from":"file:usedapp-core-1.0.11-dev.9f74de8.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-YseZaBDACNmxpWmbnKqnZ9C62p9v5S5OtpUEPH98GlNRKw7sTQQMVIGo0rEUK150mm+FwjPvLNbt3OhyErcS3A==","shasum":"229d136df68a2888b60d380a4b2bff192ee38f0b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.11-dev.9f74de8.tgz","fileCount":2225,"unpackedSize":2953930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGzFs0YcSi321lFAoPaPUwmvRbQcM07cPtXktCMq79+AiEAl3b+8jWvB+qvjq6M3gWk9ZQQsnyJoryDJWUYLz6Dioo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiscObACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohjBAAi5WfJiBa88gF9rhhS0H/PLgAF/vGWoKV/vWe74JF4KoQxGfV\r\nq6GndAQ3vvnZFBkdnzl+UvywW+KPjjS2OuAzr1+UMGGYN4OOwaBPP+t1WFs6\r\ne3kPBNKqtDZPYsnYiWxgEuoK9yfln7PyrbySR3fnJ94c7a9JzrHkMj/il5WT\r\n49ELIc7IWJMeMETMqvFLEZY0F+n6mxykrZ5+k/kGjc7fJAuhCtpvQ3RgMNmD\r\ng90k9IYAZ/48EwiMYpHJTQJQD/wbsm08Xl0Emv81LKMwtUV8hAk2gZcwdAUj\r\nxrSC9oQvKUFZcqqfJN2EjfzmAui1G10T5ydexrPKUdlY5JJBBv40tHOUT2j4\r\n8u3VWVaPRjOdHD07V1ZjoJLVA2kLD9qRH05OKbvIGLQYnr1I9DA/IuUTkbRf\r\niJUK5XBD4oTHZV/R8pN6/sH534PiB/BylOQtcD+TkbKRnyNes3sMFEHdJ3FB\r\nBbS0y6P3dNwL30pMbN6l2/yJSW8Rsc+JPxivGIau1r8WYOFVOvXfAcHD+HHL\r\nVYxoMF/lrILJL7RTbJFHjokyDDH5Z11rlIts6zgYMTMoHxTehMjaS6zvBFbn\r\nONDom1TgcDkP3ORgfgoFOiRdTq/0fcxY55H+0Bic32rSI/XhVKH3B5+Iq3xd\r\nMvAW/Ybed0cx7FPD9/ie2/TX5YSbk+iTSUk=\r\n=+q0+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.11-dev.9f74de8_1655817115602_0.20587034459019504"},"_hasShrinkwrap":false},"1.0.11":{"name":"@usedapp/core","version":"1.0.11","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.11","_integrity":"sha512-2Bm5dSI6Cpty3yZZveRQA9Rx98+DoLd2ZJ9rLVY7Hjt74qrEcSOXvUdHD+YCBSuxZM2/VPq/2+LLY90PQrBnxA==","_resolved":"/tmp/62c347270cbf559a095732c5e651e899/usedapp-core-1.0.11.tgz","_from":"file:usedapp-core-1.0.11.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-2Bm5dSI6Cpty3yZZveRQA9Rx98+DoLd2ZJ9rLVY7Hjt74qrEcSOXvUdHD+YCBSuxZM2/VPq/2+LLY90PQrBnxA==","shasum":"a7cadb28583886c81707a7e916ec6272b5560873","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.11.tgz","fileCount":2225,"unpackedSize":2953900,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/AoH6mLfdZ4od5mmOzFRcRFXfJcNkIKI6Jrcpg3txYAIgDAqEU4pOmFqRDzTlt7Xjge7mgyoJnnlK7g06XChs8Yg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJistHmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZtQ//dY3/eb/79iwt1xKOZPUHPaC34FkqK+xaXaU4cadzYKR218Zf\r\n91iXvcQdlLLsWewBGf9/xSXENlXV5reyQVJaiUr8B1EnXENrXGHb9PaY4lyx\r\n6l3bsyElpF8n9x/B3/bBuRvnJaWl2Oo5BjciFICC6jcA2u8at/QUdczipU/B\r\nJtCLBhFnCT/FUk2FB7KRH+rI7q7owiVjFhjzPh50sAGQ8DttQj8C2TUwMpI+\r\nQuRBwhDMnGkAIVRbAk5OiU9YudKgAHj7s9PP16VKAVzEOyLbAb+UHTVM/Dl9\r\nvAGMGf/sq/zFQBsCWVUHVnZJObCQ6Ms+L65AhKIKJayZD0WTogLidf60HZYJ\r\ng1busJ8YTT0tmX7NwZ9F8ybfSjV7hqxwKniQSoXIX9cqBNqfuDV2SQN7W/+X\r\nvbYHJChmybbNr//uqUipecfagKZHQ1YMBZ9WdUJkOl1WnBd3wRAoephpo9mQ\r\nK/bcveSRATCwDexX1DFFH+HGS16GJMRe6EJa4WqwXDOnE/Bix0TQHpYXdn8w\r\n/q4vCIvuJyztuAeXqTVSktiLvv30YVi2phKUaklZxYQiYfXjC/MzmEtaxDMD\r\n0b0pNLuiVg4arDX3Ge40XoUYeC5V+tLlflY3EkKKlA+lf28P2AKWYZ0qwYZy\r\nqNlFMbeSHS9TxJU5r01+i3da91xD1GHrfsQ=\r\n=UQc/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.11_1655886310562_0.6200267321132462"},"_hasShrinkwrap":false},"1.0.11-dev.2c9d41c":{"name":"@usedapp/core","version":"1.0.11-dev.2c9d41c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.11-dev.2c9d41c","_integrity":"sha512-gBlMWWGXr94PNiN8LjvVFKbIgYqxjYQNRiRBof9g4/HDntcrXBIVoqLWQsfvsdT8IssvDD0w/7xmnVZNOaikFg==","_resolved":"/tmp/b9c03d7d9f286ed88601dff2564e6835/usedapp-core-1.0.11-dev.2c9d41c.tgz","_from":"file:usedapp-core-1.0.11-dev.2c9d41c.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-gBlMWWGXr94PNiN8LjvVFKbIgYqxjYQNRiRBof9g4/HDntcrXBIVoqLWQsfvsdT8IssvDD0w/7xmnVZNOaikFg==","shasum":"7368d48d4a9de93ba1cb3e224f571f977996c1b2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.11-dev.2c9d41c.tgz","fileCount":2225,"unpackedSize":2953930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHhyR4qxOA91B733uz8ndEon/0le6oI9rT2sg3RrhT2QIgJOQG1s+2PLMEvle7xkSioApAK7nj5Fwp4qWVAbMFESo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJistIkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpG9w//W5GmfC5bH63iNp4NCG8Pg4LvuHbcVmMNuUy7/JbP4HgmHTZi\r\nWatvW+9XKswIHJ0pwQhU4paXAfaQ/0cuEClu/0QBIJ+7xmnyawy9AdNccJI1\r\nlbfuTnn00P3z+B2qE3qTDvuP/sGrR+wJ0lR16ZtswS1EZL4R1zm7gfjedDEO\r\nHVY8YLgz+TJXPrWWvzU1tfOe0ytt/kGR4LoKZNY3kMPGcNgE8Ix5J2CKinEX\r\nb2LJBZ8alnEMVs9oYTxNfBP0600qK6CaStOguwr/I3fYd9kkCnNZY8HKJneH\r\nRVJgpzW4H5c/z9KuhITjlWFNiQWShwJlqyJjq8S7Dq3Nx9UgqNAEbxANjeiz\r\nxDU3V67+NCwOItBw/3+zRAWRCmGRVT++3StCPYfojSGIfHgHR1VdMf9fh6i7\r\nTxaRNmlZkbDCnmICOGJb7WC15vh7XbYTfDvoAqSm9gIVMUqtCYIB7l4pTOxR\r\nmB8KngWSXaMgvMkErjj3ZsxDC9dvw1vX2QtzW6HrW0pqwuN3/ONg4CdNEM1o\r\n5uI31YYiL3JL96/+CqkihjElc9yGJEZgXc2N70WSPsa14gGJqj3SZIFY5jWC\r\nncaBiIpewvIzp5yyN4Xu0/jpCHTZnD9zKcrf8HjZ3ZhbUo1URfqiR0xZS7ap\r\np91UY0Vk720/wj0+W8yaxV71e2U3Bzm8404=\r\n=Zp84\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.11-dev.2c9d41c_1655886371968_0.2145126392286547"},"_hasShrinkwrap":false},"1.0.11-dev.feca2d7":{"name":"@usedapp/core","version":"1.0.11-dev.feca2d7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.11-dev.feca2d7","_integrity":"sha512-cgnw+ElYNmjsAuNjB1rcnbHfuz6/0nILa3ERxI9Djf2kAekXsefpOAWBjnTHFPgGni5bobkmTL5LK4R58Fmp8A==","_resolved":"/tmp/b416d3f65dbb517c25e67f2b7e0835a2/usedapp-core-1.0.11-dev.feca2d7.tgz","_from":"file:usedapp-core-1.0.11-dev.feca2d7.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-cgnw+ElYNmjsAuNjB1rcnbHfuz6/0nILa3ERxI9Djf2kAekXsefpOAWBjnTHFPgGni5bobkmTL5LK4R58Fmp8A==","shasum":"414188e21555b88c8138ebb0d12079772c0c1fcf","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.11-dev.feca2d7.tgz","fileCount":2225,"unpackedSize":2953930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLbCCf51HMT+jnG33A9JR590OgrDmNC8lvo94ODvGF+gIhAP5uh0V4QbVsUWOUdbkEmWBB69IdJtLduG8/+jg29K4V"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisx1bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOtA/8CFY7E6EQucKgQZvTGaqqT7vwPS5tbukMu/LYvrT/+FmJRRce\r\nHImuA/oki8FHwwZRviaXTHr7J/2Qoj2nEJeFlDRmdCePrzAdsWV6piHh0kzK\r\nd+OGwUSY6zZ+HZDOvTnEws6yFfzy97zSq8gY5xRD0PvsHa35BVSP2/XSqK5h\r\n8DHVxrNPpc6mpuI9S+42oiPGo1K80VJQIRbUZvfPfuuiWv0rBEv7AS0IVoRT\r\nvkAAkKF2DfxAZohPyyBnjfo/rK/99G0YnbIcOtfBFfdBXI1RBMHJ0psidVKz\r\nTJ8tu/P1+B9BJs+bkt0KYK9RVNryPjxSf66iPYpadw9Yyl4unFuq+xRS0sDq\r\nnTFizwPBkViHmKmB5JkepE3QbXqtIshdZ5H+egCfrntrepIrvh3n0QF7DktT\r\nD8q5ZEPOXPiK7LTi9kIqrhAqDDCs5+GBX7l85EyMaCqylzYabI9BoWQKQCge\r\nppptApVC8XI5ijHJhOCi05dqZomRc0QTFMSOWVlcM8AZN+zImMbO2r0d/Rqq\r\nB2ohTV3uCj9ai0SNIkoZGNVjQ5Z+UmDQWfsxqlVmloDK/cz2l8EJsef/eScL\r\n4nD/uwtVdFWnjowxsHM3tUrfYrvamSRYbbPdljcb3tR1OI+6Qvd8ebcFPacO\r\n94qBkUvYyqIKfbD3GW3SHe65PA76BIRvBBg=\r\n=D1G7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.11-dev.feca2d7_1655905627393_0.02107035620224096"},"_hasShrinkwrap":false},"1.0.12-dev.e239784":{"name":"@usedapp/core","version":"1.0.12-dev.e239784","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.12-dev.e239784","_integrity":"sha512-U6y7OlrKyTBeyvscVoZcNUNXO3VpBcQ5s92s3rF1mQiT4TjRnTHrjPC5kwrW6QrzKSFx8NZhg9dUrVh3o8mheg==","_resolved":"/tmp/c60d552a1e34e4a750cf936cf5231194/usedapp-core-1.0.12-dev.e239784.tgz","_from":"file:usedapp-core-1.0.12-dev.e239784.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-U6y7OlrKyTBeyvscVoZcNUNXO3VpBcQ5s92s3rF1mQiT4TjRnTHrjPC5kwrW6QrzKSFx8NZhg9dUrVh3o8mheg==","shasum":"0065848c2d01fa28d1db87b91085ffdad14d875a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.12-dev.e239784.tgz","fileCount":2225,"unpackedSize":2961120,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSwyQYH0HdfsVNcMQpesscvT91BCuom/WbYJvRmQM1bwIhAJ46C8wgf5YR970ZaRd8Iu15xh7iqql4YWOd8wFte0u+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisyNNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuiA/9HtALqGg9e04HLj3Mp3YL4sBkZpMx1Z2stRqH4UaEqNBhmADj\r\ny4dALnYZ6W9PU5OfpRnvj+TpsR6dx27cvx9hV2RGWhyQpIXTGRxp6iTimwxk\r\nanVwvqRW9T8CgCQZxPqQpyOmPNrFf6ymYdUT5oZeg8NING3XrOGfT0RiyxaQ\r\nXFqOabbxHITvHM/b5yg89zip/8RNm3SsONl+XtdViU56V4IQotxRGRkTkN53\r\n+DWyLHcHV0bfe12RhmT1jE++MhYM2c2Twmw8PGpc/pxn2PO5ZraUed0Q/qTF\r\n7mGO4fHedUZHCVqSWwbSFpb2RMeTiBBijR6mEQeJMBGB2wBTsXj0gV2fMj+x\r\nyuS5KwFVo+FWRyJpz2Zv6H9MDmK8D9R6+HQgNdblILIAfbFjU95yrkmRHO5q\r\nyrxIc/0nIzgTAazxySFeT1vDxsHA0c8DVZgN2MhngndHEMYGJns8CmS520i6\r\nAYeRKX/qC1OAk8tn8lEujUVdL/UQbRdXBJN0+uxf10f94DqN0nxe97SbLUXc\r\nz/cklrFk3KZwdlElnch7E44foqEDhUG4RzDD2G316qrMy7IR3qTk5u7VDkT1\r\nhZydDuDO/lQhkoT/hsg9PtdTMsvo/XGkFYWnMuLYURhXrOqy1tkG/w3rpVlK\r\n6aQFMI5j/MqCH0UFt5NC2WshYDhAXMpR0bA=\r\n=2SLR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.12-dev.e239784_1655907149372_0.66066007841206"},"_hasShrinkwrap":false},"1.0.12":{"name":"@usedapp/core","version":"1.0.12","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.12","_integrity":"sha512-cyuXNHs67h4jBAd0zUmpWCMXiVa4Di0iZE7Jsy8byzObIOpK6sGVEauvHLx80YJ+S1tMEYaBRR+UvA/mdAB+gQ==","_resolved":"/tmp/2419f01a3ad6c4875cad09cdfd2bf8a1/usedapp-core-1.0.12.tgz","_from":"file:usedapp-core-1.0.12.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-cyuXNHs67h4jBAd0zUmpWCMXiVa4Di0iZE7Jsy8byzObIOpK6sGVEauvHLx80YJ+S1tMEYaBRR+UvA/mdAB+gQ==","shasum":"8aca87c56460e02038e366168fc4d10929b003ef","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.12.tgz","fileCount":2225,"unpackedSize":2961090,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdOOzostpYMGgzu8tAC8TW+zFFq577OQwn+pwTjbgPhAiEA9ks4Tu4zrQc9x/ZDqNkiV8pAFC5Z5yyiOIhWdVKjoUA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisyiYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLfQ/+MWYKueQ7im+i9j788MjccMyk7t6A2VLEz9Xd2k5R2UEwGh09\r\nxG5GW6hFer+KYYVxeDeZaaTXRTEcKRAX4vMP8m2zF0YzOaFXYv6iCsF4B1aw\r\nfDuB2vToJTH4RXxln71FFmh6A1694s+2juOsNb64L5TFOsw07sZPBv0cyOHh\r\nqsE7RcKjxLSxIbTEOxSXH2BbxiHHAeFMA1/h2wPhr0tTuiC6lOqKKoWAu1Ik\r\n+I1sbM6qiQ4SAQg8VMd6ndVwCFzX5oBoD+LrBn0IW2qjfmJEhVJuuLVgiHBx\r\nO2jKNdkgGbC4zzITRdPrUwhdoiAsRTygeUWC8stV+zhf8N31EAFpcLbioGdj\r\nBw5bXg8vLN4GSA+CM8x3rNpaxFLZ1Slz7fWLkS/6PmbKaGda6AySX9NsKLMf\r\nHyXlFnF118KkzWJh4HdlboXdTYioRexl/sYw9pVzGguGTSe8ZQ31xoULf9MV\r\nj3BSz0nmxN8B1fGoyJYK1O0kAXXP6eGjFq9j+92H6/Hukeizgpd5NXScXYq1\r\nAqrN6HRFI1Q6J76I7Ljy4dOfmtT9GAxzs2H8+ZbYyU/UMP8T6UWv0TerpWD1\r\nzzfe4DFHkuREanD3yhsqjHTTWgG4nYVBb00Qf2KWnEAyvpHsxhYiHhTXk9i5\r\nzIcqMMjpbkfnCcITM9Ro9/cffA3NLu2YlTU=\r\n=GuLO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.12_1655908504601_0.06915791493766843"},"_hasShrinkwrap":false},"1.0.12-dev.b4e652b":{"name":"@usedapp/core","version":"1.0.12-dev.b4e652b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.1.22"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.12-dev.b4e652b","_integrity":"sha512-Su+cyr6QJltuo0U38N0gEmZmZgcddgBimAT2EksJtUshLHA0GnZYNlDhnVcZ3zEFw94QPY5Nx1ZwaNxSShAoDw==","_resolved":"/tmp/7bc215bc1b564249785d160bb0917dd4/usedapp-core-1.0.12-dev.b4e652b.tgz","_from":"file:usedapp-core-1.0.12-dev.b4e652b.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Su+cyr6QJltuo0U38N0gEmZmZgcddgBimAT2EksJtUshLHA0GnZYNlDhnVcZ3zEFw94QPY5Nx1ZwaNxSShAoDw==","shasum":"b445b9b4cce2ce38a405ff8586b8c87f92043505","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.12-dev.b4e652b.tgz","fileCount":2225,"unpackedSize":2961120,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvP9uquMbCAo0Lv/yECtx9GhV7DGA9ZrK9iXKkUccyXAiAmAGnnQ9Xyq5e62CddzaD1zamRn9nJTU6NltPY+WzgOQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisyjhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi0g/+JsIyuLOvnp2pJDEZw0oFUv816MKhCEGGUbyFTcpc8jxlKV9t\r\nKpEpwue6SeJ4jvdaUazNWAPkrfKY79JM8F72eG4xH3qNNUuwDvd27F29tkn2\r\nMz5Og80Ju8t4hEGzbXYrSFY6toYq8+q3JV+flT5ade9Pxb07xvG6b11s/tb2\r\nBVW80wC9NgRFLENljWiEAdl1jtuH+7Fs6J8pSWcX7SnAGfIjFjdH9u+RV/FW\r\nAGtsgwBCPRD1+HKjRims1JNONfMjAD6P7EKCmnMgRN9p5B5jvSZxszRRdL6k\r\nZ6V53982xG+M02EXA1SDBtknKaicuX1R3Mpk7bVMc8WoqcX3k3Npx+m86CiO\r\n9ta4Ta6VzqRYB9ECzv1nUbK6npkFvZRxmG0cvuzExQ82M2f8x5Y+rnPYpNNg\r\n+J1kHy+5r1IWPHhh7zStHWpqvjQnqI24h+wWBGadcXV1yenPu7n2S6FevwDi\r\n12eziw/xK1kMrjgs4jciw07cnQtDPZ//exG70viJJGUQErTVE31hGFPk3y0r\r\nKH8bWUGuuId0OMcOE4MasdPCEFhki5Jj7GCLOubPUcboKXQnme90qjFfRoz5\r\nWJ8UrnY9NHu9Zkm1J5QKkFZ7wX1EGZlosdnWpewnBfzyDTFWwJgpG/1PljhC\r\n6VAEvrRB4NF2Dx1ev1qRjIni4mRHf9CSSeo=\r\n=vtBa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.12-dev.b4e652b_1655908576936_0.8034687711738557"},"_hasShrinkwrap":false},"1.0.13-dev.e255c61":{"name":"@usedapp/core","version":"1.0.13-dev.e255c61","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.13-dev.e255c61","_integrity":"sha512-Y6R/1654iKvrNkNLfrXRxMVQStHpNOmnc7P6vuY0S3iNvL6Hm5Fxzyhd9WCmwvALGvCFrINVWr5FaMx/C96h/w==","_resolved":"/tmp/e2483151c9eb77272ad0b93a9e0c29e2/usedapp-core-1.0.13-dev.e255c61.tgz","_from":"file:usedapp-core-1.0.13-dev.e255c61.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Y6R/1654iKvrNkNLfrXRxMVQStHpNOmnc7P6vuY0S3iNvL6Hm5Fxzyhd9WCmwvALGvCFrINVWr5FaMx/C96h/w==","shasum":"2e515b5c51ea9e7167d2798ddc197355f6cc7838","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.13-dev.e255c61.tgz","fileCount":2225,"unpackedSize":2961117,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWt1YVsRGHSmF++uvmbsdGXDWO6IDW3+iJXplNQqiyEAiBLXibp5YX9Qc25abyyhqJFRM4Ft5bXtrmapfaCX/89Mg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisyynACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpriQ//dwue/YVgjY4MZzv/yuf3wjQAAlZxcgu9x9sXn4kzR8blQZDE\r\nIqjBEfHlU6qpIKwoUaTXXm06KYYrSER0vdZjO8KjZ0eR71PTGyuDii+pibzj\r\nn+q24rumfexYiuLrl2+FGed0KhhRXCeQ1ic49U2UbaJFRl7xxl4LAW/I/dji\r\nwJ0dV9ZpFovgw6jNn1i0FRs745mtUpS0XhFysKzdXFf2QE1z/ewENlMMKcgp\r\nu2+/5mSeD8Eebogthx+eWc+ZwKdjKJboqHmHJxqD/78FEdNNHKpV/WfYapEE\r\n6ptaTqRPgrcm3KmRdboNB5fJeF1oCkh9HkYKHOUhAGb/bQiO7wzEV6RTFs4r\r\nWDyKTggqD5YH4lGHSSY7S0AlLWe7R6KfqMa6riXs+EJfZjt7nRjRSk7km4Vj\r\nzL76TYBH+bnOJsJhus4HK02pc3Ab5N/tOz/3sitqt1INjwOTT8XaEtBgHz9b\r\n9tJnXG+sQ7a9MEklgM4EaqB8a0Xw2AHH6fmRJ8cewHK/yjXjZnfytauH56tu\r\nvb5p8vRoUXtxGk8iNhBCCoFy+ODPHUXw496Ko0yul8J9b3pb/VHroJWQlmjg\r\ndwiLJuyMUSZWkyMV0ZfQCsrblAQkRxETIKBrc18m2POlSN95FTmUQkKdtrr2\r\nvWNJ8UF+t7IcFTPFy0wb6pAYhtvP+YG2bk4=\r\n=2Xqo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.13-dev.e255c61_1655909542744_0.658882344657655"},"_hasShrinkwrap":false},"1.0.13-dev.0cfbe8f":{"name":"@usedapp/core","version":"1.0.13-dev.0cfbe8f","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.13-dev.0cfbe8f","_integrity":"sha512-HZOP5sMSMe0xfj023IZcGe8EFBEaSeULhfq0OPDcnKt+53/+4SuFA1M9mpOoWI+8hLDrkdZQsU6Q/RVWrAEpNg==","_resolved":"/tmp/ee241e011a7654abec945b031b259185/usedapp-core-1.0.13-dev.0cfbe8f.tgz","_from":"file:usedapp-core-1.0.13-dev.0cfbe8f.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-HZOP5sMSMe0xfj023IZcGe8EFBEaSeULhfq0OPDcnKt+53/+4SuFA1M9mpOoWI+8hLDrkdZQsU6Q/RVWrAEpNg==","shasum":"f457defb194829b5bc6886b036b741083f7c09eb","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.13-dev.0cfbe8f.tgz","fileCount":2225,"unpackedSize":2961641,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1e2Yq8vfJDogbrkmg10ZXx/np+p4lLmIb2RI3YA9jVAIgeV3X7t3Ryd8PQbxSEORS+2tQXl2S1soI4O/XOyJCR8Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiszsOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQfg/+LfZS8ebXv2rmYG7amQxD4XmJRdoUp5fhkpsVUW2QGXxJXqby\r\nsmAgVE8jY5F9UrIYlH4Yf658mcr/O9pGEhVNThuqc0+7RPI7CCOW5MSQcQR1\r\n5b3mF3gMmbKT5UOgeVN5N0fOrytAQh+inlC8KGKbN8l8zraVX8l9hTb/KK/c\r\nvF1x1hg+6a/ULVYeMdFSAi1/z9u+SQ5ToqJsITqbrGOj+mhfw+l2Omeuxwox\r\nzqgrg+VYI0IJvRxAVJE94J04wSUndfHmPKDSsBxdWP+VaxANR3CLrz/5ctm0\r\nuiI6e9kcLQhZtAEUtyapeFx2tJJA/i/tHX1TLHgmPuVNevG3MUqyjJuixXWF\r\n2nmDcDLyRi7uKT9Sd+ua4yjiSytjgttC0SCDxeM2T0VPZrhOcrdq0Fiymxbx\r\nfN0tvWL92tKXttUvBShrFQNlu5be+deE6t7zWbEEoDX6QLoUysEDASQ+b6JV\r\n2dUph4otXtOQcmUSPpUgkxO20i8ENXnlTE5U+KL4ORAZjlY9RgWCApQ9uk9T\r\nsdYYKKyfoRYLvmRUBvRni6WdNkFETBii2JoUzW74AAOVC04AnhyPAt7GlgLE\r\nZ62S7sTBNj45YKOjmstYneSkIe6pO2CFBdxwE5z1Cq8Azb9F6GOMuH+ztcqY\r\ngPfVCh0+67EHyyTAOopG0Cbw4Ho08Nw7g34=\r\n=j/89\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.13-dev.0cfbe8f_1655913230354_0.1594505251520022"},"_hasShrinkwrap":false},"1.0.13-dev.3cefe55":{"name":"@usedapp/core","version":"1.0.13-dev.3cefe55","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.13-dev.3cefe55","_integrity":"sha512-gOqweG6D+hD9VoAaJWA6QY2gFqqRfylCdpJGo2cLD8Xr5M/7/V1YgvylDUJgLtG4brYCl11lwHgBEwHpK1u7/w==","_resolved":"/tmp/1077798c0bcfcd827fd5403bd9a53825/usedapp-core-1.0.13-dev.3cefe55.tgz","_from":"file:usedapp-core-1.0.13-dev.3cefe55.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-gOqweG6D+hD9VoAaJWA6QY2gFqqRfylCdpJGo2cLD8Xr5M/7/V1YgvylDUJgLtG4brYCl11lwHgBEwHpK1u7/w==","shasum":"bf94912cd3f0e856ae46cfcd605e260d3e253d37","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.13-dev.3cefe55.tgz","fileCount":2225,"unpackedSize":2961641,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd2uCud50zXiH6630ni9J95ESot5s9nzoE9R7tr5KBxQIhAO+SXP3uauxC6cKosjX4kA2ldH4GJCn19qe8MvV7YthI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJita1aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYAQ//TixeDiLUHeriQQkEPxAnGtdE57MGyDd2u6zjDOfzf8Y7GZdl\r\n2TQeZnn0xVHjJKDIf0a1eaLeRqjt5AE5JIh+mFh7EzogQcUY0Sx2pIoZd6SR\r\nBLuqdBh/7A63We/ewXEzgpNYGrBN+/D6Qsoj5J1EGlPEIGmfifaX6UQw14pk\r\n2Gv8hLkY6IUqQsQp0y4HYN+97dEZZB95bIgu7rOqYLWUm95oBQt0jm6EKPih\r\npK2/lrsgl/c24rjddJqa6qJjbEoEzT3bag8sH13lNf0UKRcIonTDsxp5RoPn\r\nXkhW8BwJbtCUqwBFyqWX0as9LqLFWJenH80usRtYU7mQTGQiZXXBK3SHE1TD\r\n0g/Xh/v/dUVPyp1dHa0bbUuBer7Dh1fQEJmutAyTHurgWYOn01jddNIcUptT\r\nWf4K0/knTDBF1INdYJfoPO+gGFtie7ldA4cZIPO+xIfivFtBTjOOdkOgcoA4\r\neemF1mHDujhiqHL5AwU5Umd85+PLj9/0mBlBZ3ZYPvaDJSqV8psM0ytwDY0j\r\nDrVYE5kgIyd+ocz87CHiiehQRaH+BmsAfQkpaiYitzI/qYHDOVhB2ZoCAg+V\r\nSoiMN7qc/Kk5K2qqt+5ym6KohSnPN2PRBgJocCntANwYGJIvEeWJAnHJiiC0\r\nBKWRSd4qZqw744wO/dmQIV4WgdWoTfPoZD4=\r\n=HqZ3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.13-dev.3cefe55_1656073562276_0.33446326382003755"},"_hasShrinkwrap":false},"1.0.13-dev.62bd8e5":{"name":"@usedapp/core","version":"1.0.13-dev.62bd8e5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.13-dev.62bd8e5","_integrity":"sha512-dRc1Y2VKegP+LYfeIgnpAEYouq5+2HfRCjAm0N2J+L1dbH8bT1uWDwNBuszJdW4pSL0sz8ThbAC9u6EU6+EAxw==","_resolved":"/tmp/207f9549fb2754a1b4e205303da990a1/usedapp-core-1.0.13-dev.62bd8e5.tgz","_from":"file:usedapp-core-1.0.13-dev.62bd8e5.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-dRc1Y2VKegP+LYfeIgnpAEYouq5+2HfRCjAm0N2J+L1dbH8bT1uWDwNBuszJdW4pSL0sz8ThbAC9u6EU6+EAxw==","shasum":"d296315667e0f898ec4504d9b7a1b534c41cd9a8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.13-dev.62bd8e5.tgz","fileCount":2225,"unpackedSize":2962086,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBmLVtGdJBUfYfLVxkRBs/zsaKAZq0vXedhy2v4tnIbWAiB3bmXpfYf8cb5OpbdZOMRYkDRvP70/EC/n7EfUD03yvQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitbF4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraaQ//ZMwZ9DLJWgurPLDSypV4xD0VcLya9tilmpYIGbbcC9R3Gv3n\r\nqZPx2GHLKzvsfdwS/Ponx9BqrCCj4BE5Fs0JwxLUiVLjvl/hG1YDpZBbSAvA\r\nZ0ASthvD2kCLITmICFx74A9tj124W4PYZQQ/gUYrw8bX3CWE/VQLjVWrRy5P\r\n75ELWygwHrlHqgw0ZRIEa/cyf/HHvayGeBjU906Q5GOKv9B5nwcI22bHpmo2\r\nyYWdKoXVvo7xAr5p11FOJUBzjEOcE/NT7Dbsn2iu2iuL4ivQmhVRJ/77wpOU\r\nlNBzSchvQ/zCe4ee3GhFJBny7iVnjGe5YDsdHE1LC8lBnmV/uXZV7rJrqt/V\r\nnq9iD6+7CF0vp6ZPxxAK3j8FpYlx+t5h/y53BLgWqeZUeJ7r4vsSHclv9U7J\r\n8k/mW4CgUDYvKWK0ozlDwU7sok3vi+BIwaHpiMkVXIRtuGU2R6DZhmKnX1WQ\r\nOlLrdrdX5st9YR6Vt1bvf/jb1AY/xyME5pRtIK+iDkRyen2sC0Scj98L4+DK\r\n5GsQybYc3iChcJ+VtU55XET+lD34gY3so+UXX1USpHNfkB13JD30vSNweRus\r\nVNufRE0qjY5CSBjop4kQSreThVGA9kKTH0XUo98qTQJ7oGBp3bxEfYGi9aPA\r\nUsZkhpufWan/t2tBQUG0ZUtPJ3FX82Z73rI=\r\n=UR98\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.13-dev.62bd8e5_1656074615784_0.5580228322154299"},"_hasShrinkwrap":false},"1.0.14-dev.4f6bf89":{"name":"@usedapp/core","version":"1.0.14-dev.4f6bf89","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.14-dev.4f6bf89","_integrity":"sha512-6qWo+Y3hGdLdDnG3zbi1WC67COZkMpOUX/aQZudvpMw+PoI9HXE7OSOLmU8jRwzL9T6q60vagNF2zj8kdjWFyg==","_resolved":"/tmp/06e08340d32d5c28c94c5d0d2b72b8c6/usedapp-core-1.0.14-dev.4f6bf89.tgz","_from":"file:usedapp-core-1.0.14-dev.4f6bf89.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-6qWo+Y3hGdLdDnG3zbi1WC67COZkMpOUX/aQZudvpMw+PoI9HXE7OSOLmU8jRwzL9T6q60vagNF2zj8kdjWFyg==","shasum":"c64b0c87839a02eec6572a6434be3b6f79b677d9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.14-dev.4f6bf89.tgz","fileCount":2225,"unpackedSize":2962086,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1MrjHvjq1Iz/vqZ1230bc+uza66fcY7splbIId3lgFAiEAhxZGcIraaFfxw1uWnKVU+iHg2Ru4Qg0t0Jpx262CBM0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitbGcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqT+g/+OaRYrA59xarXEk+5reRRrpXfuVsWo14oTcZ3YMHIfGl5wZj2\r\ny5FYXMgw2QOV5fRVzzqXL0TjcNZFILSiP1Jfq+TwPG3eHSb+jsBVJvitb6Wx\r\ntQEoBVwk+WJE6PogW/vdm7l5cKl2HsriwKSzqQ9BwSCS6VhjbOGiX4ZQPw61\r\nEkHis1lBGdTg/KtArsgq11qphvQ+mw1nT7RefEzgBSzQKIDz8io5y1XK3alW\r\n88lQbO8J9sjDlfj8Q8M5Et/oGi/N632sKZjwK5nKDf+/IGA9SbwgkPAvENtu\r\ntjRynC/Vx/PlCeg2B8Maog/190xOZJWrv514AdNzrdbMkPnsaDEDYZWovSMO\r\nKuPo6W7kmzXZd3nalvoHckopxi6/UgecYIGi0IXdwiFWZiZnW7OMEUyOBo1v\r\nYcLt3uHd1FMGjyfued4/VpMyQ6zZVz+GfwO+ygibP86oZRStSaHlhLnHsBEm\r\nlu7SZwyrR0RU/2vZEYAQNDi9WO28wMAt40J3R8Cffulaxw140uGzLj7ePfhz\r\nnhtClpPmEuy3rvGtxz5JHfVFR6KgB5S6nmg5DJaKg11JNNpJPykt/5WB2p+P\r\nks4W+18oUbvkqMX3U5nnVl/yQg741pRmYgFOhSAEqW2y5ntQ5Nwbu0Donf8v\r\ndWOjHlTv/GLC0r9mWwdIR5cqMC9fVhvTboI=\r\n=Ri0E\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.14-dev.4f6bf89_1656074652464_0.8369702955134404"},"_hasShrinkwrap":false},"1.0.14-dev.9952a62":{"name":"@usedapp/core","version":"1.0.14-dev.9952a62","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.14-dev.9952a62","_integrity":"sha512-TX16qhmAjZRb9T92p8fSzLa2188hS63L+uJ82JJSUDDTPYbVvdbjRTym3GS7yJ7dj1JZlh0+X+3eOq6OtSq4pQ==","_resolved":"/tmp/01e7fc1b3660b7ea73c99dc830680f91/usedapp-core-1.0.14-dev.9952a62.tgz","_from":"file:usedapp-core-1.0.14-dev.9952a62.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-TX16qhmAjZRb9T92p8fSzLa2188hS63L+uJ82JJSUDDTPYbVvdbjRTym3GS7yJ7dj1JZlh0+X+3eOq6OtSq4pQ==","shasum":"3571f3e44e47ee2bc1b4bf32ba3003d6ff650aae","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.14-dev.9952a62.tgz","fileCount":2225,"unpackedSize":2962086,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBCpxdytLM/xcb2XzoLOVMue0+3OdzusjqX6iO/dJrTAiEAiwkIXWvPYRic6qoUTn8tf3aqLxaxn2x2fMH8A8MX6nk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitbSJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPew/+MxS2NCE/N8BzTNmHn1FFRVLwF3DrFDqTt2mQ6FCz9rIZixwQ\r\nHEYVd/glmsnvXnbcWH4qcNNmlYuH4fcC0lNZ4htDVTm/83NvgfhTD551lf+/\r\noZmYVO6nmzGsYrtUzF5rZGeFyVjPX/Yu8a66ilkYZoHfWFhqG+ZEpKRs70I2\r\nUzup/KKxPJ1w64X+Wmm7UVNxB5xDcWb6I/gbgMd5ilmuvrAkfHk4Sw5MrsDt\r\n+ZEraeBBHNKO/aGWtdkTAikzHe0pLrjfEFE7xqkeuv1+V+CbaXzQLmfddGDi\r\nHPguuCNXtbrluvUKY1H58Bm1G2DnsEIBbHkL1jLEiutSbhz7hZgrq08hND6/\r\nuQ6q1F3aLPw9uvqP3BN+4SSkgRHw2Vhb4oy+k1ADXKQ482fVlj3srtMwLGo2\r\nl5EFwvJMLUE3WA7FL8ERUFu1PAfZ74tF6iIDLQIhuXFBvrietX9Un74fHLwd\r\nedL98FwQwSXLqHBXObrZp50ja2Flsnc6ohgJYZY17X+yqLuJLwVwS2V1d07a\r\nxos7weornVd3HDM63eD8EPapxFuBlG5znBcmqflPS9WXHWcxVGTvOJpXMKYE\r\n/jrS1o2Ct5QWeXNnxTjeFMhep56926oMu33k6JqgMc1Gyv/A5BPgTjYtuOxp\r\nYQWWeDqiERoyUbRghN9NdDcHxLw8cSVWLlo=\r\n=A47x\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.14-dev.9952a62_1656075401600_0.6835070695303944"},"_hasShrinkwrap":false},"1.0.14":{"name":"@usedapp/core","version":"1.0.14","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.14","_integrity":"sha512-SIhCH7nOJDcZJkixeICHBojNrGE0EESZOZROUOqzbERuXwHO2gl7oQ+PX8lLmjadWPQ6umiQO6R235GqzV0Iiw==","_resolved":"/tmp/a4acee79b694a9a982e10593ac27945d/usedapp-core-1.0.14.tgz","_from":"file:usedapp-core-1.0.14.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-SIhCH7nOJDcZJkixeICHBojNrGE0EESZOZROUOqzbERuXwHO2gl7oQ+PX8lLmjadWPQ6umiQO6R235GqzV0Iiw==","shasum":"df8546674a6617ca9faa80bb5db1460ae83584b9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.14.tgz","fileCount":2225,"unpackedSize":2962056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcJbRJLrTd8BYgG+2iYQ17fy/RanieCeLz8qHoJ5DOJAiEA7+N+R9r4b/vTCMeuVyenN/Gf3rkLRzCc8zdVdU0H+VE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitbfJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMlg//eMoPgKNEnQzRvZeY3yRlhHJziQtW82XhIDl3OIgFz0R+Aww+\r\n/AF5+DFA0X5k1t9uXymPWVhiy977VdE0zd3V+CirWyJd/8AxTIR0x0ycQiU3\r\naQHsUv/YS3kzgT5vD4gE7vhmUFkIAvki69lP8DFuLTrdgVJTPkco3+abA6Ok\r\nUWr8BAFfGQZ2wiZaJ03pUylou2RJfcKUonABhDiUtdvN9KzasHCXlOUdTW4p\r\nz00XdMqPJ61c97zdlcycFR3MFel4qee/6E2BZuwmHQY7hea+N0UNH1gleE1Q\r\nsON+KsH97J8YIQ199w3DN4JjOlpadW7Lyq2xIs8k7A0rihEvK/DA3ENdjVbq\r\noyV+yZot+WgF3nQWFyx9PHdVirEkWmU0nddWRP4L6kLllO4VDinisQkK5QU5\r\nS62y+eNRjKQ9AHyNFj7i2m2j0uKGkrIGIP6BWgewBqa8gJ3ARv13vxKfWgJ1\r\nl1aLaYNwPEmBNAlUzhZOVqNHUaniVJjvSnWgNpZQRcv56mQ5IIOU63IkwIuW\r\nah/89JkKSDBCtUMn4LYbnEoN1H1pzKlarsfaMRZ4Qhzu2ZqfWpZp6UVX4lRn\r\n3uHUaqPk17mAAiZcAuPp9HXK0Ormm/1GPj1kI0LxXR/I055bMvTLWoPI3qPI\r\nfhLU7OCzpy7KY4wCzBWOGqVbgau2WZdYhVQ=\r\n=gJm3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.14_1656076233442_0.7496644123890355"},"_hasShrinkwrap":false},"1.0.14-dev.9450798":{"name":"@usedapp/core","version":"1.0.14-dev.9450798","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.19.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"^17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.14-dev.9450798","_integrity":"sha512-abq6KyWypYVjTUENGh9ffFR6ZmUY7vuKaSmNfqQGX9f8y3k+uMzvD70WmogiTW/gwOQ9kuXn7qXxWf9t/wi9zw==","_resolved":"/tmp/a1bc51738ebc7dee0d9c5489d40708a1/usedapp-core-1.0.14-dev.9450798.tgz","_from":"file:usedapp-core-1.0.14-dev.9450798.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-abq6KyWypYVjTUENGh9ffFR6ZmUY7vuKaSmNfqQGX9f8y3k+uMzvD70WmogiTW/gwOQ9kuXn7qXxWf9t/wi9zw==","shasum":"f9ce1b7b8619aa626aa86e7a838a9f7319ab8868","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.14-dev.9450798.tgz","fileCount":2225,"unpackedSize":2962086,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+jbTYLX7dx9JgV3zkzk+P/wyeM3Mv73ZVsmoR+xueagIgBJsb/MhqK81SBdUMSvI6XuPlp4TIU1UILTcXdcXdPYE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitbgcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqVQ/+IHtpSQeLz2/8+D3BrEA4uSyEZpkNsRTqhWNtBdLsBMCwGccx\r\ns6gJJnzI3eyQ2YxyHjEMyJJLpM+vNBFtiqxwldENOeCLeJMDoZ7580Cr/A9I\r\nqI0st2FRprpp16R2KPYcF3HBWwE9vIjjjMisOd2b0mKzzdPWVeWckS6cdZql\r\nNwAB66/baUgtitJwdEkQBu6r9Yd8bzgJmCmixbmTEceBqjllTs728WnifDLD\r\nqYa3TTm1n7mN5/+9FRxQmQ71JVZcfNJWu/CNEJwcRBgO7nzMOolr1yqyOT1S\r\nDtWKneV7qd+2q/ACoSI1GwrHmez57AMTJQbw9XZDy7bCxpkN84jzKXo8ads6\r\nY9Qsaya8RO/o4xd9zcmeIbs2W68cDE3wnOQ6ZBTH/1anRRrAGreVKuTGBXhf\r\nI+mAE9HvMnIxqdWWUssAql2nOxj2Chnj0n9JBCslsjBpk92vgMG8aC8UdBZl\r\n41QEYRSmnZtvgQ5slqrMQ3gAycUzuPJ/ESf/KKw3+Sp3AdMtsnzduAI85uuq\r\nNpWTXCWl+coM31pZZ42qfMf/nb2Cyur8GR0S536zdM7ykbsVg9e+42SuIB+t\r\nELU30jc5922oDU7k287Q+tRMQKkJIEnkhn2TXUBMV3bnAijypvC1alOHLVha\r\n6URWP1s7uoCWjeFm7LBpUK6MMl2WUlBxPfw=\r\n=aNIt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.14-dev.9450798_1656076316020_0.7797046287734333"},"_hasShrinkwrap":false},"1.0.14-dev.c074e16":{"name":"@usedapp/core","version":"1.0.14-dev.c074e16","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.14-dev.c074e16","_integrity":"sha512-NSpX9Hic+F2qk7VRg5wcUGe24xSInESL4QAZWDK4EzirqGwWbcWvPN08sw20dom5wNHy4dcKTuqTnrgFw/1a9g==","_resolved":"/tmp/67b36cb06fe438ce3225975e4211a6b9/usedapp-core-1.0.14-dev.c074e16.tgz","_from":"file:usedapp-core-1.0.14-dev.c074e16.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-NSpX9Hic+F2qk7VRg5wcUGe24xSInESL4QAZWDK4EzirqGwWbcWvPN08sw20dom5wNHy4dcKTuqTnrgFw/1a9g==","shasum":"ff00248723d45066446f2e3bb7aef630d6d6f31f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.14-dev.c074e16.tgz","fileCount":2225,"unpackedSize":2962085,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr/hV9C7zFjBk8HbT9xKLY59UeId2+2MkUVobr0jcsUgIhAPYMKzF43GzsFi7nn0D7vXQyrimismAEA/VWrU/y77mK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuXXoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTZg//UCJs3Pm1l4zzpVl2b0hMLxfA+wTIxwGdBLvYCQk7NfWqcCBF\r\nMG+Z35i8Vk4aMygA0ngXzhphCxv015vhinueRCrcgKehr4nXlzCrYhF1TkB8\r\nMuDg2KIllJk3TDRs9aHxwh7TjVVoWwVIIbLD1NBTYN61TQHSRxGDwJlj9bFD\r\n/DHIwxOJVcxhLgF7eICINXT7DR6Q7txwF6osqsEwEWrZqWFAviIGdA+MXkiZ\r\nPe+p9wHzFohPr/+tSsLhdEc7ylPZvGNz/GB4apxSAudj8jjtmuWnxGS6pgv+\r\nqPyiv0Kms3wSYbJROYa3/HSEmO3sfVFTPsNy7/pOQC3XmdmXdOQX1WmPJgVu\r\nJ5cq0s3TRYdHPLz9VEuS9E/XMeOnjoT8a5Rg5ylnOuQQ1/n9KK8Wjp8rldeI\r\nNdNLcV4pLq7TzUxnJTFt7EZWeGZcaieOsJsaE5XK1Yi9T3DWCnzLNvTndEUq\r\ngOWisNi3h5YyU/HEbj1ITOacsF3f3v8tC2cKp+FZpmd+1vunW5gyYihb98vh\r\nzkMyp2ZLIDCMI0/3s4g7oT8dwwkNWENuw9nGE8XlPcfNjyOqTJxUdZzEhCyG\r\nvTclcJ2r38g/viV5VN8H1+6zM/qCySAEwhTuUvtBNUpg4IeeJ1qOz7oQvDue\r\n/dC7FHwVIMJRfswmOJjZwex8K015Zj3uWF8=\r\n=q4UV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.14-dev.c074e16_1656321512579_0.786975352351232"},"_hasShrinkwrap":false},"1.0.14-dev.593bdb5":{"name":"@usedapp/core","version":"1.0.14-dev.593bdb5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.14-dev.593bdb5","_integrity":"sha512-0eTYTwqGkuyM3bb1RGmuuYwZrPibt7WgheRakqtZWSayPMnb6wF8n8Ob1HFyQdpMDW76se46CGvf7E+PaNazcw==","_resolved":"/tmp/61c96e6e17fb9598f2ac719ab9455004/usedapp-core-1.0.14-dev.593bdb5.tgz","_from":"file:usedapp-core-1.0.14-dev.593bdb5.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-0eTYTwqGkuyM3bb1RGmuuYwZrPibt7WgheRakqtZWSayPMnb6wF8n8Ob1HFyQdpMDW76se46CGvf7E+PaNazcw==","shasum":"939eb3f6fd3e0d5db97a2a35dbbef3585afc08d8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.14-dev.593bdb5.tgz","fileCount":2225,"unpackedSize":2962075,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdLetkobohtw8IDcAfVELwUIRl6nGTFcrdHlfFoB9K9AiBdQy9mpjKGIAOXgG02iLr8WKXkeXNd454YYINBaaP4gQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuri9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqW5xAAiA4XohQDx9whPozmBjnA0YyqkqvKw/I5mBpsVZFqOHRrOmrr\r\nuWemDKW12UjyjnaJvVFouD6o5MLVsDn+f9LsIq4WXGqVqmMf1FOXpBgRC/8w\r\nTeGHlFjBbrXA+wZO0wpZFF3BK93nGuMcCIv1iy7PDyY7iUKCHk5AYl3xMY0c\r\niGILqAp6I5MOPZxgcEmJiXxs2wgp0iszVcsmGuc2fX+39Y3XrpcZRWv/DW/x\r\nyi9DxAQ9buLU6nnK3UCbUSa4P4XbHjpOlb732mxnrsiWSzh0XTkuHQqQrEa1\r\n/K/WRMr5KZUyCmmKswACEOblvNI94KxuJvSFyvCiT2jL4lhRmGnIvgSMZqY9\r\nUjo2bIjpKmJrh2NlreOrPE4eZt8aGI+//3bktH4zfJFRtdDzgSHET0UzVfgp\r\nFHdhhychp7YN1fMr8DkDcwH/qGuV2OQYsDGzizAzRV/L4kN9dZRSQemonqyU\r\nOR0Zl4O971u+PStUqhyXiZDIHuL1A1W3ijPWSXhdo+MBWoxiAm7/4AUtVbnp\r\nb8WR90zKmXFm2Wl+PxMrzC19H3wnbQVmgLvGvdKG27uQFvY3XPWDPeciYwrI\r\noypIXs8DHkE6tq7t6eRzwOxplFMRJB3bM6N/Bj8UpohZivh+KkxWwZ9j6pKh\r\nOJihhI3bZnMV7ANwxd+LXL804aByXiFdOt8=\r\n=OMPA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.14-dev.593bdb5_1656404156672_0.5191227080687768"},"_hasShrinkwrap":false},"1.0.15-dev.6ce8731":{"name":"@usedapp/core","version":"1.0.15-dev.6ce8731","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.15-dev.6ce8731","_integrity":"sha512-NFfuvl4VBTj3z/UBpjSSLi3DaBECZUJeo2x8ZowA0XOgCLX8NnNSeB5jzK4YT8BTqt3PVtEyuSw+vNdXMFwouA==","_resolved":"/tmp/9ab8cb845beeced32ba0dc22d46e336c/usedapp-core-1.0.15-dev.6ce8731.tgz","_from":"file:usedapp-core-1.0.15-dev.6ce8731.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-NFfuvl4VBTj3z/UBpjSSLi3DaBECZUJeo2x8ZowA0XOgCLX8NnNSeB5jzK4YT8BTqt3PVtEyuSw+vNdXMFwouA==","shasum":"69079972840e557a19ceee0a28a4adbcf94e0738","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.15-dev.6ce8731.tgz","fileCount":2243,"unpackedSize":3041658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLE1Z7fE/owV1eYGmHxOMr6JVWK7XsEFSACb64sqxAKgIgLya+/zkqu0b1YccBAuZU/uGXp7OgriAIV7Vmvdp4Vrg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiushPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplVA//Zr18Vm8TuoRjl+PWkBlbekk03dMNLBQipZXyDwWlcRO8xmaB\r\nh4Fzlo97iBzq8zrMXL3xP+NWmlwINjZMO8oKDZkEL9VmHpGY8BqXO5bmy8bH\r\nO4oQBmkTMexoXctFBsv5hBg8uO8KDmF3KzoZQC+Dr0wBhNRTg1K9H6zyROWM\r\nqiSOXFeKgtkl9rJAEpsYUocAdLiXAfcmkweeLci7HAXThmycTnod1itEmt6p\r\nP6LvlXvUP06ALrwbLRtC+syoq/53COM4yPw70VWNPYJ5NcLXoB/f4hmUQH2n\r\nWZ1YJp2s6LzHOGcomuKgDSBf2wp2dUQ1Im5b22ig024li66ghriBDvWYskZR\r\nQbkVwKdW+JGIYmoL1hdm7wB9Q7wn4eW2RKJoSpSBJ7l68qX1O3/hcqd//iaO\r\nLXMCGw9+tG79zCaPKUNWOtVPSnLyXRLjo+hEfGVdFtLISdZyHo+iqXXccZ6A\r\niReY1rp/4ikNuaVUi+8yEo3ich96bz5iO/r0CPU92EKgZUmkjAaqbKVL4FJw\r\n6zIwKVZZhhvzZ7mZ58w6bseqNdbZ3/+N56UCuyIpyEUNpGQ4GvpPfx8hpvvn\r\nPcA9Yylb+/RuhQA6iOYFfwpq+/S1pOJ2cuhTOLvzd6kWOsjai77K1S4FazsF\r\nOh4q9YU8ZTj+/OptkXgjg6MZGYHazDyuNV8=\r\n=oy4a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.15-dev.6ce8731_1656408142702_0.6949377695658743"},"_hasShrinkwrap":false},"1.0.15-dev.8848756":{"name":"@usedapp/core","version":"1.0.15-dev.8848756","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.15-dev.8848756","_integrity":"sha512-g2RCqWHlVaQr//B0poqEfLAzaCd2czPnu7udT4NoSvsX2smV/XXjBtHHHWtz/x2qhqUwgF8AAYTdQ8ENqaIZgw==","_resolved":"/tmp/cb26b0af6031a02ccc9d1ea1ade5f097/usedapp-core-1.0.15-dev.8848756.tgz","_from":"file:usedapp-core-1.0.15-dev.8848756.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-g2RCqWHlVaQr//B0poqEfLAzaCd2czPnu7udT4NoSvsX2smV/XXjBtHHHWtz/x2qhqUwgF8AAYTdQ8ENqaIZgw==","shasum":"e7651ba144931d14bc6c9d698b35d4598226658d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.15-dev.8848756.tgz","fileCount":2246,"unpackedSize":3062626,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHUFbG/vfKx5y96UyFlTR92QEKRpjZFz/iCu786vw2FAiEA53ZiUq91NmaNchQqE0k+Yk+Z9I7UGRBbWq+SimvK76Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiutJCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKYQ/5ARYBpwvBGxCYbDcLGFGxMPbAQLnsvW18QJue1L1hriVaarLX\r\nEOrKaAb+BXbIlQ1DfgN6w1JWMi+olLUFOj07cHgrebQRTq9wrS1O2VKKfU6q\r\nu6YxxlfZ/UBzKy0kn3qH26fRxLG99I2zx+tCKnVpJeSQG686wltwjYTDJqpY\r\nn/TR/dA6jjyqLNxsfYaXG8vo0AR4KW4dF4hwGvOg6jOLULLj0YWYNuLuqUD/\r\nCsRZ4fTsD8aEvPN2YxnSypEkRt+BWYviBiVU0iKCU1ycB4DdRMkJVAcSUnh6\r\n4LOZXafal0OPW33eeJcM5/qEWM3kC6hwr7hXrLFGAAxVMEJJ/Z8EXHr36nqc\r\nQxQqlb1b5nCFFQOXMjYnpAPekZuHqJCgwFBZ9HnfxnFi98F7dhD8lzmtUTy6\r\n3oKxyQu6Ro7vmW6J/2MighdENSQ6msvrsgIZWFQJKkMQKMl4a10hREwHf2px\r\nriTV+90Z9zkh7DBYyg2d18yin+UxmfrostL4315b1+gyyePOtWcZjEoUueZI\r\n2v+ac9HK4GTDIyI7tI53NPvX8vQhZbki3ZFJ6/lYHM4tWsXoR3I4QaqH2Mjx\r\ncujRnnWDz5BH28YiW0hTlIvUPwALuos25zgHRoFcezQyBae9VHpxD27YKHS3\r\nVkIH5tShqDEHfervURxkN0iIz52EIYiv4Cs=\r\n=kBpz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.15-dev.8848756_1656410689961_0.7744590865956704"},"_hasShrinkwrap":false},"1.0.15":{"name":"@usedapp/core","version":"1.0.15","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.15","_integrity":"sha512-dvjLiYVyutM25BiwiFlPjyhPVlLQA4Dg/WnN0Q8XPnWtyasM0mytxerGQMl0Um1WCtqQynV2R8SU5iQY723cCA==","_resolved":"/tmp/3da7a3339d7db89d75d7275713509262/usedapp-core-1.0.15.tgz","_from":"file:usedapp-core-1.0.15.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-dvjLiYVyutM25BiwiFlPjyhPVlLQA4Dg/WnN0Q8XPnWtyasM0mytxerGQMl0Um1WCtqQynV2R8SU5iQY723cCA==","shasum":"66c982c13cf9aeb061b74fa6ad1f8ef6f7cd4fd2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.15.tgz","fileCount":2246,"unpackedSize":3062596,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmnY4PrS4aVU1UnmF52rcWdX0rGrD5DyMq8ePmEFILOAiA+3gl3c9Y0q6fwYXaZkr/7LjwFM5HQkC/PkHhQj/Qpeg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiutnIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnZw//V+zb7tfXB4h5kxPSIQ0WlmUpy2ZX3lQ0iSUI1fc8zOzD01zz\r\nKiV6wLfZvzm+pPrhsyvMBxlkbaNFzErUZcgyvjk+92AoZkVIm5maPeDMTOyx\r\n0myyy0LPrnytnQIphdoaZQdNIjyECR4tgAYTrB+hMOnqLLRROgbYLLzTkkR1\r\nMy7l69xu4kdSDn13eRfRZHzp0q9lWFFGn1zSN3/igp0za4fXRTxZwXR6kETX\r\ngI4Ud/8pYJReE+npy6Zx5rcGouBeOKUl2wZJ7qZ4Kwe4lGM9aXVidHOA6EmT\r\nAqNzgDTku9Nr01FQMlZoPrRckGFpVDjiBu0l4Csqab3U9xA1hdpQ3/lJNzeB\r\n+Y5J6eGAUcBPaZqzMxjoff5k+Ggp7s9F64rDQGhfXZO/5Y4ECk8xZ/WcqYtd\r\n2EZnJA9CopbXUoT2QipwMiYNeLE7f+QNPnqFJV4mcXXDhltS8eJ+dko99A54\r\ndpQ9shc+/XtkYvpyJkufkvIbW/OoXCR2yqmXzjCB9jexjFMzlVPIeo40dOyj\r\nQXY0oCoUFU6tLP/IdWR+ljmBMXfrbaVFHQNKPlifc+lBfgaUJAuPHBHJ3bPc\r\nMNeegXLCpwuo5ryunwR0jHI5kOm+EMh4rUVJeEZmjx5ldRujQopLiKTR6LYB\r\nv++jN3Jt1STRFdHXCrnbaRLnDdCLMvD7EGk=\r\n=FsZU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.15_1656412616180_0.2935043546063836"},"_hasShrinkwrap":false},"1.0.15-dev.adecb95":{"name":"@usedapp/core","version":"1.0.15-dev.adecb95","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.15-dev.adecb95","_integrity":"sha512-YaLnGN041yUvQFTpezy1S25a/sc9kSiYeGPTCPJSwJdOqw18X+Vo3eRI4pnifBSyRslaiz5pCMNSaaFMatAYqA==","_resolved":"/tmp/ce4f03ae0824e4493c9f43fc926afaeb/usedapp-core-1.0.15-dev.adecb95.tgz","_from":"file:usedapp-core-1.0.15-dev.adecb95.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-YaLnGN041yUvQFTpezy1S25a/sc9kSiYeGPTCPJSwJdOqw18X+Vo3eRI4pnifBSyRslaiz5pCMNSaaFMatAYqA==","shasum":"15626df7854f4ade906c8debb9aa79ee5a020cfd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.15-dev.adecb95.tgz","fileCount":2246,"unpackedSize":3062626,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf+DLvFjFxwxyPy6mOgg2CuPNp/YiYlVM/NR6sckyoRwIgGLy2yjrFKss85hpXjMN4bSe08jzSccSyZ3it+Vf9zxA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuto4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYuA//dym8ujiSI4rcfLS45NlXtOGA/8c4sB0Slebrsbbae1ny3MLl\r\nRCoFiByGTnXleoRl2iMireccRGbbBUHDgnOOTHEsw7dQlZt9Od8U/MI1B2GE\r\nypQ6Pg80MEH+FpLouLE5i25UD9SsDsucdoO+nUCBGwvPwpaOuHNhzXAStCaS\r\n7Vk/4uL6jZWB8Iy3D+UWA/30CAICgJGkKWbQcSdGMEW1efqYHc+NnbPHDRfZ\r\ntE1Qg/F2JFkKQTtnvaof2naw9ataVh+ANhLlETC4pvel9rEQ8wW0htXMtYq4\r\nRdDCxMlZiWMtctBE8u48pyG3CzgVmXyVMWLNnJowR6a3Fw4zs1OOiDbPi1bm\r\nj3Lzj+CWBva79gxP/1KPaDXABvoz5pxOe/Zfhsa/hqL7/2o1h0/tGQ24oFtU\r\nMArCx0LLX7J87K3QkxLa80MEXHZ3bCkuWlMoGC9xgQUlI2wZ4Ihr7Gd9zjf7\r\nevKtDrgiZ4rIfrzBUSIMtmIFKoWZ2HZp/U8n2EAxF+tCf3le6MtY/023YBEP\r\nX44PZDzv3IaGXFlMmFg9HQFGdUJUTOIHErkhlIXIA0jUB0sEbBi27XxDmEys\r\n8p+dejINdZpPqXeHnfpDTRVazlIYdnLCHn4Gv2tx7G1UXKl/qRI5whhYJVWy\r\nm5hApI6rkGawMnOVVuc9N/4LOpzcRVNfTG8=\r\n=9I4L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.15-dev.adecb95_1656412728072_0.32921122676060266"},"_hasShrinkwrap":false},"1.0.16-dev.1064abf":{"name":"@usedapp/core","version":"1.0.16-dev.1064abf","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.16-dev.1064abf","_integrity":"sha512-z14hekqpoCkT1squJ3YKxBA5HwA/5FjHf0HR3U4GKuzgoBbAZR4E6A0bgoQIVs0ScCHNPHdL3OkO5tK/Ok7Zhg==","_resolved":"/tmp/430c7992c3d12c6226ba447ddc7d04fd/usedapp-core-1.0.16-dev.1064abf.tgz","_from":"file:usedapp-core-1.0.16-dev.1064abf.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-z14hekqpoCkT1squJ3YKxBA5HwA/5FjHf0HR3U4GKuzgoBbAZR4E6A0bgoQIVs0ScCHNPHdL3OkO5tK/Ok7Zhg==","shasum":"0e3fac858b9558291ec24e80b8727f0555b42142","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.16-dev.1064abf.tgz","fileCount":2246,"unpackedSize":3077477,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJ5J6KSpDDefXqPQmCSOBxIdQTlvj5FzUPW0pjgemyxAiEA9xb5yglPnuEG1C3uXUhIe6ZcIYFjV7YouhUChiPGAF8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivXHZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpaAQ/9EqBMRIJYXr0A8Sv3bTQA0qlWFR3k7so9X1UAC1JCI/fHdUgW\r\nGGxfFmo7D0TW2oKEsN+1eZ5OmA+02c2afSa7ftUJ/XVHuQTSG0jv9okP718o\r\nlxNga9XOWoESP4+IV1/Y0pOD+HJS9xQGPoCgMKZ46VHVYoSlnU1M1ypLeTZL\r\nRgqgDsrjpLKEfv4AtzgkaRRR8K9odi3HGliSreqOOZQ3rOTbiQUt/FqScFvv\r\ng8wmhdXK462a8EAgUJ5cp3LrcTc4qyCGKL9PKFLYWP7M4RuSRxjlawfVUvZu\r\nVTfk4B5IpLqk0x2Og0HI45VqlSmUuk5rPAO9pZpYEYlE+bJRgipoIuwaUuyn\r\nLsXByNhDrEsRtYjjb8erwyNHZQl2AzMBR6aYgf2/ykEROwwYqzfDd7ok578g\r\nIoOOgy3LjM51k5Jn/8dqq4I/RjoMZqvW5BOpLHZ+owyMCJdRhDSdWVkRNPBn\r\nox81lamczOx/VEWHi9a3V3Kcb4WZ1Bpp6xGzrNM37TkkRqbmAp7JlEL+Gwxg\r\nYN6c/m56BSDH/14E1ymwKS4mTNDXxfr5ql2vT4Exud9EcZQvnCEd7cunU3rH\r\ntXCww+3g6uCPSVRDpcnxUBQr8lZnsE0/+s7c5zC2SImprnKcn0mh7Ae/ynDO\r\nvX7MvpnM2/uPtZCAeCBgdq+GABPgZofMtKA=\r\n=dUGj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.16-dev.1064abf_1656582617100_0.527741989438796"},"_hasShrinkwrap":false},"1.0.16-dev.80b14a7":{"name":"@usedapp/core","version":"1.0.16-dev.80b14a7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.0.16-dev.80b14a7","_integrity":"sha512-xasJ/o4Kz9dEsNKB/CL1+Ic/O9LUAiy75b/nsHjfSnHFkriV8hIy6SlbTknQ6YAsM5/mMT7PLsWPqpc2gMDydg==","_resolved":"/tmp/2977dbf1f2cfebaaa3c3247938f9a454/usedapp-core-1.0.16-dev.80b14a7.tgz","_from":"file:usedapp-core-1.0.16-dev.80b14a7.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-xasJ/o4Kz9dEsNKB/CL1+Ic/O9LUAiy75b/nsHjfSnHFkriV8hIy6SlbTknQ6YAsM5/mMT7PLsWPqpc2gMDydg==","shasum":"22da3ea8818ecd982109c676a1d9d7cf1d4a7538","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.0.16-dev.80b14a7.tgz","fileCount":2246,"unpackedSize":3079134,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWq809sj3N+2OXydX7+JCTxC0rLkBjS0XC+pdk+F3WWAiEArl+K3oNfEDH8TvZi8JxRdYF6+C9eKkBAPhVKXrzTJCA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwq3gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7HRAAo0tdlUU+g3JvoNCb06iO5IB3LPsJy0MO+GeEyOYvtKbe3wfh\r\nKsLUbX48MKkYe6buPFopZkf0kJ3FEtixYK4axHEZlR2YSLY4GH66IWNX0RKR\r\nxr9QO3c5dziN4URmaVJF7GqwF/OURyoIAn+drTC1IGxqSeaXqWecJnNK0KNC\r\nR7DXdBROIfV8LmhiCh2TgcaI7/ozHySQDsEmQLOaGW5U3HfvPs/Pk8laxb8+\r\neYv6DWpWCoNWpleIEJz5kFj9bCNMYOfABCcZJ/GsbztNxFoq3cBzzAV42xCD\r\nzSqjAyxCeiS2YhWBsPcJe4vuwnoBzgkImUUmgxH7SanFvFBaulekhoxQvsjw\r\nXIKl4C3n0QWKvySOlzD6VESCK8p1S7wnVqjn8o19MLeatryYvN4Xmxqohaet\r\n4rcYWw8Wn55KUvwLA1cx7qaiRXSgD3Ax4OcgAD0wLndeQ/ZUlqmHaayXMVQv\r\nrefSGcEwRNXul1sB1JbDOrsVCLjYf/cjcQMBYa/IDnNCKMhu7W3LW0c9dGdO\r\nZCz6iMbv3ZrzQjfX+4JBNBfL8QFxKzvmpCKKDQLKrx+ksagRbstxD6vW4IXJ\r\npDhjdaAvoJRR+YE4OYPMDyIhmuai1SyjbtRMUPrlk2xqjQFawWqazMzzlbBn\r\nUkm3PnuWSQ7YK5mfNEtTXUWsYvIRkFMDryU=\r\n=VOZ+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.16-dev.80b14a7_1656925664173_0.8516529374553774"},"_hasShrinkwrap":false},"1.1.0-dev.eb43012":{"name":"@usedapp/core","version":"1.1.0-dev.eb43012","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.eb43012","_integrity":"sha512-HueQzHjYnlTAwfMSKnEnattgnwNDx0dMFNhEUZh/nZBsSWn5lglQe5lCBn9NP5A6+aEe4Q0o/gAPq7LYH3RfRA==","_resolved":"/tmp/62155dfa20bd313d4cdf3bb5dc93b4d3/usedapp-core-1.1.0-dev.eb43012.tgz","_from":"file:usedapp-core-1.1.0-dev.eb43012.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-HueQzHjYnlTAwfMSKnEnattgnwNDx0dMFNhEUZh/nZBsSWn5lglQe5lCBn9NP5A6+aEe4Q0o/gAPq7LYH3RfRA==","shasum":"10bedacb53591d347c016e2b815a44d3b28b5f8f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.eb43012.tgz","fileCount":2246,"unpackedSize":3079133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwXrxiTYvDcWyZw6zl45L5y+DhLAEcSn3uulM369cOKgIhAPzjMjaGOkOlXxiC4tSk3IRNz4Uex2wnLr9IBBJo9/mu"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwwHsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4mBAAld/ce+dGc/4CP0IeU+5W7vJHR8ogObkbxJ/RW/1BxwpASFx8\r\nW3861a5wn9GK37ImmXihMRASHVweIYRvNP74VyJCyux13/ndaFAxf+JV5nFR\r\nHM0qvsKpRQ3Cxj29LAO0hiRaetLXdrpJNKORiRXWMiCTAcIXYjJYR5LfsQUK\r\nTD9xCiPnZ2qaAr3PqZ4IKuuU68d5ilLyf8ASFjBPXrD80g+KSK3vn+n6trwk\r\nEwDHa69FaOhbiIact54Sk8pA3EEjAEiA7Mnh/A6kjAwLc2LE1kZFntQxFGqR\r\ngD5HQURr4XNWW51/M7ivCEPByUJ0IwBu7XZSvKcNsBJ49px7xhp8nqc6Gz5V\r\n0ZC8kNCTiOfrlfnplKQML/zGnELVBF6bLtMV/NAdD0pIAuq7cYcxVPd18Jm3\r\nsaObd4bniHIWWHPtHs01NUkUSEgfd9Zc9/n7ufIdf6GDxglYDSXtpLtGO6ln\r\nKki7EyQHKYA1fQs7XTb45xrIAvQZuQTSAGq+9jr0tppYP+dyTFVJp02tz6nD\r\nEM+IOt3cqla/BrzxqwmA30+4+TJkEgrM5ZPH35YqXvxHC1qSCagatMuBzVvs\r\nqGsyEhxSgnAx0i25IIEfVuZeKghgaoioKHIsFV7Gl/5bz7qfNJM6Q8hBxFw7\r\nPF/XaQalruxx4nQYd5a7Nw8VMQ4dWGRFGxk=\r\n=meG0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.eb43012_1656947180404_0.7285919803765342"},"_hasShrinkwrap":false},"1.1.0-dev.e6c44a8":{"name":"@usedapp/core","version":"1.1.0-dev.e6c44a8","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.e6c44a8","_integrity":"sha512-78Orny3OugEVR1XRFYqKe7taF7OeuVOkIRf2TMv8+ZyUdwy+J7ddBfUcMxs/riB1rQUNUghvmpSme2R9J4BzZQ==","_resolved":"/tmp/6b49cb4dd56bed979b6f128c5045422d/usedapp-core-1.1.0-dev.e6c44a8.tgz","_from":"file:usedapp-core-1.1.0-dev.e6c44a8.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-78Orny3OugEVR1XRFYqKe7taF7OeuVOkIRf2TMv8+ZyUdwy+J7ddBfUcMxs/riB1rQUNUghvmpSme2R9J4BzZQ==","shasum":"b2bbe7caa58389cd4191f04e49e6992d561f299e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.e6c44a8.tgz","fileCount":2246,"unpackedSize":3079133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIGzOTxfAcxPRQNFj+uYRVYF4i3jZHJ2fckb0BpWlXNAiAXNgDLUxluTqykMhWo0O74TIQK+9nY/Nn9xF7yMhAR9g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixaz1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVxBAAm294DWWVLSklQQ+sdPNx0RI6uTVg0L8UeyhLM4gLF5mXmivi\r\nBVpVct4ic6ddi6LXOzQAKvU9oVcZQV6oQv4K1M01IjKH3xtPAtPIbgZo29ae\r\nbUS7TWEpYa4QyAEiLwOZbobXTQMCFKGZjBBwknKnO04l/2DixhpUqsAbVP9L\r\nTTce7LBWWEZXm9GloBaXH0HOsCXsToQKzk1DAyr4+04DByXdXH0Zx3nM2vVp\r\nZY1AT6L6I1QaJvDvZKck7XyUbQwJKeQv8WgE5HoOMfTDk5EjRI6aw1zeRQ+M\r\nTGIPgyvpIw2+81xr5xzNLYw0UN3zeQUeYeqzUgg0m+XbXP5BZz3Sge3LyNJ/\r\njTcYygAsxSb7jBrE7XSumrRWkZfgYvM5pI+prtEAj6QelnnEMcrqYm/A2DlU\r\nOdT1cVYtSihhSq9tk44ZoThx3rengAAyd7vOnPauWED9NTZFKiBVvjQlTNde\r\n5qT3FM8KZBLetFCruydaIeXb3K2Ckbesk1yqmlw1WjE/sw+AI9iBF29GIQo1\r\nmmMMlN3hR7zLZ0FUyBkmV4hAumrjyl7zFW0gVxpYBmR5gH1H9xsu6ZHYgmBK\r\nFIiOYqK7sV9SA3m9YYeKkIMa1Ux+y9zAnzmE6X+dlbZCT9U/cVtY5GrOQQdj\r\nhwWeVniY8CyC3nN5PTY6ucYst0NjYE4n5qA=\r\n=EBsw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.e6c44a8_1657122036951_0.09308577699502396"},"_hasShrinkwrap":false},"1.1.0-dev.1a2280e":{"name":"@usedapp/core","version":"1.1.0-dev.1a2280e","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.1a2280e","_integrity":"sha512-gpRiwSJlHrLDoEEA46j0GmlsvB88WJFF0VTTWYFArd0e9/lZsy8CmyC1fTbGi8LUoZAM3AgkdyZBgxoR6cIKDQ==","_resolved":"/tmp/6c4e85b4a8b0f56d44573bc32789cc29/usedapp-core-1.1.0-dev.1a2280e.tgz","_from":"file:usedapp-core-1.1.0-dev.1a2280e.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-gpRiwSJlHrLDoEEA46j0GmlsvB88WJFF0VTTWYFArd0e9/lZsy8CmyC1fTbGi8LUoZAM3AgkdyZBgxoR6cIKDQ==","shasum":"3042c756f404637eb3a224fc249ddf7b1100eaed","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.1a2280e.tgz","fileCount":2246,"unpackedSize":3079170,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhqANrDRtgRzrQlJfzGZwRoz6eWXbDegAhCZ0G6TD23AiBtlb5/X3ToAz9xytbsdS0c0PKPoFL+GUEUXPr5Mbhv4A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyDlDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmorPQ//bcCn/wU5CLkpukg5+KdF7Mr/xTXvbC176OpDt07B4hXe1+AV\r\nwLhP93I/f2CTAv2T/A+KPqwqac6+3xRG7F/rFOGWsP0uDG00eJ71UGnJ2sNp\r\no6inFPidQbP5Mfi/WF7wtnidqrIpZnMvmf8Vb/weltfTUpSYl2YDSY/E6mv6\r\nhhRMlOcHdltS3fy75mpjPDeXaUY2T5mrR81MP+/I2/kA0NctbR6fB7udq2Wb\r\nB156BWXO2X2jmBJND8d6lJXdeJ8MuYOuHNooJTmvhdjMEUoBxcLtJuxD9OvM\r\nKdVwXD5iocr797Hj0dthsX//cuheG0/xJ1fnfFzSzY5G+no3sXMSpN0pRmyS\r\nagPjxf+qvdScVugCXirYZSNNA+4Tn3qaQYOsk3usmHUsTxjDZcacZysH4nAT\r\nqesd2Big+B5ovKYhMGPVEPcl06c24GYKMx1E7f6SHnI52BYJl0YX+jjWsRPS\r\ny9TvUiTK+20FaAI6gST/ECQNNLqY6xJpOmIC+SWDt3qBHCujrD/1W0k9FZBm\r\nN5MX+mf+m3gEby4mJFdWD1qyP/GfhX8ulsixhDp+b0DmXR25oCR+rHZehGod\r\nOZPynS41wEC6JYTmnhGA535j9KNP8G7Zay3tJ65mtmqaBCQqTTDNShFqUsjc\r\n2dhEKaSdkG7QapvAE6aX45c2uEcpbNf40Ys=\r\n=+riP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.1a2280e_1657289027304_0.7559067754449447"},"_hasShrinkwrap":false},"1.1.0-dev.46182c5":{"name":"@usedapp/core","version":"1.1.0-dev.46182c5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.46182c5","_integrity":"sha512-yrTvDOV8jL9AJJeVeh45Izr8qoLCbATKw2RJWu+v0F6HeaicvqtS+CdKg77aacxaO0fVu/5iDiL1NxR68gRswA==","_resolved":"/tmp/76ce8b633c0fd53773ebdf93433f3614/usedapp-core-1.1.0-dev.46182c5.tgz","_from":"file:usedapp-core-1.1.0-dev.46182c5.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-yrTvDOV8jL9AJJeVeh45Izr8qoLCbATKw2RJWu+v0F6HeaicvqtS+CdKg77aacxaO0fVu/5iDiL1NxR68gRswA==","shasum":"a83f4ddf0490f6f6b1f16fe6bba92632547999a9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.46182c5.tgz","fileCount":2273,"unpackedSize":3162745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICznS3USmCdh6bz+CTv5xfHrzkORifCJ4Oqg6An+jh1oAiEAtHQEwcd2Gf9eYNGJijBOfolGMmv3/qMLvT1ye4edthg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyFMiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrj1g/9EJ6yfhYI4r//9ZNVWFJM9YNOl3jaRqA5QIHlt4DwYuTqSOYd\r\n7SRm3VkNgy21Tu0zUoyPn8yGexdtAv7SR7AaqEoX/IrVZazex9aa4vYKt2SH\r\nqIhfsqG4ZMpqqBrE2qHB3pCRel8H1HfXpZlIEOUzyffnLjdV5ZF5VjLOLHeZ\r\ntRLPmfNxJgRK5fdGZTuApZkl/EL/LN863tRqZoxzuBxkr9Tmb/Rn3pxpyy2h\r\nhK9Wi/P6sVv+k3XD/pMHDFDnuc2G/lduPQl5SMVxmKSApawsuwhyEWfEmHlF\r\nXuRNG0zJAmJoBzLFPKn6cW9IBQUw1Q6opM07vOVIU+JITDkl+3IO/4z7L+9z\r\nU249reO5QuCWTBxwE+TmseP0hpPWzg3m8+h4JK9c3Zy3gSxoyiT5Q262Vh+Q\r\neGKKikqV9g3QJA1BkTK8DE1DOk1MhrwYt6rikW9YMINyCupO9f4M0iU/rxtr\r\n0cJr8hDW1WV/mtjlPI4nKFobAFM9Q5t/g9+d+Qyc3ilKYyifK7fLRmSl53t1\r\nrAF8bGwGxK8WR401iVAdeZ2gwDVo14GkVIWoC8W3uCtqGES9siS8j1ma+q20\r\nJBF1qjI1Bes8DSXzm0TIjNyq67szfFZh/bBF54Jm2G9O+YmG9M2zcVK2cZTa\r\nb8v8aC+T2kb8NyFs+fhSPozH52dvGAWQmk4=\r\n=r5vF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.46182c5_1657295650267_0.6371863793661654"},"_hasShrinkwrap":false},"1.1.0":{"name":"@usedapp/core","version":"1.1.0","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0","_integrity":"sha512-nITHJkilOXIqwOzynww4cMPEnl/OS612GJE1AK0ResP3+rDD2ix/nGbA/kSnjgwtBi+9zHZiYc0R7XsajFcBLg==","_resolved":"/tmp/15c3eedd17e578be907a18b910b943fb/usedapp-core-1.1.0.tgz","_from":"file:usedapp-core-1.1.0.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-nITHJkilOXIqwOzynww4cMPEnl/OS612GJE1AK0ResP3+rDD2ix/nGbA/kSnjgwtBi+9zHZiYc0R7XsajFcBLg==","shasum":"0636affb32a7935e691fbbb67559d13dec825751","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0.tgz","fileCount":2273,"unpackedSize":3162715,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeO3B+N+4yIwBn9sOtU2/YHJskXqA1C5EKPBwPEVxYsQIgWHaZKqyNYfhItP/sRC2FN6Qv5XiQBMYPJZS/kabpB7k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyZnrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHFg/7B5GzjOjZSmPRyC0i3xp/VM9UH/9gOp4LvJExMIcRIU/GmztF\r\nQJFpOhORXVxkuzDSVVN1C6JNslknglP2hNFakhdWfDzWo+x9rqIOMIyAfg3q\r\nls9WaUpyOC+dS3jIZMZI3cPzp1wOynFNepFLXcz4k9ngSUn0iBecSX0B+vTl\r\nhmFcFlBRGfC8Jm9tuxT48Muy1cCB5uugXq1JdVaGw7Ao+yrwkfKmeE6CfmE9\r\nlJ77HLPxUO6L5dDmCu1czLusajSAqsO2LMuJ/yC9KVW5X+PwQTDT9mpC0Gpm\r\nWDfu5fylYlizzHW4e9TteNRlAYkXzQPr555NwxvISXOEq8kuHraxKOk2L9IA\r\niLdSSGY+vUGkQD48/wrzU/Vvl+AkM/rFNmRAwrH+0209wGTe6CaTeMB3Zcx5\r\nW3Qy8jYzJoQYFdD96rseTohLCDITyySeXArLizgPc2ZL2JndXvr1QrN7UJhd\r\nZkhFDJH9lv60/9S2EzRrf+nCO9bztvL5uciRelJgLek2lrSMukc9G9OVdfQu\r\nmhMtekAVDdcMRtFHXbKODZv2vanyqhx5UuXg44BeFxFr0POPO1KU5fMmvCG+\r\nhsnVpWUSHHEVW9ihoAziWWSTmNyw8Ljm4YnYB/SuSLMg+gHGAq2klzoNOIzY\r\nRfB1uQT4nJXYG2XcYVZYjRRf8ZyLse2aFGI=\r\n=3xZG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0_1657379307587_0.9145234781101279"},"_hasShrinkwrap":false},"1.1.0-dev.029ca32":{"name":"@usedapp/core","version":"1.1.0-dev.029ca32","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.029ca32","_integrity":"sha512-GvVMeazJlVjDQQ64p8LcSMCMSpHVI9x9Q9yPKot/MDIm2mIhmgpNnSn3fw0qE91trldAVhqv1WzIjA1HzILblQ==","_resolved":"/tmp/5e0592ac0a967c56a703f2d957be0b0e/usedapp-core-1.1.0-dev.029ca32.tgz","_from":"file:usedapp-core-1.1.0-dev.029ca32.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-GvVMeazJlVjDQQ64p8LcSMCMSpHVI9x9Q9yPKot/MDIm2mIhmgpNnSn3fw0qE91trldAVhqv1WzIjA1HzILblQ==","shasum":"71d2d280061cf62f1a25cafe8ed91410daa152b2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.029ca32.tgz","fileCount":2273,"unpackedSize":3162745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgMK0tzLfZm+HT2yRbAN81cSroNRHDLNOGbS8CFkkXgAiEAovoRzhNQzRnBT/mQnq+H6kSskpYIzWNKEvVa5xOjEqY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyZpEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrt4Q/9FF5xsDrmNZE5m+tWjqfxT8mS0pIe5RBVW2zkrcV2U0u/g1on\r\nxG2KGkcQm/dUoL1sxc1ELHi8ZYytHvY7WL6p5GrRnCuf7DkCsgVlGX9xYmoO\r\nCzFuTEoAO2rpuWn8m7Xg/VUdUYlplhlOaIsRIAwvxtB+09LXCW1X6kMdzZ29\r\nqeFEmKIe8Me54y+CAFHf9NbFhjBVQvRFwT4rmrSBMCHESeSogC5IQznD6lN3\r\nOyaXdJUQNu36f8L6kh9lkzGknnfJTH6yAhWc5r1gTdciKgb9G78EEEr8IC44\r\nB402E0aJb4uZZoqGH6NU/77C05r25NZlZCSGLdAggDcNYJM8aHgvhPa+I07Y\r\noFfBWtiV3Bsu8aACUGgaeCp5kuknECf9pFr4xT2KBeBHQKXNt8va4djhegPh\r\nvi6dRU3Kkz+GUF9bUFqm27Ayo2zaY7R9dsnzD/2z2BWGsljAmmudTC+bnXWy\r\nCPEaFuZ0Hn2D4ntIDWCxIxMha5yziAK9D0yRG52odymM7CCUXGv+mDQxhfPb\r\nYK6n/ec93T1cePhoUZpGAnAA6U1SDqWYEG+STCev8vgYsabynCUZvTMeHv/K\r\nR0GbT3iY2ay+Tr9ryPGiAOU0pNRyB0eqc8V3oWqdh9mAf/Oo0kQMh39mvoN9\r\n+cwMwaWPhb+NffT/mGGw8URYZt/5ODguM5U=\r\n=cVOW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.029ca32_1657379396632_0.7407754344587698"},"_hasShrinkwrap":false},"1.1.0-dev.401a861":{"name":"@usedapp/core","version":"1.1.0-dev.401a861","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.401a861","_integrity":"sha512-x9s2WasjKp2FnQVt8NYmAHcv75TuwxyI+hTmJGUdTJUA1gmURWh3uVapw3NHrL/I7pV48DE7P8+s65xMI5BPgQ==","_resolved":"/tmp/d452fb31cceab3f196cf8b1fa9b6e94a/usedapp-core-1.1.0-dev.401a861.tgz","_from":"file:usedapp-core-1.1.0-dev.401a861.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-x9s2WasjKp2FnQVt8NYmAHcv75TuwxyI+hTmJGUdTJUA1gmURWh3uVapw3NHrL/I7pV48DE7P8+s65xMI5BPgQ==","shasum":"59f4ed936377b8ce65ece663f00ed570dbd82a1e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.401a861.tgz","fileCount":2273,"unpackedSize":3162745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBUClz0LDAudI1gLvLKqR/s0n/Vfx5zlitMnNhaMmjyeAiBxqOglXavVDFvPVmi93HblVwFJuP7lpXQJ6hZhrhH1kw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiy+yGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrq1Q/9GjqYWMFE86/biWPsAjMm1kayfy0eBs5o4nTJm6rcHwdMBek2\r\n1/KETK5tBnOpVo2QTuRttHZXmdKDlPP+UebNzjqj18ZitjGkDqw6mofd8YYX\r\nJ05ikCMKba7JTAXepezludDcDMkd4StSWi3lsuxm99wm0kw1tZ+Jiuf6YfqX\r\nM+ecWg1KpyYm9jqLnCNTagt98E5WVh8fXXJmOvTRZr5VkGhux8cyW8DtpMBm\r\nrdAO/x7Ue65Rz0u2Yn4rJP9f79OHAvMsDx8mKSdrMS7yXl4Tr2g06KZ8fWW+\r\nnwEnEFS84TpR/XWnVxUSXpFARAi8lRm3OjijtR8SAz+ku7F4eFrqcRfhUpqd\r\ntc5PQTzLyK3vT7t9NPSywvnZsc05UhpV1xH96OxNlCbbtXw9jPkq+w92vMgG\r\nncQphbH3Tj5t5YT5Ulio+GEq79Wjujwj9LY9R61Cj1Bof8aP3dEUnc+AOiis\r\nlqxVzz0kEAwvqDJUWjBigLL96Q7zNodyNr/qAMZWb9wdHGQwdS38Fz/mLnXe\r\nyKWUQVVsWYU3ZJurqIzfV+ymcLRHOwIm2GZGI05AST7pZzdUriwQJKX9mRQ+\r\nMGKH+uJmvN8B5hhnp/+Q47AHbK/qg0+r7n6zgZFdVU8ZNwum79/0NpGS6mSv\r\ndNF67AV4CbBngXZbU3tjZeM5WABQ4md/ZIw=\r\n=Z4d2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.401a861_1657531526542_0.5901230951629406"},"_hasShrinkwrap":false},"1.1.0-dev.d9539c1":{"name":"@usedapp/core","version":"1.1.0-dev.d9539c1","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.d9539c1","_integrity":"sha512-YQccmgBSU3x7RIc75RRHCFaDltc7zDgWA9OHc3N7fMKuNOIhHPzWYrSukKWrDPGn+PG7k7y+s/0mTMqjR2jnMw==","_resolved":"/tmp/36208054aee47795b14a3676eb278f05/usedapp-core-1.1.0-dev.d9539c1.tgz","_from":"file:usedapp-core-1.1.0-dev.d9539c1.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-YQccmgBSU3x7RIc75RRHCFaDltc7zDgWA9OHc3N7fMKuNOIhHPzWYrSukKWrDPGn+PG7k7y+s/0mTMqjR2jnMw==","shasum":"b3b0ea61d8e9a329f5ae749b0685f93893d99f6e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.d9539c1.tgz","fileCount":2273,"unpackedSize":3162745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC1OyZYWSMhaFltnOqM7pojHthPgEgsgYflY0Tuw18mTAiEAvYJNzEJc54rlv3JWrnCby3x0kgtW2bKljKpohfg+Lrs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiy/SXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptdxAAgTdZ9NQca1jAnJ66tt/t91bH6mrk7hEAabBTTYjh8u+B0jnH\r\n7kbroUCVUui5o/2mM9W2YpI2w6J05y/qsyF3MiQbwq8XkaQhw7Gpht5AaBX3\r\nTJSOWQlnP1kL6/zU5b31Ms3X3M09Ci4TfkTv02PFw5SBarFN55DDjDjqDSpm\r\nhmdDA6i9EfClqxybMT16d+/H1ED6Xoc0W0aZGAXjrUc2Jp7I2nHzaMHmU6jL\r\nxwTUcjGvEPEXfKP6Q/WNLuT7ddSPBdIhTmrVCZS1/m730U2pzxEG/c2ivPFp\r\nUFvbyhoTK+E02U7g359GEpX1NmEo4afBPQyVEBuVI9y6FmYTzki5+SrFm09p\r\nWm+weX3MDLE2UM+jjyWf2ylE8pZ95TrdLE34Aof93O4dW0zWyoPJymKoAaoL\r\n6Ef6cu0wN80zZMnQ8Ae4RuH5QQuGLDYvt67OUg6vK1vOYCGPKdX6NMT+da0R\r\nkiIrELiBohHCSdGFO/yWISVeOaFBihWkN4rf60h5Y0txnMo36jIgOFarEIZ7\r\n6TbJ66nCN96ZRQ39QLBmXa15icS6wGV2kJCboF0ZD5dpatbpgQM2b+LAOnW0\r\nL6JhSQflvCrYGPI14bZBRCRaqVYdFukMmvzFh+C1/YWXv5UQ4aulqRgAqYVn\r\n3r80BWoelvJYVOmytAsU0VDDRQjKgS9E4Eg=\r\n=gB1s\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.d9539c1_1657533591555_0.12906572725916443"},"_hasShrinkwrap":false},"1.1.0-dev.44206c7":{"name":"@usedapp/core","version":"1.1.0-dev.44206c7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.44206c7","_integrity":"sha512-xBweYHKmhOTdhCntDEa7CRxl9AkJqDanbbhGHvKAHHoo8N8eN+MEzNZoYLRiizI8Q587Va1C0kVZCu82En+9qw==","_resolved":"/tmp/e6f8a8ce6a5533ec8035a2433fe52d59/usedapp-core-1.1.0-dev.44206c7.tgz","_from":"file:usedapp-core-1.1.0-dev.44206c7.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-xBweYHKmhOTdhCntDEa7CRxl9AkJqDanbbhGHvKAHHoo8N8eN+MEzNZoYLRiizI8Q587Va1C0kVZCu82En+9qw==","shasum":"6d82f60db3394d927c816bd020ccb575a53962c3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.44206c7.tgz","fileCount":2273,"unpackedSize":3162745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7nJSfT/3R3b3QU2W4/FbWbboJX2Nj3l+MA0Piuw51NgIhALSlgUpwknT2zoixNt+eHkqBLPUk1RUQ/JejMPwbPmlx"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizDNSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAQg/+LuzHEUiRR+CiySYo0fO0JDOAUHSSbMlxR65p0ggkVDntzIwc\r\nUNej2GIXmUY5xhUZJCBQrHxlMwu2A0Suo7fcfQg79tXzsZrBm0xlSExtUmIB\r\nix/iz0bWKS9zP3ngZqS4DAk7jvCYbHOA+4zKkaHUZSSlwRkBClV2PpT36OSz\r\nZW/EdH0z4LKj9pN40Dgxqa+lvPgcNAvNvTjM5+J48NQuePvAueicZgWCV15d\r\nqxlSooGhv/PGbGs8B02Mpryrcg/db6hfBCdNjKivrHUns3Pcj6IzzAM14T4E\r\nDBOM7LakHSWmVieZLQT/MHo//bFcMnAEbY9NV62noJlfqjn8va5QPhoCnrJg\r\nPHkYoVhQrC2Q/rPACfMmxi0G2oB9Eh8ICbrtiRzJe/AC22zRh8haEOtAs4gt\r\nYsoMg8tuwKHpdz0TvkCLMwgcQuX9ptmYm6yBtHdbm191kWypjavRXi/LffsM\r\najOZ/WfbejUeKbUjSydHuUdxgMYRqJ6tbwNVMowPfb31vMwhRtTh/ismm6nB\r\nJ2xdnauser03V5hLs3zmOerx7/rcAXMlL8tbD240YeMaYydvTSUO/RXk9dgO\r\nAE2Coowi5dV/PSW4fG0tW31+tnnLDvRC/CrtDaJTgkL6FRVXnhsth2fcCKJy\r\nB3wx+JmGJ5g2C+HOtePjF+C4suEnAYExls4=\r\n=hNFE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.44206c7_1657549650027_0.6346122530888305"},"_hasShrinkwrap":false},"1.1.0-dev.a5cdc46":{"name":"@usedapp/core","version":"1.1.0-dev.a5cdc46","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.0-dev.a5cdc46","_integrity":"sha512-lVpD2K57Bzf8qFd5JnIxkilkeWziHwHbwSax/D//DkDWW1iJEnuW3/im0wttm55vqQCR9iFgLu/sG8LjlI+nfw==","_resolved":"/tmp/27d1979e544becf2333c8f1943b30b37/usedapp-core-1.1.0-dev.a5cdc46.tgz","_from":"file:usedapp-core-1.1.0-dev.a5cdc46.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-lVpD2K57Bzf8qFd5JnIxkilkeWziHwHbwSax/D//DkDWW1iJEnuW3/im0wttm55vqQCR9iFgLu/sG8LjlI+nfw==","shasum":"f1138823182530572e86a9102df3ddb1b3805a57","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.0-dev.a5cdc46.tgz","fileCount":2273,"unpackedSize":3162745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbAbrbFpyPuLUX5EJ37DbV0TFOlElnGt507TejYQE4QQIgbY3taHnrnWf8K7+XyoFrs8c0BRQmmO0WgQ4rW6tOWz4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizDotACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq14RAAlHAZOnqncmkGO9yV3o4FnEy9jMft/nDt29IXCbDLPQ0IJ4wA\r\nkUehTVmUlegI/aEmOyrFYKNjksfpu5isd0nMa8v6C6mqvAFwd83N7Vi4+pnK\r\nzSLeEHPhwe1bQyXsSveOo9LMlqKkB094k0XHrWC79bqilzaxSuCKfm8dxCvx\r\nr6jNIXTfwqwYsMFrmMFCjdZaA6915WQ1Do9ETwq9bm0bBtnYsarXpBXnKDtg\r\nYa87rOwSpEWnzX4LrgpdBU0ywFEcaKvwRwAXXG2qPICeVGcFJbnvrXRGaaNa\r\nLwuSjE/0fnQr3YtnAuPPtkWR3qfp+6UKva418ewfpY+WbYrBXkHhCnXaXjq/\r\nlSu7/hHU9BZMs8EIZkVhFiikrtNPz976Y6EThO1Xf3ltgxJ+72k6PAy7OHSN\r\nCw8sCQpvER8C+aCusgHRkx0Jo4xdgIKYoQmIEpdAZgQIQzYWYfPD84SgUA2Q\r\neggG5PdGLPQwaLCagUacKn1VoCBbu72blb2JbCLWv5/CTa+/VSanEpj474/I\r\nBxm1oBn5i2uFlgXRDlmu6he3M9C9VdtMiIgth4SX5OZCf8Nr8FaQqTLz/5wh\r\n1Y6mBzF1Bwhs7FutD74MIhWpXcquMr37HIHFtjom2FejhWyBNAY/dre0r6AI\r\nDKVu7BKzjV00p0O7F6Mv5ZhcfcVR3ZNWZH0=\r\n=NT39\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.0-dev.a5cdc46_1657551405714_0.5561965200162533"},"_hasShrinkwrap":false},"1.1.1-dev.b4c466b":{"name":"@usedapp/core","version":"1.1.1-dev.b4c466b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.1-dev.b4c466b","_integrity":"sha512-uP3zTc2b6+GjjNQLa7qVMKroLPqnZTbzxMF5Z8TkgUQQ+P84GQZlROpV5WuBV8FBNQPbDuQQ9Qgrcid7rfgvnQ==","_resolved":"/tmp/c780c972fad5e8bc49ba003785b6f95c/usedapp-core-1.1.1-dev.b4c466b.tgz","_from":"file:usedapp-core-1.1.1-dev.b4c466b.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-uP3zTc2b6+GjjNQLa7qVMKroLPqnZTbzxMF5Z8TkgUQQ+P84GQZlROpV5WuBV8FBNQPbDuQQ9Qgrcid7rfgvnQ==","shasum":"7f83b4abbf3df270ca4753359e99abd724c65e53","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.1-dev.b4c466b.tgz","fileCount":2273,"unpackedSize":3158576,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+F2Ku0/DlAWxActvuk0E6ZNYg7YP+5w1f/cwlHG0OnwIgGedcqOCR1+DUglHfekmxKj9TqUxwlsseIx2ktr3pqV8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizTESACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTnw/+LHMOdfrB1UL36Z5knR6CnhN3ETsjCGBjHs/gBvjeSkkC3Cug\r\nL/mXewLEEjA+hn2Mf747DmWefQqCnhl51ngmQzIlmePHwnLGcWWC/p+ceK+H\r\nhxCko75Xlg3kG5+IXCADZW21fEAXthoYf5GHg+0/eCVjZg2lryfciSUuvv8D\r\nZJ5XioIEJxwOwKVQPa+F104aX22kFGtWPgYyJTKTM6OoQvTfCbvbNXIzkvDY\r\nQjegWr9853T8TQJBhWB1l9P6OnIcCy2IRz5qHNKw1YF5h+3crTKHNjVdmo/I\r\nM5mj2ZyeanuzApe9EIBQMyiR+y4veZBkmPwbaNjfBn6bwwoUw8Dj1SkGA7Ez\r\noczAPwQuzMzWymqQeFdUMW3sQj8GiJfOSYIOJMVIzwhUR6voRzTGqrzzitfG\r\nSB4pMV+9fCBVQPIqJbVeYomk0zCYdp8lVLpEzqp4/fhc0fZ+/4ttqGnhk+0C\r\nab5oq9Nscxw/mTB9++dUM53AOFXI9PT249YO1Rv4r85rUkotaanVvuhiApXo\r\nO6CC67oTgL8osjmb4V8D/kJ50AEJPzwBbh0PXid39xU+rSbhl5fBppWtI/Tu\r\n4iz8TGJu3JHFRgDY7dSdt9oasq07LLsU+SnSHQ7HY4DnlxafAPM/4vRV5Moc\r\nNYEykEelrYFQP1ofBAzr8ljDKAl6TgkWtkM=\r\n=raFa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.1-dev.b4c466b_1657614610735_0.5954512187826562"},"_hasShrinkwrap":false},"1.1.1":{"name":"@usedapp/core","version":"1.1.1","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.1","_integrity":"sha512-yGoeUUllKNPFOeI24yqhez2/wbhRdxA+bJZDC89mh/hODBNF0InK8dYcnqlpcg+diiWFtQ6fjwgaGx+4hQQV1w==","_resolved":"/tmp/f89ab525c4e8306764341e45964506be/usedapp-core-1.1.1.tgz","_from":"file:usedapp-core-1.1.1.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-yGoeUUllKNPFOeI24yqhez2/wbhRdxA+bJZDC89mh/hODBNF0InK8dYcnqlpcg+diiWFtQ6fjwgaGx+4hQQV1w==","shasum":"e91e0dfb0e2bb5be6713c05f6c369b4d01fc76c9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.1.tgz","fileCount":2273,"unpackedSize":3158546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhdIvhXxW8fh4grf+n8Wrk9lir+QbFLed/Z23u/qntsAiA+WIPE948Djnkd1oTp96KiVOZsSM/trrvwkaD6d8msQQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizT2eACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppZQ//Sx+LWXhOh2K6azku/jTEdChBSDFkBun+N2Cl/47yUOhGRyBq\r\nF4WST4Rsm+wYA2iAxGaq0oEzfXoy4LrGQPV5DK2KORBLL3Mm1sEwQjrdtTM4\r\nBvOpzuOb18UWzXDExYULHTCIuFfyn8fVtA6vCOliGZ7mq0WvLGl/3DUB2kjd\r\nVv72kjoTLyrqu84MOc74Fw5NKDlv7ae6j2R0qdD4PgCnXXB9km6RYwZqlO8b\r\n1e0JYRJpfDATxsl9s+siuVeFxv92D6oarv2q/QdMlI54/hojyZNTVPXl3I9J\r\nEzR/Jl5rB35dVlCRwEuy7Uo6QfZWJhh6q1vIJcvSc5gJ68iPOb1BpPyBuPBV\r\nAagCUan2X3/iv0yKQ6p5xn87eHI9VXy+3qI0vklXRf81o5zyQEmMIpVlzNGl\r\nOaCgnzY7R+zorys61OLtif6yi40YO9c9BzYgvvbw+SoPSBNXU1LxLfbaMsPf\r\ntwOh6ktGtd2XDiANhcmIDGOCePZsd+A4YpmZQTQSVgrLRqkKssmw6OWK237/\r\nXLsWjctuuUBPADh5t9bZrRABmVeT7DNpYm5TtzB9uWccoIXgOqq0iFZ/a85P\r\nlHnWetLhaijnUZvyl7LSV6GZ7k+mLfcncv84fFOiZVA1i6CarY2tpRc6U03w\r\niNySQo6usL7qeZePkxnwwal72nurpkg6ZXY=\r\n=UBsO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.1_1657617821801_0.41590184572137323"},"_hasShrinkwrap":false},"1.1.1-dev.51efdf9":{"name":"@usedapp/core","version":"1.1.1-dev.51efdf9","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.1-dev.51efdf9","_integrity":"sha512-UXqB/jHE543lP5P30xUw4iWpqBGikKxLeciHlz6eW2XwJ+Bhsn5H7v/NBPl1SEwDAWkkVv54KgPLFWj2jpDDlQ==","_resolved":"/tmp/aac89f1ce808a4143e2a8386209057df/usedapp-core-1.1.1-dev.51efdf9.tgz","_from":"file:usedapp-core-1.1.1-dev.51efdf9.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-UXqB/jHE543lP5P30xUw4iWpqBGikKxLeciHlz6eW2XwJ+Bhsn5H7v/NBPl1SEwDAWkkVv54KgPLFWj2jpDDlQ==","shasum":"a61cb54159d49f66aaf750f0c7bdb3261dcd4eb3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.1-dev.51efdf9.tgz","fileCount":2273,"unpackedSize":3158576,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFILv0ywxgWWN6gIDNJIHEyRzFDEqcojc6MZyX98kGxAiEAsZVsZSImVffCW++a4qVht5McqNbsd4GpC2H/wiiQ1wQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizT37ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4rw/+IxWafpG6uCHuu3EUhkCgY65xMlOJ81cZT1tHqC7DZ4wWmkGt\r\nUQWu3NJr8Meck4Uj/Jauai+Rq5pkPiUPnxIB2gvc9/EDhBorIe+0LmzMHf2u\r\npv9zj6YkUiezMGAf263VBAhOJdKszs2I6ye5qIwJ2YRbaJoxM7Uqf8tpgciq\r\numiE7gwcLiNq6KyxoaE1qKW+ji9u1TpqK/Lm+H/yDt3///5AYzbK8t5565Iu\r\n3AC1x91UgKXSabrTO/Clkt0J+48WEUUzNKNgimQe5+niMP5nIsX53qEx27kZ\r\nEOvBimoyp4dYf07D+Ox+8/K+Jm6isNUZsttY0gjZHqPFkU3bhoTKJwz/huCn\r\ndauFMEH5o8o1QR4zQlGBQShNdSO3tAk10pTmHPAQMn1VOfPZGWHvF8S1bXLw\r\nc0aQJYdwcvUIaBRQY6X1EPhMrUYSJjSMesNVY7S96mDZ6SQ0I6ja0n2xkD/0\r\nhIs1icXXKa/sthRDoIm1W/4ntEQTnIWcIdxDFFspE6oCzBl1wzGSpZZ3aji1\r\nt9WqcUYoYF3kp8k+os9Bmmlo0GJoQbvkVsk3UNDU6IoACXpWz4kqDHEE2hBH\r\n4yYElZuiAw+XIwyi6rBUGCqmelVJ+tdLpkdM0isiB8bEScsvgCZdBZ75qTYy\r\nczA4q5kPYUtG/fcErs4S1nIdcplrHAbJy08=\r\n=spjO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.1-dev.51efdf9_1657617914898_0.17693802187261554"},"_hasShrinkwrap":false},"1.1.1-dev.5a53eae":{"name":"@usedapp/core","version":"1.1.1-dev.5a53eae","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.1-dev.5a53eae","_integrity":"sha512-2pj94Im7K6EIao6I7w9WlxVEswfFjyO9AcCWAB28vGTNJcdd48IIqui1sAZ623vTe0RV7GKoUMK8kTW5QdHn5g==","_resolved":"/tmp/79046922688d5338041d1dbc31b04688/usedapp-core-1.1.1-dev.5a53eae.tgz","_from":"file:usedapp-core-1.1.1-dev.5a53eae.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-2pj94Im7K6EIao6I7w9WlxVEswfFjyO9AcCWAB28vGTNJcdd48IIqui1sAZ623vTe0RV7GKoUMK8kTW5QdHn5g==","shasum":"3fc10a6721bc58a66fb3ee5d0de4f04a85edbe38","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.1-dev.5a53eae.tgz","fileCount":2273,"unpackedSize":3158910,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWQkODMGp8MzKd7/H/LxgOtXJRb/fepBL7Eld7DI8ksAiBOvCOix9ZQEJKVKQi+RheQiTHxP4kYEQHqhpof+luqKw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizU+AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyqxAAmNR4/ditihdYk2G6lMrPB0JmiaT9sj7ImoEDMzwL3XldnBPn\r\nSqext4F822yhiSOmtdxMWWDAcMYkbMXgFaxyUxQWDpS9fjF+tgePKtTki5Pz\r\ninvw0PPtIJjhEGHJ9Mv8pAbi1mSj1wV8BAh6Z80i6Y073YMFGf8ZbbaMqW/b\r\n1KqvwUocx7rW5ao52pUYaJNAXSqYlq3ZB4bOdDMdWMsQj3BC+lL8Aak0pYMB\r\n8QQzvyYP6VnxXuk0TynRNdJ7VZ77sjQboQj2OHPXKTACVMYkvvfcP++WN9Ln\r\n+NuGZ5GGbRsTEoWSTP8bv5wnBR1WkyQcXQ/GmZaUbTpI5xoKDbkppr0JonZ5\r\nkXOlRvERul4K6HHmbXtmoYs+eFte4Fc4I4o82O+Gy0b6Cos5kCu0ZCYAUIq9\r\nd+XFJ2deYt7DBtKaQL7+d/1qcmY+9QG4aItzcc2PMMHGEN4xuZdEqMnqdS64\r\n7WSF4BQq/7CD0yTetJS0nSVdhyUgjS9d37yg5qbTc1hjJfywPgJJTzAjzlp8\r\neza90vV7q1pTg6j+nWrdBDMkdfjyLHzyGX9ZTuS/3Cl4I5WSJATAFr4DujzA\r\n3rktF+3DuGZvxVXWojwE1U2oU9ZUonluKSiR7KhzNu6nih3QBpGXpLjAOgJ/\r\nAFNvkzHI9UAquRdAsFlB0JKQpEotpzRi2J4=\r\n=605K\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.1-dev.5a53eae_1657622400627_0.0339284959463646"},"_hasShrinkwrap":false},"1.1.1-dev.2b2617c":{"name":"@usedapp/core","version":"1.1.1-dev.2b2617c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.1-dev.2b2617c","_integrity":"sha512-gfgP/oYymZUam47fUgAfMKw4nhskMjSPT8VZo1bcI3gXR6x0g1jxleTqD1VU008AJOIHEgwSk6LORGWhQcE5zg==","_resolved":"/tmp/8a6625022fb8e79ddb6e680a7eed67c7/usedapp-core-1.1.1-dev.2b2617c.tgz","_from":"file:usedapp-core-1.1.1-dev.2b2617c.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-gfgP/oYymZUam47fUgAfMKw4nhskMjSPT8VZo1bcI3gXR6x0g1jxleTqD1VU008AJOIHEgwSk6LORGWhQcE5zg==","shasum":"3fe3e2aee03f150118b5551bf1e600f3bec05728","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.1-dev.2b2617c.tgz","fileCount":2273,"unpackedSize":3158910,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBChUGz7WnWMyiSaORv9gkQCZHliHCrghb4qPBwnnmCAIgY8heMDcHUTjSbCVaTcZurjECLEtLiv95cij0Sc6+J9w="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizX0FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHOQ/7BuLhdL/SSCjwruvRCnxHefbpagbDqGIoAOaOdDXa17bWsPQy\r\nyJiaNyF/Pm71GkQ8Q0WiIxXYW6jMVtwPd9/lq5dCH51ATyYldyJZb/RA9TG5\r\nezpO8kOBPUXHk4smRMoNQ3nPFkPDJz5qXcRyyeO0UHp1NeaTctpCnecGWMMw\r\nfPNAV2gc78Zn2CGV2ArY1e7hRhTDU6sWwWCqmtvB2yRGicovFcrfzTOqolVl\r\nRAPBXqSxs8/jx5TNT9fVI1NozaAlTOW3OI1fNkgmvuRUnJ5HWRsSoDxqpRCD\r\nMrtxMgwUOPnRGyxmO7Jr24FxpXbiXbv/wmOT7PxJxhP+i5DyqDKpG3/5mplz\r\nb5VA4wTcB+KwAdNX+YR92aYh6Q2V4r4uKKY3LglcJhjinWoymthCxw6ED9FY\r\nL1z68RDa5CS/0ElbWfS437Mz29me6f0SgOG+Bu0WkU0kAVfvzsGWdqAhOHr8\r\nCx48lJ/4qclGHuPNJ2HEFb2aNx5HxLSqvhcna8y/Aq0OCAU15KhQdG2Pl/gY\r\n82hfZOgsT7ftWzRtjkRQtfJUCEL+31eeoXV9gvVDpZ3ItYnLIKjbw9/xxxAq\r\nDXpTtrUEo8sdOsOiHjYBNBdnNNerlXJbm55eCJp43Ndb0tmj0adgspSfodag\r\nRz1g3YnXhYZDNn7dXvTgxtPoxmd7QfBfLwU=\r\n=Uz61\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.1-dev.2b2617c_1657634053703_0.4546599556843096"},"_hasShrinkwrap":false},"1.1.2-dev.4eb29d1":{"name":"@usedapp/core","version":"1.1.2-dev.4eb29d1","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abstract-provider":"^5.6.1","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.10","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2-dev.4eb29d1","_integrity":"sha512-ZEt0xyjonLO4TTHzvGUg5pFwbMpO0RVP57dZaXAzNGKAV2DbAifDoyd/Q72ZCACoUReqS4WFAsYvyodXIfiPxA==","_resolved":"/tmp/ce825c7dda2e0b77072771813e80474d/usedapp-core-1.1.2-dev.4eb29d1.tgz","_from":"file:usedapp-core-1.1.2-dev.4eb29d1.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ZEt0xyjonLO4TTHzvGUg5pFwbMpO0RVP57dZaXAzNGKAV2DbAifDoyd/Q72ZCACoUReqS4WFAsYvyodXIfiPxA==","shasum":"3c8d1225bcfb4f795d22d14f8e3d9f78d1507dcf","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2-dev.4eb29d1.tgz","fileCount":2273,"unpackedSize":3162973,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICcid2pNSLy0/1hyKkWrYD0OghEHf8M2JiFPvOzlczO1AiAtlDzprsnrY06SDqSUspnftFOb1/fRe+Vy5w69SO5zFw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizns9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwXw//QtvZqMRp0NVXxXnG7jGKTIcd/lqDJPzUYqIg7HrDTNXwO3pi\r\nzR7cVanvH3zrF9qHAbOebN0qlzv41pBd38tosFm/GqvG7W7h1NeUrpRJsgFW\r\nalEPe8AmToYPjs0bUWFRbaHZGEhQ5SB7COWAKd+omGI/SDhkfhm28PGiYMY9\r\nbD8CSy+LfNk/jQq+iwZpkcw7DecsQbNO8P7pBRZ+gHbuxzA/5WY6deXcsQH3\r\nHqvD08jXC/b+/3JcxlrM4AQHloE4nw/OrYnq/Ox6OaKSFRzfE+6L24a4lpW2\r\nTCl7uE1TjoY7JhTL3Abyzwpd2etoNkiN2vPtcucLA1iy+9L6vN9Kk576l4EU\r\nbLRbfZSyhafq2Xt15Vf07N2LbvOH+6Zw2iusP++8SSD7wFXa7o5vPhPTNJOm\r\nkVJ3qJDSFRLGqfIJPmoqKBDQw7YsVTR8h+xvEFou0W/iT3EvmwD17g1WGENA\r\noXHBT+qsIULPuDKERWNJcNTQMnOMas3Vc9iBRRjjR5fsiZWrQFUmvouKUv2A\r\nvGWB15ztM4syLT+dQ90Wht6x8XLqGbw13ytsj7LOnBzKeIUohvKUm2ctiDrI\r\n1KMHIE6/ky/KR4XuxbZGWRKTegZRziUVOs77mjL4JS8dl/TvilaobcJ+2nkP\r\ns3HQAGJpv4WkckinQeQkYK0UpG6eeptFXhk=\r\n=5Pjm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2-dev.4eb29d1_1657699132731_0.03789233687030924"},"_hasShrinkwrap":false},"1.1.2-dev.59c930a":{"name":"@usedapp/core","version":"1.1.2-dev.59c930a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2-dev.59c930a","_integrity":"sha512-YN6hUnLfTivk/4aARg5Wu0OKquEzgKw96hP0L6YhuaB98WdePe5++DCeuqF6RzjZSf379Ln9OE9/J4xh/Dg8AQ==","_resolved":"/tmp/5e2c82e2bbad7fac5d90794dda7a857d/usedapp-core-1.1.2-dev.59c930a.tgz","_from":"file:usedapp-core-1.1.2-dev.59c930a.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-YN6hUnLfTivk/4aARg5Wu0OKquEzgKw96hP0L6YhuaB98WdePe5++DCeuqF6RzjZSf379Ln9OE9/J4xh/Dg8AQ==","shasum":"0e65544684662951359304954b2a831dfe22cbbe","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2-dev.59c930a.tgz","fileCount":2301,"unpackedSize":3193354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCs9pzaOv9BB75ROxy2L3TcZgk58AkYr4xAVxfE1StDjAIgNsOBuynTWrn/+Ea5jkghuxSjurEIaYD618892CAiBNA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizoVIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqadw/+P1jYJ1m4gQU1CIx6NGQJuRcylxef0vVaLBW6dJHSFadLbnJ8\r\nNjJI9bBM/sKXL0C+q42mMFAoIy+BwipdX1kWAEUkC8oFCb4aXp1b76NUst6b\r\nJdCNeOm1eVDbpMY6qqrh5Mk/kYIrbDQ5+MenN12C+xanGtbH0diO+9RBQTc9\r\nFC9gpWUcwBCAuCug2tAmf7e3ai6J8+Rldc3iCh2nmsF7tzrqACz3GrRBDoy3\r\nW9O0CyuMB0taSRAxnXfD2LlGQKCXT5AXdPm4rTQw+n+9Pdn0aPrDHGnQpOUd\r\nx7z2GtN79dVFv2qcfnBtuXGB2WWz/nf9P7A/ACUiezgj2c3Nj+Qpnt6pb7AS\r\n9hGrocNMLlzpy+/VUlwFPDh7rUNyzhF3ULgmXxC4M8W7i7Gzf/SlDIX2Qsb6\r\nzxzlObBVUvnC5hU/IkgOSH4hqJaYk006pyaozbZFHiq8Wr91bGj5oU3ya1bw\r\n9qmeG1EdW/fmhZoMqlKA+LBweXVl7bxsoPC8oJyy+JupUkHpsqGzwWiBUvwl\r\nPSpxW70984lBmX9VbVeKMXRQvQapqJK8Ml13by1y89vW3bATzLttRrwuUorD\r\nr2XEa0GUKZd53qGxtoEIfb284aKlZqS97nEQdMxvLxI4RlmZ8wjHVjZ8Dr1B\r\n+/n+zIPY3LF6zgOhb6mDQTxVTXfO0ERd6bo=\r\n=hWgF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2-dev.59c930a_1657701704003_0.33463012969887607"},"_hasShrinkwrap":false},"1.1.2-dev.9005c3b":{"name":"@usedapp/core","version":"1.1.2-dev.9005c3b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2-dev.9005c3b","_integrity":"sha512-6fVS6E2KQlsME+fIdZvU9LhCnoOK434VGUchXZ2ps72XFcDOZoAiqEpTI90luxHsn619nYyksjhLpp3gXc+cgw==","_resolved":"/tmp/5a0eec0ab43890b223d41b3ebe171819/usedapp-core-1.1.2-dev.9005c3b.tgz","_from":"file:usedapp-core-1.1.2-dev.9005c3b.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-6fVS6E2KQlsME+fIdZvU9LhCnoOK434VGUchXZ2ps72XFcDOZoAiqEpTI90luxHsn619nYyksjhLpp3gXc+cgw==","shasum":"e043381dc106c55ccd37d392e3c64dda655ae8d0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2-dev.9005c3b.tgz","fileCount":2301,"unpackedSize":3193354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4tM+g/YVw6oFZCLvK9TiQoPox3bhqUlfldD4mYpUIbQIgHKvEiCkxO5B+GovpI/d7EtYD1tl2DBoQABae2PPPwAo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizsdPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfEQ//QTJunix5sISCa62SGDFmkWf68amfZ/4WYMznmxH7TbOdeJtG\r\nOiaojLYBCurweaczCldnqahb7QrL5eeWeSi/zhtePIatzNUbQ4MQF9hZ5k5a\r\nlIYjXrBLuWq8Q3bY/DRxWVz6w16OusjxTTceCbp3GSb9nSwLmP5b+jDM6IWz\r\n74VLpUYi0KQtc6k90Jc6uc8n7+1qTUTX61eKgPXQIZnrGq0CSodRfqePICyH\r\nb2VgnDrvekYzO/tHUBoa6LBi7KzLykfGCSsiNXx+4AQqgMNS/vT3pJZk2GdV\r\nCr3DE9gsluiaIcjtR6taGWAupWgb0VaYXcbvDXr88XmvqRQTu3BPP2Eq/q7S\r\nSP2S9ydGHh6hC63CPFbJw24u3AhrU0z5Ki92QXFjF/2ozGX7UZuDUHOb04cC\r\nFMghYmhtCVm6d6nwDfR/mrbavMFOWkFpiVPMoAGS5liKgc7lO9AAr+WG/1po\r\nxauOX97T1zGxA+ollzwVUuuJQXiE86gBZXMIaiepsI77OaQ/p+NKgXYWghDU\r\n2TkYi+sv8hlLYcASsOgSCjdu90IwsEiY/8Wy5DPO3p0ntDEAm9RDAUTRsA/K\r\nARkR2kssm4bYa+WmdxN5kaDwes14WIhGgZr2GbTY5/7gXfr/AyfT55aFmvo4\r\nrbotMoRDhUqlqTToEHBcTia73iiTSVCC+eA=\r\n=znmk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2-dev.9005c3b_1657718607244_0.3889154908376722"},"_hasShrinkwrap":false},"1.1.2":{"name":"@usedapp/core","version":"1.1.2","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2","_integrity":"sha512-KuMId+qEITKdVGMBqF+MIfbWaY2/+KPVspa4UkMUGSQHY4bFRtn8RgTOPeV8JZqEJVJLt8gy2g4UotbQo0nQ7Q==","_resolved":"/tmp/7f3d2334362f46ba4f10d9922515ca36/usedapp-core-1.1.2.tgz","_from":"file:usedapp-core-1.1.2.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-KuMId+qEITKdVGMBqF+MIfbWaY2/+KPVspa4UkMUGSQHY4bFRtn8RgTOPeV8JZqEJVJLt8gy2g4UotbQo0nQ7Q==","shasum":"9931a69a22968258e31fdb281b77f69e5c37e6c4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2.tgz","fileCount":2301,"unpackedSize":3193324,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSH3TDD1CtxSGi9gfOAB/X+B/0VNPT/eYrPPdivTfHpQIhAODAR5jpPOUx1lF6yHE7F9YiLH12mEM9DoIn8mf9NwI0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiz9PsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbKA/9GdV2m5OaXP78pwZcL3OUurIYPw6P0j6fV8iNrSSEVdOj66OB\r\nMLRAN3tFDIMzKq3hPnlWUfOn7X4+4rJqgPd7lMkZdTNaYlwQ5hWGm3U7U6sv\r\nz/W4Wh+3MCJQaQ1HeUAMenOGO0X64p5VJ7UeEI+PUAoaM9KD7xgiwMr63/oc\r\n/ASHco25VGfLCTBmU47EUN8BnW8H1YoGCAArxN4dNq9PYCaN0I8+xyAZhFCw\r\nc/JPKapwVQ6pfdgTr1UCMosQtfqaiSxjtm3bc6TnWu8vh9PZrNyCmUDT1pKA\r\nTCTR1LjUUZuztg5wwJkq339aqyF69+Zcyyh/ucXmwb6fQAAM3dAcIUikNCgM\r\njFfvvUha+35O+qnIwnGh/cxrTuFM+ifRHQm3fyDf070n0drRPBNLnciz8Ujc\r\n831lj+QR62v7dBmkf2JMKJshqNyA0oYsCb3sovjwARPKWe2zGlDeFwYnJNZz\r\nh7zvAvOkPv2pn6Ps8wna8vbhaxxDtEM5xs8luIbczhByNnqoJlsprRbCk78H\r\nPk7VV1QIIWuaMxYoaI0IzNa1GFNfjnXH81SRYmL19LIQjP60eWpWc/YoKJzD\r\nP5C+tNq9zTuU8mVNPK+NxmAeAG+wAh7Za3pZCLDiqVZRnoUsWGmDmmQsafHU\r\nFXivJaXw6SAkxgXa+51sgYISMNVRv/g7rZA=\r\n=GwZ5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2_1657787372480_0.1552487660563837"},"_hasShrinkwrap":false},"1.1.2-dev.e0b06f4":{"name":"@usedapp/core","version":"1.1.2-dev.e0b06f4","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2-dev.e0b06f4","_integrity":"sha512-bWirMMp0aGApfM5ght+uVoBzVZs0CyKnCl6+RnVclfe/iD0sY5AnZ65w/6fRccAfZtS4VSl1XEE9IvB0a7G4mA==","_resolved":"/tmp/95310113eaeb45cae0d5f2be1c9f3cd8/usedapp-core-1.1.2-dev.e0b06f4.tgz","_from":"file:usedapp-core-1.1.2-dev.e0b06f4.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-bWirMMp0aGApfM5ght+uVoBzVZs0CyKnCl6+RnVclfe/iD0sY5AnZ65w/6fRccAfZtS4VSl1XEE9IvB0a7G4mA==","shasum":"bae264f745ba2bbd4c96523da7db47c040a787a4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2-dev.e0b06f4.tgz","fileCount":2301,"unpackedSize":3193354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAMsmI4vFXgIXVosiX3HGqtFHQioKt+8xDc69oyOYkJGAiAycKSplfEAw1Q1AG1WDcnav69aS4IpM1V1je3A44Lo5g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiz9RxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkQg//VymuMdwVWlxnKffShQYwbCentd2Lfh37dqkWT9MhweOZI+ki\r\nK2aNeJkzCAkybLeB4Rkq8Vn0UMsxBtjfCwDZPDjicw9RIvk7SRKagS6dEejK\r\n+dR06n/2H9q5s6QPSJ+ethM+enmwKnQlpC0yk84aZ+6a/GybwxNRrt8uSFKu\r\nJ/pGk+Cj6P2iEQVywe5WwuOjtD7OJZUQ/EcXg+L+TUajDVJJ7cg3XLlMZq/z\r\n0Du5sa2Zdyyxv2qo+aBzk0Jyi8nWSPr9juloVwonkGyMt6GlMvY4EYiADc5B\r\nzxZqNV0eb+R45KyPZE1buhwBnSBB5K+W4bs3JWYnfjjYRwXVUWrO9YWeYFMW\r\nCNsVvoFiHqU2ppKZs7ZUCdoSerdRElc0qtxkhh/WXMjPuzFMxCZBWXjN4ys1\r\nVneL2m6yOV/OdOcevEv/Sh5YHGT19841cZ07G771vtvxhhc4e3NSxxTPNsex\r\n0Pv3YkV4CmTMSWIc70mYKqUb/nnABcF6Q6my/2z3jHXHNoaVVGqeDXWKNwCe\r\npp+FMIKREbNWtts009sbRBmEfCgFwMBQFAxNwiwnjwLH0OSuEg3GxUmP0ydj\r\nY6786Gv1KmW3p4/HwTQh/aXwJhXveYXVwmRPWbPOAUiJGtJNyPhox8jylsU4\r\n4SiUeO21oFXer56KiJK1PlrofIHlzw3ZokI=\r\n=96vx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2-dev.e0b06f4_1657787505493_0.9466267725281607"},"_hasShrinkwrap":false},"1.1.2-dev.c2a2ea9":{"name":"@usedapp/core","version":"1.1.2-dev.c2a2ea9","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2-dev.c2a2ea9","_integrity":"sha512-spxdajlHMj1WCrlXks9gpmYjp2Fv6nZS3Y/ueM+TRl0cSCQ+sEQaGWgr4NUSjnoSMK0mlmURBYCxwpjjeMPvkQ==","_resolved":"/tmp/161a6c05ada4156177fa55cc4ab7b50b/usedapp-core-1.1.2-dev.c2a2ea9.tgz","_from":"file:usedapp-core-1.1.2-dev.c2a2ea9.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-spxdajlHMj1WCrlXks9gpmYjp2Fv6nZS3Y/ueM+TRl0cSCQ+sEQaGWgr4NUSjnoSMK0mlmURBYCxwpjjeMPvkQ==","shasum":"c225a7195d200055c2428999db13fb30b2065426","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2-dev.c2a2ea9.tgz","fileCount":2301,"unpackedSize":3193354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiPr0Q6CWtHZotx3YVNy7u2B91Pii6JKOZUt2E/VNGgQIhAKoq6Fmf9qgSjhNg317QFX3zSxwJrJym/BrfmPF3RwvF"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0C8zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoNRAAm5igKCP8HKRdG44go2UEpU4hOtmAEh32yznX/X7qmNvG9XWA\r\n59s2kp1DN0+x8+h7K/o/VUjI6lwsa78MOMMBfqni5SmcWegWQIbSiTpBrMiw\r\nrMKwZXvWEzc+cTKqLvblXpX6Y2v1y9NgBVGyoZ7YMBcVSQW+nqCLfOCYLU3+\r\n4yJvU/kBjtPOnZLqQW8NDPXyLPLwTDXG+OO1egO9Riow79/a/owCl6dxvPvv\r\nsG5KhlyHhBP695aqGgA6ztjkiYGexlCPjB8QnZeGKrxckCs7LgFLaRIf/H2E\r\nf64CfZuiGNn9BujDR9SK6Ok4k1JAj5CPW6GGmFL/zeRBahZuk1uY0BXyNK/p\r\niA5RLwih1U5emiT4Xy90he9XgvKhXghot/1EAjQ7qlSkp6OP9EpJ+4NeN1qj\r\nvSCaC2psJADVIfBnYBn8PY5eanHi8wvccXwsH7iIA1glGbIV8du4/bQRhsrV\r\nV4zb7HC3uzJjF+mJlIHzmuFDFbZBsHmevxkuWiAaLCoWoEn19+qVjG5Ti72p\r\nCXCvu0P4HPwkqxcPaL6oQOf7OD4n3uN0G7XKS92tPrgOh9IqB+IHfaKmf6n6\r\nUhDkz0jmyWyGCEQJWQ4vAnGBcjTK/JobN25vyJNsejkcr3Fb35bCdxjHHJRp\r\nBqtdRZNfRhCntp/mMmoFDQfoE1luiz4m5D8=\r\n=oLpr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2-dev.c2a2ea9_1657810739057_0.8585107497888405"},"_hasShrinkwrap":false},"1.1.2-dev.6b23395":{"name":"@usedapp/core","version":"1.1.2-dev.6b23395","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.2-dev.6b23395","_integrity":"sha512-9zAv+7pGdzUkxkxDD2biqwVH0ocxPRLXuDI5VB4uGjkAQpV8nggLnwZ1CSu+7AdyyOhfKJHcnQmuW9KvgQH6oQ==","_resolved":"/tmp/d2ecc4ab6364c16af996730844dc0129/usedapp-core-1.1.2-dev.6b23395.tgz","_from":"file:usedapp-core-1.1.2-dev.6b23395.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-9zAv+7pGdzUkxkxDD2biqwVH0ocxPRLXuDI5VB4uGjkAQpV8nggLnwZ1CSu+7AdyyOhfKJHcnQmuW9KvgQH6oQ==","shasum":"85b13f63e3ef698c1894e1cbd36c5671a95c57cd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.2-dev.6b23395.tgz","fileCount":2301,"unpackedSize":3193354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBWYdA9ZBTtyjsmwFrb+ACIPeheyEj0h6IhYubvwEjVwIhAJ9Ta+cdoyt24hqzSwOBKnHBWvLKfCXkUGHcV6Uzvrbx"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0HWGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLKQ/9FvbXBpiiXl5DOUBwJ0nn1SelPlZ3MPX/u2SjzRQqcxj6HnJE\r\n/R3TM8EUm4zy9ZVXuNcSQa3O6nIXZVuHx8GeVLxp6At26wW26aD5enDOrBtK\r\n8yhkybE+F1vy4qsPMPvCktCytSkWRJlxmR/P6xrn7Pc9Bu9KRKD+XM8jrPnX\r\nxsucbt0izOVodFeGAYfQekfirg+p10VMN08JVD3QqVYqS/r1wXmDXJ9FASN7\r\ndxxB37CI0CyDfTuHoXOj6pXAcfCXEqakvP5UPb51cKg5GD+EwiI0UT5xdo2Z\r\n9b7aFTkLGNBGSNGPeK8PPq5KPFnaHsXD+HQ/Dhhod47mkLdDTkhquOCG4CSF\r\ngUtDwhNoeqLR54hRxfEqUVsWn+PkaKVs+5KGnlB22AKlBlrqiNK606TxiC/G\r\ndpkark60iSeR1RWlO3Ig2J31KEnY8KdMB+eOj/JKW0/8mkkhjSGbNvcNRFj4\r\nljYgGyT8T0kSer7x2tyEhTFyYIBe1H8jDs6tMWC/kO5YBuEb9XKGtp75McAH\r\n7bg1wI2hGMRjqtOXOnyUhGPFX6f3N+7OOkousJ4Hvi+BpfNFIdJKZ261Quet\r\nN6Yo+cFw8reV9WNc7K91Na4OIqYRzudUvwvPN2qfd8SOwlwCMyJFhgie0RGI\r\nhccLD3UV5OZk8OhAeLbN4aFWvqIwxNJkBh0=\r\n=JllM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.2-dev.6b23395_1657828741696_0.639138184797531"},"_hasShrinkwrap":false},"1.1.3-dev.95e6019":{"name":"@usedapp/core","version":"1.1.3-dev.95e6019","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.95e6019","_integrity":"sha512-NqhaA8jVnZ0UrrR1+sbVpP3VDg9xwJcq5Gqq9NzmmayYX/x5JOyd4LMtdBaoG7KMymGtlZpZdGRgf0Xf8JzgMg==","_resolved":"/tmp/33675967eb1fad2406a0ec520b239adf/usedapp-core-1.1.3-dev.95e6019.tgz","_from":"file:usedapp-core-1.1.3-dev.95e6019.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-NqhaA8jVnZ0UrrR1+sbVpP3VDg9xwJcq5Gqq9NzmmayYX/x5JOyd4LMtdBaoG7KMymGtlZpZdGRgf0Xf8JzgMg==","shasum":"84db06caa0a82047e9950dec33558afa0f6c5791","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.95e6019.tgz","fileCount":2301,"unpackedSize":3200480,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6BfrO0D1SiVFAxbheEROy4Ts3NnEze9lst5b0ea0vTAIhAMZp/WslfzYIJyr7WGuHieD+mR0sHk0JNcKDKOhXgKLE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1Rb2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUdg/7BgHDFxrY7ouisD1Q0rEODLd6qhxHP312QcqkzpeF+zIjqSQe\r\nWqNjczqgH66ymiczrHaye4DcZly7G4GEbNYbuAQNdZpwvYZs10m5FrUxSuDL\r\nUZ+9QdBT2Dhx3tKK7PemAqShPK+7hFIxuZoyKpNRvgYddX5kXv7RpHhHhuH0\r\ncXrZv42crdIxNuZw+knA1H1V4U0cLBawC+vmnAFuqs8EwBuJltici/wAye1o\r\nV4GhvlcgNS723+LTO1yDhu5ErhccyRoCSb69w7PG3trFmixAujRlFcn5hbpj\r\nf8LKCUa2ScxYs1r5LJcjW2QQtmAV/zW1GdPMngudRhpZuInrpprRi1dFLyk6\r\nWCCPlXPdSvdolbtE4+JHb1lKqzJ2BBY3o8dX3nA+vyFXhV8zP/k0+eVt/+xg\r\nBDrjo96JfMVdTjzHMPWr5VkMzZWCtO98T+nhNmQ2qhyKvJt/0bSBvp+wx6eR\r\nxr6YM9/ml/d+FWxVxUeBoXZGbI3EpFq+3ft2wqwbOpjZ6+rvNHTjHWMmfreb\r\norKIR21JW15xrkNKSiXUnUWkL0lNbPArWVZXkiUeabU6RSYR22mfQdAz94J8\r\nJJVEuPGiwBr5Zw6QAiBl+MtzeRy3q1MAxBT59t6i7epOBOfOu3hGfCotHW23\r\nx+nlyP2JLWlC3X642WegI1jK+k9BG5v5m7U=\r\n=32/g\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.95e6019_1658132214038_0.22165312224545963"},"_hasShrinkwrap":false},"1.1.3-dev.4b2ebdb":{"name":"@usedapp/core","version":"1.1.3-dev.4b2ebdb","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethereum-waffle/provider":"4.0.0-alpha.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.0","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.4b2ebdb","_integrity":"sha512-qAtjG+JJ6BhZ/ies5LGGURlb/55ZgiZvcxdNmFcxjrjSbkL4PNiYg0QID6SKayu9okME3+2yfdVRO+rykbNv4Q==","_resolved":"/tmp/659ef1bf5bd465d19a7f676300838a31/usedapp-core-1.1.3-dev.4b2ebdb.tgz","_from":"file:usedapp-core-1.1.3-dev.4b2ebdb.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-qAtjG+JJ6BhZ/ies5LGGURlb/55ZgiZvcxdNmFcxjrjSbkL4PNiYg0QID6SKayu9okME3+2yfdVRO+rykbNv4Q==","shasum":"b10d76209443058ae4ae8ad0b945134d56fb0a15","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.4b2ebdb.tgz","fileCount":2301,"unpackedSize":3200480,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICKRGEo6APugmMyHvCwicR96DTyGCDWQAuJ0LR3nEzrbAiB3NjdAkK4EpWMJYDineUdLY62Qs1CReSdcbVhJrPXuBw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1XeOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6ug/9H+eq4JdoCfpCgAXpQNph7apNRNAmr/O8yBPcL6+y5/PdTY5r\r\nj85uv2CyMygZg7IXSjxzkKsotwXQuwm3oaQXbiMxUaOcWafgb340KiI+fG4l\r\nRi9AqSQJtEDTid+j4Sw5Auhuwvwef8VTakF4iZRe50yR0QVDqaoUBsfd9PqQ\r\ncg/iyerQdSsZQLIZpcHy+6XeOj+bj+d9EYV02NOIcCYOb4AYoB6gezHZu10y\r\n5t9ZfZ2ZLIjxWcvgsG2FOdq+8/ue76eRps5pSkD+fQNdnafywk0xfO9MWI9K\r\nkBYhTeGBET668HdvlMtOzQtRn8zB3kVL9nS422+569Cduff+AXT2f1A2PqYp\r\nLM6Fj2fRl0GCrfBHad/Z7O+qX2Bb9HO3NLuxTD1mHru8bg8Af25ew6qJL4Q/\r\nBcNSOgW6Br0yRUeAdQyxpWjPzqJtHgdBWduDSH1peicK6O49pr8clIPIRXPW\r\nA4Q1OElOW2PwGrFv+/4RuQZ7kl3H2RcRPN5qiveKcTM0n/eqWi32oEbcxcI5\r\nq6Wh9SKQdM4tUGD/jmPmiOn0czWQ9Tjm/vPwNQwKaUyUYD+d0GnbeZKFuwvU\r\nhQN2OjOIiLy8++qboYCGGBepd1RpnkWq/b2oIFs7mGM57dKS7QW5Brz/za3e\r\nz4kKIUIKZv9U5L4J6jV77XfDrN+Z7WfEDN0=\r\n=wgve\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.4b2ebdb_1658156942530_0.19831380112730157"},"_hasShrinkwrap":false},"1.1.3-dev.d5cbf66":{"name":"@usedapp/core","version":"1.1.3-dev.d5cbf66","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.d5cbf66","_integrity":"sha512-n7HaB9+b52p1GpdtNXZAhOfftllurUpVWhPu1LvCGFMEMFD+U1UJyJmI3/zN9GLNBq/7xgtdbc5Ni8lxVMrgsQ==","_resolved":"/tmp/f8cb7c4130e53303af47c0b5fe59341c/usedapp-core-1.1.3-dev.d5cbf66.tgz","_from":"file:usedapp-core-1.1.3-dev.d5cbf66.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-n7HaB9+b52p1GpdtNXZAhOfftllurUpVWhPu1LvCGFMEMFD+U1UJyJmI3/zN9GLNBq/7xgtdbc5Ni8lxVMrgsQ==","shasum":"6de0293f86b5e3d28c8205e87822f02199997691","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.d5cbf66.tgz","fileCount":2301,"unpackedSize":3261329,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAiTeZSddDsT6CLa52du9br2g7aJuRJCgvjMHQ7IBDq6AiEAgU/FxThCyS+ISZsGsTpxj6o2IFmZnCsUuqDufthFCNc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1q3dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPkxAAgzm/US52vJNKbhcPYooXG9zZCFicoUvs+V0rxsrtFJBIQHBf\r\n2aQj3vdl4c0uzi/HD22AkuayixIoe8g63/DxPhdLNkGc7R8kAbrotRrgvsI/\r\nEshWzodzNrxJIFT5rYipTPVA5BG4R2NiCWw79kna9jUokwTTFO5Nw9KpnqlZ\r\n4Ju45v6gW1F3RsAt1FZ+eacdWS2+8OhAVwGEMxaRI+UdJOxgnmtm7PxGbaDQ\r\nYG8EiqBhTiBvRdgyErfu5jM6mbAWB0WthUGGg9eAk2pamrGTnZttzCdX/7Dv\r\nL6iFeMO+aPo5caxNaYtoGotDw+l300Egn2dhXX+OwgeD4YS2qy17HhI6fXoR\r\nb5xHxdStpIwCyDEDV0gdufPjSDF2TSzHW8rNd+aqYyLKyQQhzzR2PAYvcdyX\r\nZU26vci7stBdGniBe2YCn0rM3HZmhd4UIM000sYshvIuZkrBsf6il3R7nOGn\r\nExAEE/ew0OW19m00ov/KshG01SnYXVQ4EVUSbuBAqAhSulDGx5N+e0G3h4Ne\r\nkPX244cJNm87ZMlXgCdTZpv/CiS//t4TzEC7pp/ZZTRq57ZJfFeX0yuc9ieu\r\n7w8uiBG8Vcnsri2z1OCHfxVVC8l8TTzEqWbEG0LsWnIi9zFXk7vVOKhyDUzQ\r\nG9k66RnMMQR2t5yQvV/5pVun3Ckk5CR6ezo=\r\n=r24X\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.d5cbf66_1658236381214_0.7597568675222484"},"_hasShrinkwrap":false},"1.1.3-dev.163befd":{"name":"@usedapp/core","version":"1.1.3-dev.163befd","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.163befd","_integrity":"sha512-70FmO9Ln0psL3wum7sv0WZ/4qcgpIIugndvT/4weFbgftD/7MjO4PIj7ddb1Q/zgPgk3STJZqSvguYawvrD4kA==","_resolved":"/tmp/1ec4b1d351016e554541d176a37c38c5/usedapp-core-1.1.3-dev.163befd.tgz","_from":"file:usedapp-core-1.1.3-dev.163befd.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-70FmO9Ln0psL3wum7sv0WZ/4qcgpIIugndvT/4weFbgftD/7MjO4PIj7ddb1Q/zgPgk3STJZqSvguYawvrD4kA==","shasum":"6a4cf7639e5fab38e064edc9d4bbab00e3bd07a2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.163befd.tgz","fileCount":2301,"unpackedSize":3261329,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFoR/rPyyn4zulauZ8+Kzw2JqikFoN6RBu7zKdzSObglAiBDCi0c8drhGMTV2qCO2HKYS5irUOnTgRu/Q9g4GtVa7A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1q97ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCXA/+IgmmU4rN6+1f3RCRq5ILmI3YvbIoSlvOwkd98TYHDFUGHySA\r\nMBPIPJrpitbkn7/2KHJOG26LVSkKtRebP0yTT1FjHonXy/thSveNGSoYhqSt\r\nLYcj0SD6q/wly4IEQkh3uOSrKUUEhlmWWosj30R+k+s6qLqAY3Pm4HFKc7xy\r\nCTstm6wOsSX93XpNt1Li3Yf8P4PU8B2eNtlKryjvnegXh+XWZK0ZhlVpBKbR\r\nmnNsGfb/L74zPwWpHG+jFWYPHMFmCeMl69ifLdMv0yBoaKL7IVtO2Rs96PEe\r\na6wd3lt1+OZI96RuT/mcr1wzdkNUyjdS5RfYbSvk/SMFiCULuCUGmgXqrNB+\r\nbsWgRdFtU0CmaPoY3DrB+XfWW2HnieKrTRfaVncHGJXHQPhMvAXm13FA4YTU\r\nfGczb0TRFwWpcGoHIHLPkaqOVlSryafAR7evtGUiNNqrWiy8rnHiTbkQ8p+E\r\nwz0oHxaPYR0sxt/4Vjv4TrVxaEkIUKQqZanwSxUEo6iZ2eQILP1p6kuH1JMK\r\niIvBhoDFXDQG/QKi32tyM7nXX4nOlVi0uYkgkn9XQlWGYmjPd3iF4RsO3Q+M\r\ngnQGxzkfeOtCKpJRMqgs6VsQ0kbkFI7EGCl3BU2aQMpa4KSEulmxXH1CzBZX\r\nAJ4/cA0TJ0ab7G1apAOOEqZCukyu0aqaAkQ=\r\n=CAsD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.163befd_1658236795560_0.8429503561432294"},"_hasShrinkwrap":false},"1.1.3-dev.5362973":{"name":"@usedapp/core","version":"1.1.3-dev.5362973","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.5362973","_integrity":"sha512-PbpeKuHhKSM8KHn8ETDbiKVC7efdOhH9ZsLao+CA0rYiHNQIuLFhBIfwNedzVNQ+Sq2CRy7XpcLwqaus/VYp6Q==","_resolved":"/tmp/45a57443132518744ee4fd67390afeda/usedapp-core-1.1.3-dev.5362973.tgz","_from":"file:usedapp-core-1.1.3-dev.5362973.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-PbpeKuHhKSM8KHn8ETDbiKVC7efdOhH9ZsLao+CA0rYiHNQIuLFhBIfwNedzVNQ+Sq2CRy7XpcLwqaus/VYp6Q==","shasum":"f55f64de4ea3eeac92999d81ca455de59b8cecac","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.5362973.tgz","fileCount":2301,"unpackedSize":3261329,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICt8YOw5Ffk9yGQ+BwcmZ01gKcmHSvZ/EjG4QJ1pq18OAiEArt1sL10ywtza1fCfW5Bx7+4KIo1LLzD/aaKlzkJUSHM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1rJSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyTBAAnMsSrbur1f4auerJr3fsGugF1MDjRAQtwBfhE6OMcKDJdtaE\r\nV8wT4qY0etTjp4gpEA/ilg7JQf+hjOLlMZu0+4NulQxnColmznT8KYyuEjIV\r\nPz3ySDCJtXhi11v1CxdmjcEtcR2j8oQPKeqDZiww3QBB1pfyms3TFluyAoRH\r\nUBZBEYVWdrRAz5HIdB7xorkdUkS5SgbfRX0WmBsLpT6zU7saQLwj0A/Ngeji\r\nLtGB+jShvUGWRQoWKKlEnF83tBMOiyQAbuCPDCCqtCe3hAmcmoQLiyeIL80X\r\nQu/QCSgQciytA+8ONscreLVVej8Y6WNeZSqt/zcdcAZnpYAK/jaG8/5lKGL2\r\nCNU2j5n1lND2LJU2+upEPnWtgduGWCHIzK0aO49ibQ7zuuyYSitW0LA0wvaW\r\n2qZ2ym0xO1Y+n/H/PmKFio4teMLCBrR8T/C4bG5gxTYfAmIiDG/TrIGMNfhv\r\nBUcbn+DapRZfeioUoSNNlSaBMjHXJ2yEme6Jt4qgXs3K1F8NLKX3aSiC3B70\r\n29BQVas/hutKq0d6qQ0VlTxsid5eGWgfPSwpQSvXzaS/ORWCTMKIu5bVr50Q\r\nYIVohFGrN+s7fRkPHHwNv3CB8KJw7ss+PnoVE5xDz7DN7Y8ZwYbBOJiZ3k2s\r\niwrEZ+1IKmF3PrujEsu5mXQznDW3wLDT63g=\r\n=nAnT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.5362973_1658237522447_0.5427509797604082"},"_hasShrinkwrap":false},"1.1.3-dev.a1a0e50":{"name":"@usedapp/core","version":"1.1.3-dev.a1a0e50","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.a1a0e50","_integrity":"sha512-lEC0kmZjLKrq8KFn0KmfB3AaCrWXrCiI8zOCQdnKTdHsmahA0FxU5gjABKSkOqplaRprGiv5To1fMEBfypK1GQ==","_resolved":"/tmp/4c3f1f284eaf64e48c4078c7964b87ac/usedapp-core-1.1.3-dev.a1a0e50.tgz","_from":"file:usedapp-core-1.1.3-dev.a1a0e50.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-lEC0kmZjLKrq8KFn0KmfB3AaCrWXrCiI8zOCQdnKTdHsmahA0FxU5gjABKSkOqplaRprGiv5To1fMEBfypK1GQ==","shasum":"0ec915cff4552250b35c3bed3bddc7df2a922d36","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.a1a0e50.tgz","fileCount":2283,"unpackedSize":3262964,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoFjt1JuQG/mEJqWnVt5QXq+Jbx4UElP+jlbBt+riadwIhAJdStNtYcO08KLOrNT56inmAXa5+EwAeMTbfhjrfNDtz"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2kUpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0/BAApNQxCmkQUxUW0RkwNMk19mfGCenrcsVRyghjGUihjKAAU0zP\r\nYRHu2mDbgaTCm9mE0OmucN8EaFjTPNrlPZH3cDgjY6oZN8tyuhCHmhzWTFFJ\r\nMeoDEybBBU6pjijZAY61cS0LCETrarmJHs3j8tE9Xndl4aDfY37OgbWXjpA4\r\n/WIQqgneRJgm6q56DMc+dpDWFdll9mU5zrx0TQbyIbrcmHVXsU4JvrN6S3gV\r\nwDMOxQyO58/589JWb+eVD9Pm8ttB7EQudljpcPrDTeBObmJQpJ3g+9Ro4/6m\r\nbRgF53dZU3a3QmhS6S401edaB1+uJhQtb17YiL34BoyTe42b0vDUHmT6FQE6\r\nvRuoq3YtJr7/TqoK1oRii5iy5KlCcgqxzLitiW5BdZnaBh+BtzJyS/wn2WSj\r\neYk2jZn9Eh59a5Ou2cf0gPFoKseYRFMCOmmr53yxiQTGbBJzMnSYnFrot72a\r\nHmmI+79PyXZw7G5QdFLbtSUqo/rRO0YG//vgYrEIhb076ayk/Ay482c7obgB\r\ntPl6akOyBv7Lf566VBILBe/Ikq/Vu0/nwGdV5Wad4PO3JMd+GXir2jnhjIJc\r\nn4O9k9Ntw1FKJPgoWYDWuQ83qesjPw/TH4ItVe+zG+BSLwzF9oj+svLkNyl2\r\nWRy+HJHEISzapXsN//5uo0V6++Cwxz8Y37g=\r\n=QIXy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.a1a0e50_1658471721245_0.3793024393663986"},"_hasShrinkwrap":false},"1.1.3-dev.e2f00ad":{"name":"@usedapp/core","version":"1.1.3-dev.e2f00ad","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.e2f00ad","_integrity":"sha512-ZRllNuYGYlqcDYBuil99uM6zU5hNaMfbfH4KyB+qrkzRe3X4G9p556jULSZkWVXH11oFhyG9CKIUG5b48gBc+g==","_resolved":"/tmp/8b4bd9cc35f291900d0e485c148d98d6/usedapp-core-1.1.3-dev.e2f00ad.tgz","_from":"file:usedapp-core-1.1.3-dev.e2f00ad.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ZRllNuYGYlqcDYBuil99uM6zU5hNaMfbfH4KyB+qrkzRe3X4G9p556jULSZkWVXH11oFhyG9CKIUG5b48gBc+g==","shasum":"9be92a32943581c4f2a46286cb864b8c199d651f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.e2f00ad.tgz","fileCount":2283,"unpackedSize":3261172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH5gnLpylXHyyTGQQ29SvbGdAJUwQqNwOlQAxS6zcZV6AiAr2gW3BbWTVHrq6xi0sTGiParZie/9+CgnNVPs/XjhqQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2m8nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCyg/8DiYzWXXOo4j+xW8ZG07E775k7OiXu3m9aOUZjeqwHYm5hg+q\r\n8xfbaDHxFqUKv32Eb1vN9Ay9mcy6K093vdseVyK9KJY1qgXYSSMQnnDW53B1\r\njgAqDszdfPuKZoWDx7CNht+TPXLxB+hCTnzmEEaWXoomBqJOu2b+3VsTID23\r\nXsBxEi6kCm7B+ok8likb0cUG+rvfwxw08jT/30p11Drvxc58iHTQZM/6Gg13\r\nXFG/9Wqnu23cvW6phRXagVv6s8Y6raLQqwASMTL3rL2W1norh2c7R9xKKoXM\r\nGP8u29mGwTWiCQLLLs8XsyRcpO+htMt4jgT+deD1xAVyu8no+K/CJA4Sg0fx\r\nLFJ8C7Uye1aDg4VcNr1lB1n4XwScV4FfPHNkniZ9tiasYe5fNlcdw6AQuGt4\r\nSI9UqS07jKNPDyCQ0xNi43CuKfvqJkc3m0JFK9yDN+PIxzXo5UtawvICjGij\r\nAohSeVubG1CFQOH8OkDqx+im5MQEk/NiOMNwYNkVgtA3B3hcf5x6a12E4IRt\r\n6y9RQ8ShArgSRYeEx1aJTSUGQHS3St4XKYgzT+GuzHtvkrTaljTQaigASavi\r\nkm7DlpQ8bcAFVg6sc1SZwEE9pPPBxdHTsTQZuS6BCbOhAajJc2pge4PvNenB\r\nWPYMw11hIg3Vb6cSwDLMqCr/xemb1XouwjE=\r\n=E8KV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.e2f00ad_1658482471245_0.5587174085961089"},"_hasShrinkwrap":false},"1.1.3":{"name":"@usedapp/core","version":"1.1.3","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3","_integrity":"sha512-2hWzZ9oCsfgzN8Ewu3of2JuWuiFfBUtSY4b+dz3YygZcx1D48IxjyUO3+VjxVbE5eQAYSjfnA6WVMDIBZ+K5zQ==","_resolved":"/tmp/d1b4174e1ce1ebb680234b151af0c6ef/usedapp-core-1.1.3.tgz","_from":"file:usedapp-core-1.1.3.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-2hWzZ9oCsfgzN8Ewu3of2JuWuiFfBUtSY4b+dz3YygZcx1D48IxjyUO3+VjxVbE5eQAYSjfnA6WVMDIBZ+K5zQ==","shasum":"04f087edd96b5a5ec9726ba7fa278a6e68f5b937","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3.tgz","fileCount":2283,"unpackedSize":3261142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkSCmT36iT0LhqYxfVL1kEbQ0JNhMvIxgku1SFDwFQcAiBuSxzUjjkKilOlBrFPaPoAXsW/dWBt+JuDBekg6I6zMQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2nI2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvQA/7BpA6j7BxEDTpZQEC12Ff+jWv2+7udY4ky4KIj5Qz7odZmdYh\r\nF/qOiomqTbU2EjU6+ffuDkUUzOEtgb98ZEMvMAIS1lffXeLK8gaPI18xoyGX\r\nga8AZ0YKo4MZPJ//ckd6cympRVcZtL1dyVJTnOB0gANiSV+9QxC+q+620dPI\r\nY/pF17UncUqgT6CbtpuMIYZmPnaiaQJIRHv2jEdCkx8qi2+Fwc0zjM9sGEGc\r\nssjb43/V31g2s1+MfspTgL66VBlCvFL/RnaCBqMP7LdAPa8jgYe3WSQf+CsR\r\nBrXW3VQ8QtbWcrUCWDXOQEogQHq8ye9gHlYOJYn90Z8fu603Ey/CL0JN0bvI\r\nmy0aB1M3oP5D0q/lFXqnxfgZ/BA9j76ds5CEuvgbZcOF5A+j91VNg9k+jJGW\r\nj/V7xo3IFBWhY22UMuZUVenA9rcdEcbM1T6f+Zu4S4hMYtoSJ/UB4dtZJinq\r\n22gF9yt9HiWAT4wApAyEm/JhmgWCaBWmRvht8q2+xeH6XzXIA8+Yg6WzF8q9\r\nYddXN3cK7mEQKLQoymSei/InhLEdO6ntYbaor28T7EO3oW6C+zOXoKcXY3kH\r\nIttdHE6tAvoXHFugl3sGYmWWt2pIDcw5PVsSC3inQuVWC/Mks6aDJ4jaiPHq\r\n5SvuLEhnv7IobI6wT5KEoMH0FeSHfso9VEk=\r\n=jekU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3_1658483254176_0.2315561797606287"},"_hasShrinkwrap":false},"1.1.3-dev.9dbf81d":{"name":"@usedapp/core","version":"1.1.3-dev.9dbf81d","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.9dbf81d","_integrity":"sha512-KTS3U1pycQEs16P/OYrYOure90JP+j/cT1sppJNvm69XBHiNN1nO5vTE+j7S3CzEBNFzuNW8LxVxm8dY6nQuWA==","_resolved":"/tmp/d524d59c3f50521c8bda16be842e5926/usedapp-core-1.1.3-dev.9dbf81d.tgz","_from":"file:usedapp-core-1.1.3-dev.9dbf81d.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-KTS3U1pycQEs16P/OYrYOure90JP+j/cT1sppJNvm69XBHiNN1nO5vTE+j7S3CzEBNFzuNW8LxVxm8dY6nQuWA==","shasum":"c5c7d19dce0d4ffc4f0edd237d27d6f0d0fe3c02","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.9dbf81d.tgz","fileCount":2283,"unpackedSize":3261172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGllvu9raupRL4S76cn+3NnL8fcsIK9yvTEAtFtZgIQUAiAwbxieTZNqJ9O4vLnpGP4cKx/2IEhGO7uTri2zNulSCw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2nK3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAOg/9FbnB4S21tnBGfUwukSBoyrD9LNO5FwXaYKBY3EZ+6b7/YBA9\r\nlkPhi1+YQkimasXmd41U/1qpdCuMlHuE077g5vyB+dfYhKENG4z8AMq8faHV\r\nydhVkPtVt6PwEB2xBsDZ2uESyF2ads2PibJLqK8BYynMcJvXzzQ5qtLwqvtN\r\nv6/c9WDUsfld1YDPF/9aW7qLNF3DtajNRh9WMIM/g39AlRqC6nLkszk/xpdt\r\nlkHnzpfzKY4I6R9RNtSZddcAv1Z6x6ByvTKNM07tHM6ON9s2d5CmlfGTaKh9\r\nUVLiSgm9Thn8+q3SxAtbfGkLdkrBT1x153nl5GSM4JQbz/LXuIJcolVwdise\r\nPxtptw8jHwAl+//Voy3tnxFAuE5qhTVzLKy0WYXlMbBBSrNH+qGDc65cQ/fE\r\n1REa39/HT/UgGhY02p9dcnPT4LzcDkTRmaaOKNJoWJs9Qh3+TThKNBSPaFdX\r\ndeuxXAlUpQw1zOcRsEXCYTNIBsLE5HvzYVFV0GB0tH9MQwy4tIQeFm3gf65L\r\neg13/Ar/Q0topj2nlK6H8n4ByXrI3OEl4ShgVkH3sWWmsr2RtvlYWVen4XPn\r\nInsA69YEFfy4YQw9rB7wAvVFa6T/9jJC2Jc8dAVdZxikUKe1nLx2T+UvoIRD\r\nN0+oICT1QeQajtTvpfB+IOW1EIikOgi60MI=\r\n=Z2Nc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.9dbf81d_1658483382620_0.10649952086606063"},"_hasShrinkwrap":false},"1.1.3-dev.1b4b19a":{"name":"@usedapp/core","version":"1.1.3-dev.1b4b19a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.1b4b19a","_integrity":"sha512-9Wjjr5C2rPu9phBqN1fcUNBm676CaEeY27SVVe5T6cZ5U1S6BDOo/y+k8ptLiL1NVJSg+JiVV1ByFEnGxnxgyw==","_resolved":"/tmp/11fbf0c0c67bc908a4a615fb16f4083a/usedapp-core-1.1.3-dev.1b4b19a.tgz","_from":"file:usedapp-core-1.1.3-dev.1b4b19a.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-9Wjjr5C2rPu9phBqN1fcUNBm676CaEeY27SVVe5T6cZ5U1S6BDOo/y+k8ptLiL1NVJSg+JiVV1ByFEnGxnxgyw==","shasum":"22a27e6615cc354e93f87360256abaf196abc8c7","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.1b4b19a.tgz","fileCount":2283,"unpackedSize":3261172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWPBZy4sO+vosfdds2qTBZ3Sl5b5FDx/PuDRQq+FI2KAIgAssGxK9CAohlny75spMoEPeOPChXsTtu9bFxh8EPqaY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2rD/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTeQ/+MpVTBbUd2bSZPusKo4PBlWknGoNiA6m4KxPtaKln/yq1NC4T\r\nRxtQ7jZ4qjatbA+yK34Q+1W30WUd6i6WgO5DYexn+z6nGhECmhRWSN0Mk70S\r\nnfs46/Gg6oLQnjFX2sNB43gDj2CYY4N713dpVIuUd1KzHyKpuX6PhF7pET2A\r\nkcCYiJjix0R2YLVw7bwuS5p7RruhzVqDdFrl/DxTOXTzA9/UprXZS4sCMQym\r\nPDJ0uS6qSU04IC06Sh2uD6kKTDJjlwi/g0qfCXFKDB4O4wMey3NWVXvz6HdX\r\nww+Zrj1pBJwv6SltW3uru3JsV54jjsg2qmLDF4oEfaAF4PsURyfnDF4VFQRA\r\nyaRLNBdecgFETsRVkxtMSIpmHL49YCadHpSzHDLoeKi4KeIlJn5RUOiGLiyv\r\nODtjN1U306MX4LVLSCeL4z7FPmKUXZi9xCwPwg8wOZwngvu7GfqxwSV5cCQk\r\n1BuU4y9pjGOOi5OvSZ7Y4yg1/I9a8FA2ZSZca24ixzNEorsjhyl/deSQ/yE0\r\nxGfWcPF8QX8JAUq/KBfhZL9EJ8nsAd97JLGWhla67Coysglh77dXyRJvdPri\r\nh5xT2HegSF8gfmLXKZrCXMg41WjqOx4qnZ7Dxg4onCu9CHV3LmQmkxGxYKe9\r\neipw0p9lk0KpSMLzQzQTxTIEFkrOfQgYLHo=\r\n=+c3/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.1b4b19a_1658499326977_0.9437923362554408"},"_hasShrinkwrap":false},"1.1.3-dev.e23c7a0":{"name":"@usedapp/core","version":"1.1.3-dev.e23c7a0","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.3-dev.e23c7a0","_integrity":"sha512-rusvm2QG9Yb7qHYnNOmiRVg+XwTJzWFgKZ/ozeQaxVtNqWDQqc1nBNVAbnTLcdxER8Gj2/MCxUE8dBRUKyaHcg==","_resolved":"/tmp/0fd22a7d07129377dd9f4098f97e7b9b/usedapp-core-1.1.3-dev.e23c7a0.tgz","_from":"file:usedapp-core-1.1.3-dev.e23c7a0.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-rusvm2QG9Yb7qHYnNOmiRVg+XwTJzWFgKZ/ozeQaxVtNqWDQqc1nBNVAbnTLcdxER8Gj2/MCxUE8dBRUKyaHcg==","shasum":"e1fd1c0a19d007f45f6c71c846f6be6b6301ce8c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.3-dev.e23c7a0.tgz","fileCount":2283,"unpackedSize":3261172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHDLDWzlQGUAO1x6/cfMz9stav50nDqnvMM2m4zCYyRAIgYVW8c+2rq3EsjowAfFXshS83LjViqkv+R6fEXpLb8lA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4n/ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvQg//ZECEtdaiu+/oTzr/EsWF+aWCoNhFn1aqAwN+q8vsIOc+dCLM\r\nv8YKtC164HWWmvTPPIQAvhmEzIeFWRWF5k5ea2e2cmWze4vd4D1Gu+FmCE2V\r\nchuwuT6SBCpRRN7vwrR+pj/ZgxCeye/ykx1zDTdNv1O26kVTzxZLGEqAPBnF\r\nXq0fS9/AvDda5XZqDuPGZ7vy+fmx0GAf1NlkOLr9R9C3wZy+NQYx5XpaBima\r\nubnMAuw+4CFN3BLtgxdpMqzJj3DpyNpZZ4xsOATlZKMhFOYXRH0FO8RUxBlu\r\noCjhpy3CmGnYEGt72/AThoUb3vYlfsAvpQwMy4V7YI942lfNRcu/Rzk4saVD\r\nqervhitXxC5y2g43S5Xbokfq2vviNwRDImjh6jnYM614u2bfT9e7bPqNsvjp\r\n2QKzsqf21A1vr9e31YOVa4EA9MPk2QT1Z0VZlCxDKV6uxwfixm4PC+VX5z7D\r\nyhUcB9d4skIFWwIzf7AqNAzbW5wX/CuFZ96KZWY2EhPsE4ChHz3QkF0ywhvn\r\ntlhLuhbHy+9bImqpflssY/32UD8FFwvkQywXGoI9nUuLt2c8UBT1c1y8JxOL\r\nwpCK5y+uURbBMKVq44/jzw4yq0Z0kls0mIcJ7phxTZYNcvEiUqCi5R9U2+2o\r\nd5+WvKfFqIEIuT0A4vSdgCzcSxHOSL0mh1o=\r\n=8NqW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.3-dev.e23c7a0_1659011032862_0.5073708316384329"},"_hasShrinkwrap":false},"1.1.4-dev.f04fd63":{"name":"@usedapp/core","version":"1.1.4-dev.f04fd63","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.4-dev.f04fd63","_integrity":"sha512-HpPlm3RstqmjqS856pzRGTSzPMXz50H1hhwzogID68AibSLQCWc8iGVt/9Dw2LFPSSrcYKxAUv59mhUltEUL1Q==","_resolved":"/tmp/47fec04ccc9026d8b2e89818a3bb2379/usedapp-core-1.1.4-dev.f04fd63.tgz","_from":"file:usedapp-core-1.1.4-dev.f04fd63.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-HpPlm3RstqmjqS856pzRGTSzPMXz50H1hhwzogID68AibSLQCWc8iGVt/9Dw2LFPSSrcYKxAUv59mhUltEUL1Q==","shasum":"e8366a4d1efdaecf1ed61633b29a85a756449f24","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.4-dev.f04fd63.tgz","fileCount":2292,"unpackedSize":3268569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw317eYpMRaHp205vMtu4wDlPwdA7K97ueZZ6jm39TCAIhAJr0lKw3sjMy++XM95Z0TVn3F2AF2PGuaD5XnwHqVLeg"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6AbKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokNBAAiyb0zcw0QSnhdqnH5+OgvnWwy4qTbuYZsU6YnaplT27giVDq\r\nRsko78rHssDFw1KNhgKEmJ+qcxJYnN06p8WIwlWfcYEkjZ/LqivQ+aDKWv9v\r\n4En6y7F1PGKb6rUvcD0X8F1adVQp1wXAelHRQS699sQwc9L4HUpW+6+nFUhN\r\nfSizpoiju+9+shYPHky6tv4fPFDHOIwgh6TIxNdXJRUuXo6Bp546OQUKbhMX\r\nrC+0L9YL71lXyv2gZ5IMLhiDghk0xLWO715y8Kc2VyOXA4M6Dq2k/wA0QwvW\r\nCaHN30MNkubK2tSSYAaGtmSHpBflprMH/ph+1etpPTpDMXOHCA83cSz6Sx3c\r\nfpprWi2gcsP554BShwBp3ZYY6NUTl4NcYZWVmaDpdZuLbxnyyfGl9nLMQSvz\r\ntNR+fCC9LNyT5UMXNeO4wAM8TQT9/b3p+uiOM8CL0EPhT5aGpPqmu8MOWTxe\r\nkvQLwTfMrvfcUOfovC86lL85x1dc83QvhzmRdbfY9IT5cidv/KMX/q7gWrXM\r\nsrgwi1EoJsTlzA/wZqwWVVBb4nyfZxpfsBiNbDTb9/KG2qJwIdbJhr+8TF0k\r\nt5ug9ojBflDW37GUohCPZZ/yrHtIeVCJIGTgHhKDWnFXLKCO2xdllwlMAcSf\r\n9o//aeCLJXFl6DQ0iVUufJ9XgHAbGy5hLa0=\r\n=yG3s\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.4-dev.f04fd63_1659373257865_0.28017407206984823"},"_hasShrinkwrap":false},"1.1.4-dev.a6143fc":{"name":"@usedapp/core","version":"1.1.4-dev.a6143fc","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.4-dev.a6143fc","_integrity":"sha512-zmyp0nocwhhgfT+dIvh2EMEtdpYnoH3B/cMAbL800hDvDhj7xSnrEj2uKaEsMJD/wCFf0jdR8WjRF7Sj6nX8Mg==","_resolved":"/tmp/6bfe0987f581bbbc7bf18bdc7193955a/usedapp-core-1.1.4-dev.a6143fc.tgz","_from":"file:usedapp-core-1.1.4-dev.a6143fc.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-zmyp0nocwhhgfT+dIvh2EMEtdpYnoH3B/cMAbL800hDvDhj7xSnrEj2uKaEsMJD/wCFf0jdR8WjRF7Sj6nX8Mg==","shasum":"7b3ea479eb3efb05cc958295ab8f4b156d31f289","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.4-dev.a6143fc.tgz","fileCount":2292,"unpackedSize":3268537,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpw7dwAUR7S1ncm/ebdeOwgYyc2zSorOrnPTA7AeEyswIgGb9b+ggSSWZDmvYtk2vPamFPNoTTnfAOV3VMgAxenTM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6mgkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpoQ/+MBckRwXy1ZePk9Vsezv0PKLknGqaU7fhiMCUIfU0JIdF38WV\r\nB2uX1GT+cT3hGT+Bqr5GZsMO9i2N+weGyfPzy9zIYatfX2QD1PMJiiDEBWYk\r\nLv7XOtzceAl+5FwnX2sFuS9cLRE7QDBSzr9M4I3S9WvBAYBLfa3ewKFb/7g7\r\n6eI3txJPc50hVD/EQub6kRhpZEFEzJJd+Twb5zUf6+FShCJA9zDEqNSHyaEX\r\ntecL5K0MoVwQjITnj+/9jSfDfgfSnBLKDsTH44Ay7Fk8AZ28FZjsnYTbn3PQ\r\ntHzsbmnsro/2sIWP4DHN6t39ssLbCs1vbMzFDMaKLPx7hO6XEW2k9SAuXwfL\r\njkDLfUYGnyQK2s7q7YmbvKYo2Ik5goUc+JTtlqjzHiFQ0WTyQfJFR2ubgy5y\r\nA4JHwkNfDpSY/l3mI1WLMnNeDtTSbr4a5dEpZSz6x6fu/e/Xg5bjC1a6FY3/\r\nawvLaFW5yto4Ac59jF6cvZWP88P0Oq2yY/lM/hIeZVSpoLETL8ULxJnF9hW4\r\npdo30VCOMjuZYw5djLWgg5Vh3bDse4Of7KI3N4hTCnDbtiuj7PbLu5tOAyvz\r\n7zIZo4iXMFuRsxlhd3OwOt5FiyxiEWu3J/BfGTQapSLuuQDEFhmkRhy1fPcr\r\nSyg9LiOnQCP4P8G4Wjneh1vw4DTxlsJrUB0=\r\n=h3Z4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.4-dev.a6143fc_1659529251848_0.16131298426411145"},"_hasShrinkwrap":false},"1.1.4-dev.6beb50b":{"name":"@usedapp/core","version":"1.1.4-dev.6beb50b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.4-dev.6beb50b","_integrity":"sha512-hIs1P8bXjP/9fpX6ucVt1PXlJJysydYqEdzyHPY541wVlYd66gxVLRpF8uj0ZcgOAPHQkISz7rzG0nDrJqWuxA==","_resolved":"/tmp/96ffc70f557a28021a231bbea3b1abbc/usedapp-core-1.1.4-dev.6beb50b.tgz","_from":"file:usedapp-core-1.1.4-dev.6beb50b.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-hIs1P8bXjP/9fpX6ucVt1PXlJJysydYqEdzyHPY541wVlYd66gxVLRpF8uj0ZcgOAPHQkISz7rzG0nDrJqWuxA==","shasum":"58d24c3ee066774db3b8010aa8af449b9620210a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.4-dev.6beb50b.tgz","fileCount":2292,"unpackedSize":3271927,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/xumjAqmLelB2SxcgENJUXEX5eS1Ep2R1BtxZuVpkRAIgdIbbrgoHspQhDa8FkRJfuHmWMCz3pII4RPResArSSRc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6qWKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQaQ//b2dJBO3PWq1HR83aPgkjGOIF2orxR7lHVsNAGyiuJppEMkaC\r\nyOZK4f5kwOR6j+IpvL4iXT6JLJq9P/hCySLc4YDD9B+8JaTyEyqIwQOFqIM+\r\nHSANbqx/rv42EDHHPLi0YqUEsQGFBTdP49oHfRjN1CIEdQ7Qf7HeVP82wS9P\r\njISryrLr/XeTDHVcIn8t0QWSsGa0VL1toULawjebuSmKAAed/x28deKe/Fia\r\nTHMqyRH92WgixE+BUTs6TmVQ6sp4F5CVuTWS7kt//TjcXs2vGKG2CAm3Kyys\r\n/TDSFulpLUt1lX1dlEWsmxedBlzFBLSpjRdtLeSqGPrnrY9DB3MguKYkWAyB\r\nK8yQUZxXS0vNt3GRh9+CJrmTf5L4roh3EjskBymNqEmjnJDQH2mRnWNB8W6W\r\nUhVYkFczy1esq4v5zDbGqHkvV5KkyLl6qfkJv7n74RIT/nG9vMi3MDBtoHuh\r\nTzYuOaC7R9q6GAtZHQKKDB3wTyKEk6JMJ4nP0GpZHKp9YMsGwePy5RE+XxYG\r\npPyTno15AXU1geSF9/rtjyIiemufwDmgeSsHLCOqOItMzGzBk00JAlU/OXaX\r\noj1U1KP7kUZHrCmPyzaXWA0KLdeBENos8wY7H3VLlAMtvd6qo/fJ9JnZQ5Xw\r\n42Z4hu8czOKfJn32upCGC+TSXt9UY2Er4wQ=\r\n=DbJp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.4-dev.6beb50b_1659544970384_0.6192847687129683"},"_hasShrinkwrap":false},"1.1.4":{"name":"@usedapp/core","version":"1.1.4","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.4","_integrity":"sha512-PN+h+7ZcYIkInPktCENulNnLO/wWs1eFKOF/5TvKwhyrz29bnoR9WqS1VFzU4iRrLE+3uwkKOr7XfCuELDIa2A==","_resolved":"/tmp/dbbabdf2f5b3152ebd9a78d7ecb4acbf/usedapp-core-1.1.4.tgz","_from":"file:usedapp-core-1.1.4.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-PN+h+7ZcYIkInPktCENulNnLO/wWs1eFKOF/5TvKwhyrz29bnoR9WqS1VFzU4iRrLE+3uwkKOr7XfCuELDIa2A==","shasum":"f133e228e0f3b7bcb28637d9e6293f30a9f4afaf","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.4.tgz","fileCount":2292,"unpackedSize":3271897,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAnwhTrn0BPs4i9tYw6pclSPftSLyl6EbJN8JEGgL/1OAiEA0ddz3RzX16RibdizFR7V3ZlpdfAf0aFc4gPoG1Hp+NQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6sGbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYAxAAlUt9aTfx1KSU+Y9P9lCHUKGDpo3IjmKidVDnZ0ZtRj7NA+cE\r\niE+dM7H8D+VzjKfCsoaaoEbPxmW3+PJmc+lgIQvbJB3j6PxUrmFYYg6YLiFI\r\nY7YT0izbztm5kvCjndkquZogPcOY2Yv3D2uaseFyUlKauMNu8QSOGg0Uo1Va\r\n16eXhQluTegVVk9nwpSAX4S/ahsuRRcnsMOjJ4NYxav7Q2YW4qanTm1iy/x+\r\n0ZAtdGo+Ie2WSB2hycFWCOVGwLl6HXXjdUFP5YRrEEsBdH3/taxua5+/gHh5\r\nyvEmsJbuKX0O7uxc7x0l2czcuOTn8F5nLPZz1V4Ks1zmDf3UGzjqIhF0vB+V\r\nvJEO0XItVYEZOSRpJhnpCGWRFlXZGsjVEmH73pyKNOm/TJHOPtPWJdMX3bFs\r\nIljlQgAM0FAqz4FbuApuIkvu+elagcrAPgXkjhBKvzHxU1bpqav1p2RQYwZO\r\nYeWYZ67eROUq/clIdJGel2aBPaykCpFJDYE7A+imenWLRwSlcZ2J7dAzfqMt\r\nAf/Cxy4My0UW7u8t5Sx/qy0Gz2N2L9i/Z+P2+iO+4/gQbFO2zspPxbhKZU1w\r\nSj56nDJ3jYd2NZpnJLo/jfH09bfpKDU7GHBZOMy27cz2d1zEeO8WpffmJZdi\r\nwZS+Pn7scFKAaPk8sEUqFTpj2Dj7RcTWiVE=\r\n=0VQG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.4_1659552155231_0.48270138288594655"},"_hasShrinkwrap":false},"1.1.4-dev.cc79562":{"name":"@usedapp/core","version":"1.1.4-dev.cc79562","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.4-dev.cc79562","_integrity":"sha512-hhbZVpw+0BgX/w4ttklt+6VJh0ZVFxo9Z8lP2aB8lozw5ggf2VduJDIbNxSXUBrMsw8+kmSglNHOUFvYtgKQQA==","_resolved":"/tmp/dd1ce8a269c41ddf3012b6781ac893c7/usedapp-core-1.1.4-dev.cc79562.tgz","_from":"file:usedapp-core-1.1.4-dev.cc79562.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-hhbZVpw+0BgX/w4ttklt+6VJh0ZVFxo9Z8lP2aB8lozw5ggf2VduJDIbNxSXUBrMsw8+kmSglNHOUFvYtgKQQA==","shasum":"9f87bb32eff90afb882712dfc1ab04e684c997f3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.4-dev.cc79562.tgz","fileCount":2292,"unpackedSize":3271927,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOT6h31T4zyXx83TrH2TXhYqYY6oyUjGxgHSO3DCpt5QIgD6hLE6+1uwTVjUfFe/T4T4c31HKUQbDbzudQ6Iya840="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6sIAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUdRAAnsTiWWDEu6ecDLG4yIyw3fXE7ciI+8FJHSvTZtMKzlbm0zYw\r\nQI46lpxmHVeZM/KyzJqsqI3+p/zLme8qE5Os7bsoBkOTxZTMmAG9R8ZwabRv\r\nC4mCtiq0uZMKYA1nfpvPHW6rpLE/PmP2ThlltrIk9AyF1fihtB+YWr8x9t2u\r\nGr9F1Y0/NrXvKS3f2NK3Gz4YjmHRKg7MUqfLhl1tX15Nx8OC0CyqSAJ0UTV4\r\nZFriM3dNrPC1w1Jx3L6Z9EeuKW0Fccovji5x0IiLMF5bEGyiQNhRCdL+EASn\r\ny1t/BynhHVsdZ9jqXHQuoEx6N/dNGPrWx4OGkKc8tZ7gWGb+XLd+Zbww4D+q\r\nYqlZ9WONgrrOKfIIBTmKZWxwyktcCOPnIkQ5++3lXye4EKTcodWV2IHssrmr\r\nlIus8BFtF/lMSoy206E+lfKpHSpr1Ptrnv0yQyfBTj9zrWoNt+fTsVELc++d\r\nkZ7Z19iP3fOXivo1eNOHIdou2tCY5rr/laaWye3zvLIB0N8KXVMA8e45JD/k\r\n1ikJ8PNgMQi5MKZ2IFG2MH79tjULLep+Tin+2hegsEPxg+VbCwIhQXWpcWzi\r\nhkCwxCAGdYVJkOWBWS8rYgOdPKB1SCUj8uydak2XwQCoVl+Asjk3mdWqY0En\r\n+z5QGRFBsfss8pQnVTb0IALvxsaCZVZY/Zs=\r\n=3QxG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.4-dev.cc79562_1659552256273_0.36048488188457317"},"_hasShrinkwrap":false},"1.1.5-dev.1d209d5":{"name":"@usedapp/core","version":"1.1.5-dev.1d209d5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.1d209d5","_integrity":"sha512-1eVo44nejoBw9mnbi/V0JEpJ72lmFGs933U+cauiQPadHH+f11NerTCkGAnIIcYJsBtdKeKQW1l0awbT6I02xQ==","_resolved":"/tmp/46794aa63d3fa1cf0d3d61f2f9e7ec3a/usedapp-core-1.1.5-dev.1d209d5.tgz","_from":"file:usedapp-core-1.1.5-dev.1d209d5.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-1eVo44nejoBw9mnbi/V0JEpJ72lmFGs933U+cauiQPadHH+f11NerTCkGAnIIcYJsBtdKeKQW1l0awbT6I02xQ==","shasum":"1bf726f7d1d8239c28196bd9f60788d52c963447","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.1d209d5.tgz","fileCount":2292,"unpackedSize":3276271,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHk1tks9aiPfYc0XLTcmKfmRbutbhAQQOgUKvOnSgKXAiEArHqpLHdhzHn9c6DyCFsR/WrtMlCX94C8a7n9IGLajdA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi63aAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7RA//evJrtOar37KLL3dIDsW+C82yt3lFyLM2NAK7HwLBZcJRVtEW\r\nfDmd4bjTtRKBCwWgzKjk0WMYCdaV5s17g+ML2bpmAInm+9+fAT51Vglweb7s\r\n192Qdahhe4yK5dLnzW6vI9dBTq3L4szbDidveK5RPWtzmYP2NBlI3MCmHLz/\r\ncCMJaUR5qMeZTeFSKJM1G3d/fZofEkhKcDK9Hnpu3x9+cyyc2e+XEEzCAoPH\r\nrpj3kvTdoMQNrHNC6Dk5LEshVjCs+brXoPEh7gi9aJf2leFfkjlI6YVA7dTv\r\nRAUTtolhY78cRZB27i/HWPpng3SSRQsIVfLhyhx2aGtoLLpJkr9EI4UjIwnl\r\ndGgXa325uBAkerq+zngQoj22BTxP7ccTcN4SQcPaluBK782sHGT5tCOqYTGJ\r\naF3ciloebiee/iS9cGJhxNSS8TucY/+7S2yBV9BFYeFDmwO0FaZ6k3ZxZ+Bd\r\nav5LRNH2ln5F60ZdJyUri76sCHzLHd531ryJA3DDe12sOG0Iz3RYl9UeGGLl\r\naX38fScaNjZzjpWT3VlLIV312kHOyH0XC3arVyUUpsGTNTFILPNrofMXyHk9\r\n9ZPQOS3fKvSxFODjO6XiyL6nsQiz/Xy1F+m8NZ0w7UC+QGpUvE3gA/QVoCbJ\r\nGwQ2QV8K95536FB4X+n/+4d6apQHnTg+iAA=\r\n=gQTj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.1d209d5_1659598463705_0.20210172260120607"},"_hasShrinkwrap":false},"1.1.5-dev.b2bf6fc":{"name":"@usedapp/core","version":"1.1.5-dev.b2bf6fc","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.b2bf6fc","_integrity":"sha512-Mcs4k+pA5tXillZBACEOCYkbSCAIhlbq6OqJCWwx10w7Q28A9Kc3oh0XMcCZK82FJkWugIsLuZ92zRBYP45NLg==","_resolved":"/tmp/53e5fc2f3f591b374ee1eb3e03889da1/usedapp-core-1.1.5-dev.b2bf6fc.tgz","_from":"file:usedapp-core-1.1.5-dev.b2bf6fc.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Mcs4k+pA5tXillZBACEOCYkbSCAIhlbq6OqJCWwx10w7Q28A9Kc3oh0XMcCZK82FJkWugIsLuZ92zRBYP45NLg==","shasum":"6db4a04e64e2250a5f16ad2d88a4e9a007497a4a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.b2bf6fc.tgz","fileCount":2292,"unpackedSize":3276511,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUXfNP0EdRwa+y0YnIhTeTpzpDqvtxy68hjEcuWtzIwAiBvuQoDFJ2aAMWlOgK7AIK/n8RME42BQ5A9utKrtBTKlg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi648FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIeQ//UI6NdBqA/ebsEsAjTeYmDT6+gwNMMQElo8/iA07oidliJTkb\r\nJVbA0U++CdPxyKbsXZLrW+McIXD9wkGElIHNteQKVj/nFjd6tdM8g/xFfNxf\r\nd6CtytxR60WJwuGJbVKsvMdUWElPgT7qd26SMFu6oqJpnbLzM0840KjRE1fy\r\nrHtAhmF1xFxbObDumFZqerPxKGryhJ8462TpSmgadNfOm/3BMOm9MTedz+Bb\r\nVczPnmFCpIUdyEIcthOxac03t6yaQG8iM8HENAFKx7elaflmT8CB+KXBAKih\r\nksX7dFSQhNcO0SMPzEVn1MUZLjff5PNT3wUpDIrDLGYUw+ZtmhoRNk0WeRef\r\nB+zVVsbju6zjcTM5l/IgTtaGI79REMQZt5DiujAO7FYlQxHXeV42UyyAeBW/\r\n0Um3nyqRWqL/fsEk9n9fATLyPWRqIRTOo83ZeEm8YKkBW6ClQC6XkwlCycuC\r\n7HR7LAf4KL3fCkpn7SrRSsNwOOerVYGz+F76dyFfLGqcU8q3oqyELij8IgmT\r\njPUQbxYmz7zVGpjGaFMUJOKtpzHTVYjvCyLmH+CdrVqWxgf3vXQsK0Bu/RZ/\r\nrbgkQo2kd5u6Vp8cbyPkU85Gl36q2E2MuRXa2dywob+8A8rPA8/IsjreOfag\r\nIXocxaBGtpi4iZ64C+PBZeIQyPeVoA2yBKE=\r\n=fhRg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.b2bf6fc_1659604741329_0.7007627989999496"},"_hasShrinkwrap":false},"1.1.5-dev.c44d160":{"name":"@usedapp/core","version":"1.1.5-dev.c44d160","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.c44d160","_integrity":"sha512-xZI1JG4t77znHo6IiGLwkfH9hEMkgpgE9T/PFh/cZm3WPG5DURcGrgXBt5pk4yon/TtEJUpigTQFDeGeyPCURg==","_resolved":"/tmp/3bd0095ff704dfba3c7e1b40e314df3a/usedapp-core-1.1.5-dev.c44d160.tgz","_from":"file:usedapp-core-1.1.5-dev.c44d160.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-xZI1JG4t77znHo6IiGLwkfH9hEMkgpgE9T/PFh/cZm3WPG5DURcGrgXBt5pk4yon/TtEJUpigTQFDeGeyPCURg==","shasum":"05ca4377d1129a6a055633efc6d6e33e3bd0fa96","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.c44d160.tgz","fileCount":2292,"unpackedSize":3276433,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaRpqZko3hiGtVlM33gb90sBvNypwWxUR6/j/lb9pZmgIhAOYNGJskoyfF5yizQVQL28CnqICekd1V3R6knOKtCAfH"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi65cxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPmg/+Ofapxcf35Dr/itjxGS2/p35ZqWzPqErSVLSoCDkgAWTJlqUI\r\n//2/03rgqLYqUAlw03K/lSzsn9twzSHmDGhVJmNn4M5AeYiaMSQVXcLQQn6n\r\nJUHaeOPrRhcQEsQXZH3bIKGQEcHzUOuZQqmynIhBHopRc3eSoWsSfjmxGdUG\r\nffRGbOeO5e9XbWhHlg0z1qAyJINiANF8qrWChaPyi9xu1w1nwlyzj70MoL6H\r\nOXkZOaXr37z7i4LS6X6SGKQOTf9eqGI03V9xKTn3gHvjC4MovVXwgkBAuZWj\r\n1PBi9p8rwJ7shjeJHHoavrGVFh5N55nfI/QS87ytxWTW/5aOqPBTLEf/szCC\r\n83lTmygMvDrgEKa6KSlI2oW7senzfgqxW4OVJ8b/KnGtGNY1SmGFwifh6ChE\r\nsi906lID5h7qI9Vg9lljxmI7BhkzbejoPKaUvIXQPjtiqpJf0PHE9nPJWFkN\r\ne2dZt1NgJeVc2NYTaAnO+1BDDbxupv8DqPeGe7GZj1IGBj2JHujveIn7S9t3\r\nJ3MwROIJXvaPwwRhU0O91eKfq7RWZyVjR3prGNMUcRbIekTWw/OnAWWt42JV\r\nyGUMfQNCgG5j521spwHNB/w/H/Uab6w/0fpa3InPfPCMRo/7HQfSsMJe8II3\r\ncIHZg/hVXrAr7BIEJKJTdetBCoULZS8YakM=\r\n=LFUF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.c44d160_1659606833275_0.9185685017529905"},"_hasShrinkwrap":false},"1.1.5-dev.3cb19fc":{"name":"@usedapp/core","version":"1.1.5-dev.3cb19fc","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.3cb19fc","_integrity":"sha512-XBjC6GpwLlmCWezqQcQyJQZ3/pQF56jTNJjrwnzZmnLPDAwygFsUy2qVZhHLopYYu4uxf0C/DOG0UWbuWzWFPg==","_resolved":"/tmp/0c3f61c20b80b8f4688fea7e7409c65d/usedapp-core-1.1.5-dev.3cb19fc.tgz","_from":"file:usedapp-core-1.1.5-dev.3cb19fc.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-XBjC6GpwLlmCWezqQcQyJQZ3/pQF56jTNJjrwnzZmnLPDAwygFsUy2qVZhHLopYYu4uxf0C/DOG0UWbuWzWFPg==","shasum":"c53e48e005ecf1147258733577f2fd90ae338005","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.3cb19fc.tgz","fileCount":2307,"unpackedSize":3310805,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLjPLH2MYtsJEBJdEtkKgL9aRudujZhEKRa5OAk+oOfwIgbPla+B5USE2mD2A2FyfXK1aPrhixcqrulVogBGwNjTk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi65d5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8EBAAiCl0vwrOiq2eqb49lWtAAz1WAQ7pI3jnyKcl3hso4RzGsR2m\r\no1zEPb1/jRoyUhTkjB19x25EaLn1rwiMgF26NutR6ZMtjjrMIfzXKeKjoMNs\r\n4PXnyb6WopzBM9iIrPnsct4VsZ54WEp4acKDXYhdCg1ZN0nM5wOB59tVC3q6\r\npXlezOShCOJaj8W/EsCccj2fu5mJt5/xa7MgBR30FyY6jjseHstUSj+SmhQ7\r\nR3ZICW50WwrXsnyuTdtiWPSYl/tat9O8Aw1qubnTDBNs5U8Jeef6O/BjKdzE\r\nDaXgTI/WBk1Se1iElWDB6y3+wwB6BD6ScZ+i1KSpAykMIwFJ6pE7I5NUG9ZZ\r\n90pOMRp9mocrtRIWkPU28P+QC/nspJAItohubSZy+SSmzNB3Dr3Fiv8Lf4MW\r\n55AD+8AJmcbTvi41P8Ig75szp5O3LQyUJ6Ao9tsnetYdA3mhKxwY91vvYzfF\r\nlF+ICjOG3FrvdEkgX1giIUR5Y2/qreneDnj/3u8vWX8ZmMmMrufDuMDfKUH6\r\n7hUyhwVirtWudg8ozimWEsuAFMjO35Ifl7anfMo/8HesxxUe1LaEQ0tiab3o\r\nZw5UZgIuetLKBm0EqyvubnEQyWNdqIYMO6D5meHMrMLfjBSVARBHRxXhlEdK\r\nxmihWRuNm+6PiVg5nBbMqauB/v7Y4w61ZWk=\r\n=Rzh8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.3cb19fc_1659606905460_0.8820785612692044"},"_hasShrinkwrap":false},"1.1.5-dev.19fe64f":{"name":"@usedapp/core","version":"1.1.5-dev.19fe64f","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.19fe64f","_integrity":"sha512-7qYy5D+SGg8DjaD5Y07vc3VjevsAEN+7KE4RC3OeLUdaj7IktNgff534ru3v4k7Ab98fZ0iwFsoei+anuzvT+w==","_resolved":"/tmp/01a10703c005b3672c574f3612a97b10/usedapp-core-1.1.5-dev.19fe64f.tgz","_from":"file:usedapp-core-1.1.5-dev.19fe64f.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-7qYy5D+SGg8DjaD5Y07vc3VjevsAEN+7KE4RC3OeLUdaj7IktNgff534ru3v4k7Ab98fZ0iwFsoei+anuzvT+w==","shasum":"daf8e1dcd118896af1dc2de5ad55182cab513c91","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.19fe64f.tgz","fileCount":2307,"unpackedSize":3310805,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTT++Qxt1wE+AfrftWCkC7zln6lhVfUbvwdQQRcKG5WAiAYgfIS/MVA0VVshWSxBE5XVkLf45CniS0D+1sqO6T7PA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi66EEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCqhAAnobFIxRmONN/95eL8/m57sQcxwymGeP7Qq5dXnIvNidAsFKt\r\nuJr/+pjrlSwZ0BTQrYQ7dMCLv3bEu7J/qoCAyEjOYLJItFsmULD5YBtog1A4\r\nnorVGCjmZG4T9ItaUmrYw5AnksPrNqlCo4/vVGfNBLql7ss7Q3voDguB9IMc\r\nvbWwuXywbpRHwLg2pQII7QGnbLFRMLN9LFIP3y5kPDwsyk8fbAcX65b6U61A\r\ncUHxafSs8nKYCRzPs3HnaXO2Dm02qQVv3q7X6G1o2mvkXYstNleg/mWJkwLJ\r\nUgTvP+nbVyqIZjESqc/KVzw/W/BMZ6WDmOx8l8vlH38bSZHgfAGPBiKp2WCd\r\nsa/pyKNuTutO4VIszJ16cgiPgLI5WXxL4UlC8oj9qY23kVDBLAt1CFp5l5r3\r\noO5LMGFrg3HuR0idp4KlUbqPQaZ9RUUM2JyxqdiYXnBMiddmFkexReEJSCbk\r\nwn/V5lgQ8YvmkOeO3U3n1O4KYNYTXZV9xf+ylojZM15VMZsEAsUj0XQW5iOb\r\nfOfIGwjCi0weaooO+qIFIkRThbg24rzpDM3qgdNsJSHIRKs9tp3pdD/juG7Q\r\nwwAPYGhKeuOZNSOXERvMW1lasuq9xPgJBG1uJEXvhdJj2lMfeDQ8GhW7srV8\r\nCM004jZl9uXq1vAvEeVpYFd6hHR8QDmVu4U=\r\n=CSia\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.19fe64f_1659609348441_0.26566452305299193"},"_hasShrinkwrap":false},"1.1.5-dev.368e2a6":{"name":"@usedapp/core","version":"1.1.5-dev.368e2a6","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.368e2a6","_integrity":"sha512-9PCgkJ3X8O4OeXQ6yH2we3eLjJx508z93XblVFLveIq/D4nK9QWf9LtuHvfjT1BHIi1ZreL28N78hFgdcJnTww==","_resolved":"/tmp/90d5ad9658c901ded92294b33312342c/usedapp-core-1.1.5-dev.368e2a6.tgz","_from":"file:usedapp-core-1.1.5-dev.368e2a6.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-9PCgkJ3X8O4OeXQ6yH2we3eLjJx508z93XblVFLveIq/D4nK9QWf9LtuHvfjT1BHIi1ZreL28N78hFgdcJnTww==","shasum":"5cbd4e6e8859ce2be9d0a01e71033fedd9194b81","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.368e2a6.tgz","fileCount":2307,"unpackedSize":3344407,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzvBe4znM93+rSwLjIihw39IU3AivAE1iVHjK4XpukOAiEA4n0GqkUwAGfi1b3qp8gNylJthpYhj0/Vvg/+qskVy9c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7SV4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptpA//a+Bpldd0Qoe7UqlgYCLJthlehjJBwDzrxDaPQaIUM0P0PfRr\r\nNnewhHVzfGyr0VnVM1yF+NB6YAZ0Nk7rd2f775KGf/GAddjgasCZxFwIVRgD\r\n2up1sB2sKg8Xr2mdPwGFjVowqu7EW6N2bPNuge+wtjcrwzz1Gdoko5jeANXw\r\nSR8C0fZs7BWqaDoT7b/S6dEZp6aqN3gcdF6nYda4T87kwYMXow9VRhhCfnsL\r\nA19ZhqwweRsEbzrc/zYrnoQO/xEvtkT1I7KptdngyKhYJrSEL9AX5OLGVVzO\r\nV2HC/EPQ/Jsr288d9ZuDVlmBexat99MEeuyPtIuRK2a1GvCFZu08UZKRZgcA\r\nVbHcdDj0hxvCnYGncQc1pH5GhVt31hx6lrwm1UjCfWGanHtwutsHgEPSdkQO\r\n5yFoGebfvmRHTRt1ntsx7WPnz6zJ9Wp6woH8ZZbROb1nFJ8P4okezuwruusK\r\nvQObhzRDgGM0TxNK+pXn3JsOQDerbw7nNG6jr4V489lYpNAvgb7NbHMXAEIk\r\nzdXhCYPSq9oc42WiSzxT5qkjnl4v4JXQ+rEuXBc4vavTcaJ+ugjFL/3Alpbq\r\nM5EeLUznFNjgU/L67Yzj82w0j8uAZxcHT4dMCi+oGp4fw/cPxFFka1UetCcv\r\nsPPISyOn3X46+o2VVtluIecfPtzWFUAX12A=\r\n=e3BS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.368e2a6_1659708791858_0.6871644500512506"},"_hasShrinkwrap":false},"1.1.5":{"name":"@usedapp/core","version":"1.1.5","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5","_integrity":"sha512-goX1/uqlUGhio5fO3Uhjxe4gLde9ZkwGSdSaSfUGfrsDO5tyKgLK9Tlw0BF/Dj9Dh+NrKrhus/i2dNkpbbbktA==","_resolved":"/tmp/92fb1ccb9fba078865fe2404c1a232c9/usedapp-core-1.1.5.tgz","_from":"file:usedapp-core-1.1.5.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-goX1/uqlUGhio5fO3Uhjxe4gLde9ZkwGSdSaSfUGfrsDO5tyKgLK9Tlw0BF/Dj9Dh+NrKrhus/i2dNkpbbbktA==","shasum":"1e7793d9633f19b38a65450c8815ed8020bf0692","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5.tgz","fileCount":2307,"unpackedSize":3344377,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJV+l4sHSZzs1iOuLMkO70mp5kb2yGSBN+zqFH9CNjxAiAmA5lwEvNiQKvK2VTCwwUMpc1kXPqgP53tkkthe32pYA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7URbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruHg/9GB2L3tmSZV9Ld1G2HhI3lCkzek5Uc3djRM0MRMhmO8RoTwMw\r\nAoOFfa6sJ5heCsJ5kJkbHRQSCFZy9Xeh6bBivDxCCE3GsJ/cmndgJVUQVL/e\r\nmzWaYcpeMlZmHdw5zsLlVwmyvEeqXAOjC+DxtrTYHOxgvJiq/+VuS6/YVbmG\r\nt+MxA8GaAv84VTGu2H0VtbWdbDOAFXvlSUqU8b4VQwTofU4xR7Ha/qzX4eyW\r\nyYK7nJQAmQvR+tjZi3/nNPogVBDmuPYaFuXG6yLAF7wYl0prjEa8iFQ7sZMg\r\nMPL3HHuoU94PH/cVjEuQ1WrdDfdBAYv988BZ3mrmQH+yFCbtRA/7nqzmnvbp\r\nAMm63PNEKSSZFj/2eBJ4Xw9nl+t7XuQda7zRxMtvWDXNiJ9bLdcKnDaQpv9g\r\n5k7otZ8Q4HYCLbzclzKo20/Mq2arP//6LuZ23WF8ejOF2ZeiI48a49VxtMCq\r\nfaIElj7ZnlI5KL4nj0RPkW8T5vSUk2RNJ/oGFu5bhGCcqRoe0ID2PthfoS2U\r\n8llqzA/2QeEAZL1v1ZfLw6h8e9goySepBuQf3clDQYloMVmt66aA/++bGBYi\r\ngaaPaVJYznz0EpaRartMTsovDlhGXscXHj5KOYLzEi7AhR+m8jSvwXIJaeDG\r\nhjIDH9m8cuSj1ljYgzWG5wLyA4X/xwujeUA=\r\n=x3HK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5_1659716699216_0.7244426168463605"},"_hasShrinkwrap":false},"1.1.5-dev.dedbb82":{"name":"@usedapp/core","version":"1.1.5-dev.dedbb82","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.5-dev.dedbb82","_integrity":"sha512-zhyMAT7mI8P41Lq/VXZL0n9eA44qyGPS+NN+xOOfsGkkwJxjKukNSjOkiBeDURf4yNjOMUqXDFAmZRJfkBl1wg==","_resolved":"/tmp/e6b4d4851295949b08998878f1178cf6/usedapp-core-1.1.5-dev.dedbb82.tgz","_from":"file:usedapp-core-1.1.5-dev.dedbb82.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-zhyMAT7mI8P41Lq/VXZL0n9eA44qyGPS+NN+xOOfsGkkwJxjKukNSjOkiBeDURf4yNjOMUqXDFAmZRJfkBl1wg==","shasum":"59fe93ac34cd4ac437f53c6a0a026e806dadf78d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.5-dev.dedbb82.tgz","fileCount":2307,"unpackedSize":3344407,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICH8QWs0zVwj1eBpMqckE3ZVmS8VLMqCGs8pEcfheh1QAiEAtsk9cFMxh+Wq/TZ6tBP0TpmeO7stBqPu9nx+QKfSeMQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7UTBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqOw/5Abs3oDT5ucf/qF8Bqfcpwnbq4Jlu52TMHUL+8nrVUybpHwWD\r\nGutH1aAWJfKGhN1OOJSBeIatKgfyzslUF1sCbgwLK3vvwGCXpFf3IdEoAZp5\r\nSfx1koIK22gNDPJrjE0X76Pm0kHcSGpvSXmBBe/qIcNZAS2RgtNKc3pyGKp/\r\nLtYtf811/+1CiEF0WDVB9pdWpCMR9rQTpEasMAQFnt56e3y89l8mhE6MluuC\r\nd1j9jgJ/b7j/CEjAo+lPl/ZcN2TsxaTRbAcSDWc+XgO1OOq1zmTgcl7nCMeH\r\nncRuntx+DwpdEcYb/gVRNgvQk2iXQncicb/jGlswNaxiF7dfo3AUj8UnIZm5\r\nZWwHsYUYTJDrzYW+kMdAw6NXHUivrn/dgVgPlizrpc72ptQ/8ZkBF9b84fzR\r\nbxfjcbZkaHYSbUAYQIIUXyfkhlmu+fNc0HJ9TIHuR4wvCAYAlRFBBJrrd2+o\r\ne+u/qxeSNxZ/w2j6Cnmd2bnCksV/hKpRr5s28krRWGTa5+ZLIuNi9gEpRaZF\r\ni3H5n5SCZ4DSFfBHJZikfd58ueKZfsoqXHHajBQ+s8dO5KrrFlOLkp5a2aPl\r\nBkBK6cZFzEkFAjbhgAXXcNZmhGywDDorzwM/lJye85S9zBydMsYcdsMb067l\r\nqe8itCeeArrcYsGXYrNoECWvnsERD37KEeE=\r\n=rVDW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.5-dev.dedbb82_1659716801035_0.37665274767768886"},"_hasShrinkwrap":false},"1.1.6-dev.b93a08b":{"name":"@usedapp/core","version":"1.1.6-dev.b93a08b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.b93a08b","_integrity":"sha512-EcLcB96Wjg2aNMAD4Jh81MHtZtYGPjY/i76tDcU6N1fDGiB+wRlZ4T43nvE8tlJHGge4BHzX9oCR8GFf/jAQXw==","_resolved":"/tmp/d49fb07ebefed20a3feea637efdb0aab/usedapp-core-1.1.6-dev.b93a08b.tgz","_from":"file:usedapp-core-1.1.6-dev.b93a08b.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-EcLcB96Wjg2aNMAD4Jh81MHtZtYGPjY/i76tDcU6N1fDGiB+wRlZ4T43nvE8tlJHGge4BHzX9oCR8GFf/jAQXw==","shasum":"c7120431ddb0874728d20895573780913951b270","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.b93a08b.tgz","fileCount":2307,"unpackedSize":3357305,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxFCfY5AwQ95PZea/JxIgXlquRKAyzm5YQAYFMZ1F9BwIgFb3JOZ1XQbV6p4jey+XKaCptiWHU4yoWJjC3Av3u2Z8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8PxwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5qA//SIDCZr67gB1T7p0jc1lO1rzOjblGdskv7zcS1XmU+Gc2H8zX\r\nBh8oCSxtpv0DtpoymYkYYLQysJ2VcKx/KvxlGeKxcx9S+ZLZUFDvLUCk9mZx\r\n5W0s/ZG/KrD1nI+R96mpDO2Nse0HjJFpp94PxavsnRhbNWXsSieCqkuYcfq8\r\nHeNp1ECdGGYmDmX3J3niWtWi9xXAjKUQAYGzluJYSkw0trWeZLXaT9P8P2IO\r\nEnGfVLAPPraIMBxy1PwiMako1I6QnqJxtfsnO29lcdqybilrj9OKlOo5WcnH\r\nxXYBGf1L5m/rBeiYPsxtjN1QiatkUivh2Gz0LUjzNtsYBlAK9kHJGZB3alKV\r\nF54FNga0b4CK8azT57a+9ZrJ7QF4bMmzMMa6QT2hX77fbhBAYyE8IoadxZuq\r\nj4vOfQnw50f7JZrnaIww2utfAoV8VFOhUFTXlUoeD3OWelS0QotK8zJcOSY5\r\nMOyQOIG4QsaPVp9VOBg8XRHBt9bBn9slBOQ2bUqxtKYTOELBkuQd77Rzk6E/\r\nvGJugR8+/VaC+DLPCQffBwQjRLlGAdy7nXPPH7gU2vWR9+B+wYftRxoR8c3j\r\nxIvsPMPKBpWHbaBJGbgelRPr0yxx7daiSWsYRA8HCGNplrrownahsOQorrEy\r\nljuT43/Yb/9Nc1X5YLB3Lrp7UxupjANtU3A=\r\n=r0EG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.b93a08b_1659960431756_0.9557947844241248"},"_hasShrinkwrap":false},"1.1.6-dev.edcd518":{"name":"@usedapp/core","version":"1.1.6-dev.edcd518","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.edcd518","_integrity":"sha512-qlF2Qf+khDxTN8ZxaKmZ002FBCGcCobzTjF+YBK2jj4oWs3X9iNafaOj5QmZfDxzLT5ikws4r7G1G0kT4A/kkQ==","_resolved":"/tmp/6734becdba81de2820bc7750e4d60e24/usedapp-core-1.1.6-dev.edcd518.tgz","_from":"file:usedapp-core-1.1.6-dev.edcd518.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-qlF2Qf+khDxTN8ZxaKmZ002FBCGcCobzTjF+YBK2jj4oWs3X9iNafaOj5QmZfDxzLT5ikws4r7G1G0kT4A/kkQ==","shasum":"3102f33ef0173f3e92697e1fae8c7519e68591ff","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.edcd518.tgz","fileCount":2307,"unpackedSize":3357560,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuCzuEukKGA/dfN9O6FLDQPhpg3tl165BcALv+xn+vUgIgVd+gFzCA3uuK0op9uxAx13ikviJjXRU4pnD4bVMknMs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8UEnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJ6RAAgp89Djmt0HFQ3rAF70pH81PzdTtpwO1o4dVYAWp6zUZcz4/5\r\n8n397xoWBA4Pxh2vQn6ugayybtRApdA5mSmK8nr1MziYvS9N2rRubviAP7jP\r\nL8wNiNFbs4h+q8UTu1quMSF0dIT/Ng0Y46vVsX6CMHFyJWCc/5euYcaDaO59\r\nG9nMQSD5bbPAThp5eMbRkGSnOPycvX4fGjB8StnKeSQ4WfXyKBhdsLDm3vbO\r\nw9jLK3CopnH5/3AXz0UbJwLBl8hDwS4Fh/VnTGTlr0JzL/yEOsoSiNlQPnLp\r\nmW+aq+QWOKarIU/ILJJsul71StaWspV+KvCKMSZVANsKu9n5UgbtHGbvJFNp\r\nk2oJ7emMM8rH7BEt+hZdIIqgu71OoJT1Ei/6fGpse+RJzQLX4EgpG0C88uXr\r\nCMGJAfPVtSh1Q0xLR7f9J7Ctjo410Q7sacu76oEyXQRrhfNNVs1ghjl4puWg\r\nEcQNUh9rHkisTDYeEoV/BxpagJJr8M+L00Ry1hoVzhxJXZ8bj1jpxu9sYFYY\r\no4DESzIBBnwyIzveNs23SMBZOOnfF2RuqSG9wqfPP1xjUWduql/XmqV6LHr7\r\nR/LbTOs7oZR9smOrOqFANnPH6kXb0Se9h69xF7Fj23ZY87YEFF13COjdlPyA\r\np9Xtac9IWyfwQsQlhg6OAZb+BSQPYUo2xIk=\r\n=IZPK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.edcd518_1659978022917_0.38241588675584337"},"_hasShrinkwrap":false},"1.1.6-dev.704e332":{"name":"@usedapp/core","version":"1.1.6-dev.704e332","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.704e332","_integrity":"sha512-43CJHsSVYPYs5+tf0mB1thwAF2N5PX/ryNStTDR2kuzMuQGRHIFzhBoQ8VjueDfdSoXHCjFkhCyTUzSiietqBg==","_resolved":"/tmp/2e619d34653cd34b24b7cb1c3b8929a5/usedapp-core-1.1.6-dev.704e332.tgz","_from":"file:usedapp-core-1.1.6-dev.704e332.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-43CJHsSVYPYs5+tf0mB1thwAF2N5PX/ryNStTDR2kuzMuQGRHIFzhBoQ8VjueDfdSoXHCjFkhCyTUzSiietqBg==","shasum":"3fbe209897a8486aa531cc07ed68cbc7acd3ea5b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.704e332.tgz","fileCount":2307,"unpackedSize":3357560,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUbPmzAJSGHyW8ztbiUUKUqigAi8hv2v5Rk1MT7A5HEAIgFTdDHuF0/IhxroNaNxWYUp9i0Q5xl6kK8J7eVyr+u0o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8idiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzUQ/+LDSSO+WgDnzBUgxYXksfX0rjVhuxNwySrLe6M0gZmKbsH0Ni\r\nFwsl9Z8Yyu9MoRm6Xmm0UOetH+HQmYRMvcUF4vq9A9Jb4B1Ekk2M1a2oSRg2\r\nuqNTkPH6xbcpFegK3zparUrkCfTdB0WsPOhPQ1ChYzm6y+pGG0Ayi3eo2GvU\r\nd10QDYHp+0plK92mKBzIag2GoLRmfF3RG106Ms3ifq4V/FeA1kmvSm8Qa5bf\r\n4YJ7F22doB4ETB7YdylHbv5XfTAVJyfUC5U+VQ4kbSQXqWsPHAy8sxM0ZQ+l\r\nd6GCH6gTqWTI6CYzRHr/bJ0iijKoUMen7GkpmwYmc6010QJqCUcWCIjTxl/0\r\nO6Es3uXq1LFdV0PX4dKhWo+A3RhYK0sKYs6K6GOPyFWuxDa2QGlq17+MLuY+\r\n+EA5A0RQ59cbWxJghquEg1nX82i5iGlDiP1Wb+PC9iNE39cgdRg1coCLS8r9\r\nZSaYm8z0HjRpYDVfDTkZD2uvXkKh+C9tMLhpzi3REEfLcbPm4lKbAeEDGjqM\r\nXnS1gSqST15JXR/VAt4V4Yq7lDjg01PorAeguuZsBMfqvhS4NgAVKus7eHuW\r\nHDhgEZ7ihhYxdvmzBfNJHHlvuPfmKBFFkPyZncV8ob+SeUfwTTwZrnGUvQwr\r\n6RJdkMzX3lliye1UHQS2q4TUvLKedv49RDw=\r\n=Yt0G\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.704e332_1660036962489_0.7316678982642104"},"_hasShrinkwrap":false},"1.1.6-dev.41a93a7":{"name":"@usedapp/core","version":"1.1.6-dev.41a93a7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.41a93a7","_integrity":"sha512-ZhNrg9YcohOa6idL2A9vLf9SaHnhxqiYlkGbSTL/xy+g7p1LBZ2WgtXx1S/318OqyTyGigJmG8BKLdWkhyRdKw==","_resolved":"/tmp/5ceecb3b6f2dbecb06194b42af6cbf2a/usedapp-core-1.1.6-dev.41a93a7.tgz","_from":"file:usedapp-core-1.1.6-dev.41a93a7.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ZhNrg9YcohOa6idL2A9vLf9SaHnhxqiYlkGbSTL/xy+g7p1LBZ2WgtXx1S/318OqyTyGigJmG8BKLdWkhyRdKw==","shasum":"e99e78f1dba277f2cbe7faa31179349d4a6bf08c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.41a93a7.tgz","fileCount":2307,"unpackedSize":3357748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvzJSM0MkKDZhRMu7KJwhveVQpQws5jy/5PYS/HfLxiAiAZYwChHIqTsC7j/Ue5dPhlaTyWvmw63kWKQjTinsKDsA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9LbYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrk9Q/+LvE0oDZwPRcWSl/kG5gfk8WFZYav46EZAgH5YGXFJIgCV8km\r\nWBjjoxnX7ZKSVMlFIngFUZW7rlJNijIdmDH0uEDF/eZhJWAefzXG1k5JktnI\r\ng9mXyuYlGIyevBCANu16iOYhCidd5blX7fwLd0t9yvDKl0A5PjfqZwyJNIna\r\nElgZRf/RfgrvjngxiyOfoy2hI1txnIEiFUTE3nodMoVzKqOHd87qhCn1N9kw\r\njSvbK5aWE0lKBk5ljcJEwadnfVNLLHs1Ypcf+C+eQgNB/N96ygp3GgiVxoHL\r\nQ6/RfXxKEleqJR8XrFEXoThiEM/8vK3zkz2yvbHLhtUizz6NVVEst69pPbTR\r\nFVrgzoCEGKXAmfCZdVF9mPmEB2/kjacyUXK6iFy9SaYREUnx1wG40EZ28y7J\r\n/FwZj7PBsyusl5AqEGACk2Cl2qtJUD8wwI2mB4yEkfkBxU0QSh4djQ60Beb2\r\nQJprsFed7an973qMuX0tfZ/sizKQirXamnDekAmi+fL+O2VGL0dqG8URBKQ2\r\neZc1hWHYW83k+fWhwWLt5iBOnzaZabegts5QFzejRQi1moqdBffJShZXw/Y/\r\nwF4cdU+2ssMRGMeIoMiTkdBXm/SQLkJtJLvg6xaTrcbxMQB2zR30Gg04Ndif\r\nwK1YfPmSCivE+46VP/V4QUg2eLZVHupCi3Q=\r\n=26OY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.41a93a7_1660204759842_0.3617935540266959"},"_hasShrinkwrap":false},"1.1.6-dev.f266ce6":{"name":"@usedapp/core","version":"1.1.6-dev.f266ce6","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.f266ce6","_integrity":"sha512-prjduYOhGgp0tUx1/h8y929AkuYUXFCR87ViBUVWR7jyGcyVOeYoOexqD0C+KG1yUWAAAz7mMfyhrv7kx9TAog==","_resolved":"/tmp/95ae5acb3dcd6b4a28e6f02fadcdf6c1/usedapp-core-1.1.6-dev.f266ce6.tgz","_from":"file:usedapp-core-1.1.6-dev.f266ce6.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-prjduYOhGgp0tUx1/h8y929AkuYUXFCR87ViBUVWR7jyGcyVOeYoOexqD0C+KG1yUWAAAz7mMfyhrv7kx9TAog==","shasum":"4e383e672352eefe5e73ba81df94e06a727ebffc","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.f266ce6.tgz","fileCount":2307,"unpackedSize":3357748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF5gmDpSOMKpB+W2p23ZYk02qDFr/aKDfqqayx949C0/AiBJWDIodL3GPct1XDBecJyXinubQGqpZvxwvT/1hoA40g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+3OCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmodmg/+Pap5KGskwck7zIR3S+BP876T/qJ+xm2sAk6oBxbiEhwEZxyh\r\nNI12Rv8HP27Xi0wkMYWGTgDFDlHaKnc+VbLi+cW/uc+YwB3vuk+GzQssLKFg\r\nOTBxif9jfQvQ2BGWBrCda59KWV+u416cGvhAYD2plb+b9IfRJMLH97tIuSI6\r\ncNUm06OxamG/F0CseNbYwv5dnsr/tQG+uG8RrqB6htWBYaFd3ZiemLgklPcS\r\nBFGXm8jH9s9JFYVTremX7LaoVD9xlJruJhGNcn9dmuCdWqAMmceYqJ3qMc+0\r\np4rBff8FKm6dJADNAK4+D4VVvkPGc/ikNSGsMVUgVi5fwZ5saUiL/Pwqbp3k\r\nuTAoQuMHfIKJfBF65GmdvmY0I3PT7+yBX7uQf1n7iQBqT1/RuEhCLQVJMWmR\r\niIDpMj0omSYLoJfYCGr1+zy3ag8XvJhC7LJ331NxS8V7SLt5WsBnPoBLUhnl\r\n5VUsgb6S/QZBkO6EidMwmLnM63SWQ7QdT9IZ/l/paeQl9pi9Eqs9gtrEQlzO\r\nB6oRDB3Bdn7cCf+R9I7zsBd6BDWS2fAGwSP06DCPZ5wva+SPlgN58Dv2dqC2\r\n032x3tF7vXiMay/Uz7plBuIPLGzHxjmhBXbsn4R2/0YcdDI5pkjKvOzmpSSN\r\n8Vr3Zmqs2qke91xQeKm1eNd16lH+kbDA73A=\r\n=shdm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.f266ce6_1660646273943_0.33484732099215475"},"_hasShrinkwrap":false},"1.1.6-dev.9324dcc":{"name":"@usedapp/core","version":"1.1.6-dev.9324dcc","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.9324dcc","_integrity":"sha512-9kAIYbMtHyOXR5HiQoAUG7w/fz76tgNz6euaButIsYRSmj/5bw/a9934BQtbne2XgiQ10zcnsNJaJ10Ia7jaKA==","_resolved":"/tmp/21a4648490972712d093d89ec3fc2fd6/usedapp-core-1.1.6-dev.9324dcc.tgz","_from":"file:usedapp-core-1.1.6-dev.9324dcc.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-9kAIYbMtHyOXR5HiQoAUG7w/fz76tgNz6euaButIsYRSmj/5bw/a9934BQtbne2XgiQ10zcnsNJaJ10Ia7jaKA==","shasum":"056e9c50abc0531b5894e8c1a8400c36b64c3060","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.9324dcc.tgz","fileCount":2307,"unpackedSize":3357748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRf2nbRCVBmnT4e9+JNSUPwenMwae+lRADcLjn+amC+AiEA8K+BduVsQrFyvwNdWFm/O3rhTsjfOu9DSCKORG7BBnE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+38wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokXA/+MmHOQxTSDS5OkBSzy1QkiOZEmUEfrThANW/9a6YrjQsEQNkw\r\nDTORhVHqcRyxzn1L7NEct+3ws2PGCeuYnyZW9YpHd0evbjArYDDwfzibPG6W\r\nDY+2opJupLAf6Woczh3LsPKcqnH1nLX6Z5HAylW6hi2FYzfsgyKoKQucIg4x\r\nwYk4sE1OUSecxZQzzS6n5Q7HqN0+EK/frgydp87rLyqpiumZJGlvOAt7zW0e\r\n3dIA9fitf/rPFDH47kjjT7X7+YIpVfUSI0paJbTaAx3JvgDhi766FKUsh3fO\r\nsuNNAobkDwHu14cFX2f2bkR/e4ZtSipe0iqYy0V4zfsZGojCexB3KUVJRafl\r\nKI5GPHCfgmcq2XaQO0KVfJ24PNUgIsHvudNPGTFOHuebHyt0Y+9W1wz4mRyJ\r\ncTZGF96mdn2XVg861P1ln8PgKiTKUOIK1w1JlpqOlu/HkDdJaZLsyJ7zhmkA\r\nl+q3/ROFoZI1YF1pVBsUN8u7PP0C1f0NiosQ3n7MNjSpHF/UFV4c654032zX\r\nN8CAw1xfWVYD+lEjQaFe/+B+aKD6jb78QRqT/aMSomR/ze0KW3rbqz5CTX2z\r\n6i6XD0lhCFbA5Lsvh0KhlmECN3pH6aaWq67qeC9ZXTPupyn4ZNQ6qD6rKKaY\r\nNjby1JcufQEu8aC4QRsU+Rrt24JyBc+2FGQ=\r\n=kDbO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.9324dcc_1660649264374_0.11787038690657092"},"_hasShrinkwrap":false},"1.1.6-dev.0d50cdf":{"name":"@usedapp/core","version":"1.1.6-dev.0d50cdf","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.0d50cdf","_integrity":"sha512-kF/vf+dCM4U1OEJwtAemdJP+czd6IkNgmB7ZD8mLdLRn4qmFqiZsO0EEa58JP+HSiAublwW58xHrbVU0bTk1qw==","_resolved":"/tmp/a5ad213324a8e7574cf5b82d299db684/usedapp-core-1.1.6-dev.0d50cdf.tgz","_from":"file:usedapp-core-1.1.6-dev.0d50cdf.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-kF/vf+dCM4U1OEJwtAemdJP+czd6IkNgmB7ZD8mLdLRn4qmFqiZsO0EEa58JP+HSiAublwW58xHrbVU0bTk1qw==","shasum":"33cb44b53463d00c86f075dba2c5677941433dc8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.0d50cdf.tgz","fileCount":2307,"unpackedSize":3357748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGpzwL4s0z3KCgbTwF964SyjB1jWgCHtcGM+VQou5/xwIhANRV5jE99Z+LlW0vjGbZ3bpvCX1RdFfeeTvFQa+8rdLe"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/QVDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7OhAAoV+5g9IkaKjL75bdR7OoxFdWug7nnkryFWJR4gBOoZS1MBnq\r\nUVnJayVBk+tDJqVbso1js+g95XlEIOahRtZhmBV+0vnS3h+WxKdztRMwchi1\r\nOkxRH6pM2hjAoyQuVFt+Cuscno9sliDlbhOv+Ug5C8KKgEmanXWgSCEGxs9X\r\n3aiuK8+hPuj/fX1yZAqPBurk3cg1/I5Az60bJpKuJfhNtqDOUdiwoCJ+ZZ1i\r\n8g0yW/8ej7JkmhsgndiafPczn48Qr0/7RtAJU3SfGbBXMrSyg1he13rwmGak\r\nJ3sA7oSZfL8K5Kpkc7klDW3V3xEw7kycerzZhJ9IgM7DnS0ZCBWCMeSzuFGe\r\nBWJsAnaF+8rXFTtxa+RZmIwFpU/32wqwlkyeGNjBLphmvWH0fJoCENE8df2q\r\nAc47OOdFe7JCCnpZHE0paB23pfktG1cvzuDvXw7Jo4th8glAAQ9ABX2idCZz\r\ncy8sHOdIR1MiyHs4CBm7iNoQNj0V9EkgLVJtg+hZzoeFNzhi/i0ZDEhSmFir\r\nQUxftiJvZJkcSbNE5s3Mja0t8lyOKJseYJQu6PYhBcO4er6avhdneHytln5a\r\np7FXYjl+aUlWFsJCLsFKEcoqmp0MMApyRbLLLR7BHe01t93GZfubO+6htyey\r\nu6oJ68+g7coXy7t2ezAknwg07hwsRyFVV8U=\r\n=P7Th\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.0d50cdf_1660749123356_0.5296036068420196"},"_hasShrinkwrap":false},"1.1.6-dev.001fc52":{"name":"@usedapp/core","version":"1.1.6-dev.001fc52","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.001fc52","_integrity":"sha512-KueI5eolDTa7Lq9qWOXCbQkCJN9XLJ77ONBlTa4byGMKOIVl9n2EIfV8u0BNmusvrvztsn4yZTcIxbS4KdmxUA==","_resolved":"/tmp/e89218bb92fd110a9d85ab541704a4cc/usedapp-core-1.1.6-dev.001fc52.tgz","_from":"file:usedapp-core-1.1.6-dev.001fc52.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-KueI5eolDTa7Lq9qWOXCbQkCJN9XLJ77ONBlTa4byGMKOIVl9n2EIfV8u0BNmusvrvztsn4yZTcIxbS4KdmxUA==","shasum":"31ed1f2402c8a21f24cd523259ce9af9c30442a3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.001fc52.tgz","fileCount":2307,"unpackedSize":3357748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3lCXFvm+mcDJKNsYnOEzGUK+WA+WB5SHbu+bXasKmywIhAJNHgbtU+jTZM6K0SdX1rpYRW9EK9dTyhPlquXGJJCkj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/QxRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqoxg/6ApszUp+VimrVPZ4W8OxHMKYG72OFz44mTjHosjnkklsPDr/W\r\nOapfo4rdEZeOpr0OS+6Tk3rqUFiFctymQw2kbRSpuN31jTKSHSvFYuPfE6Yq\r\nEjypCyVtdBXZ4kl4uX4cNe5iZotJFzuqIYxdpFQB/3pBFuKOks6ycZRPS41l\r\n1cgljCpw+gOgIwBlFEoorZ22CaGL8+V0A1zOZB6MmmhxOISkBFTxmRZz5yqs\r\nHxpZqfj7JvTg5o0yh1dvosKdlVLV3xq2kLtVbVzyEG4XR25hEtT8oOEpwyTK\r\n/tu9n2YAeWAAuM7pS9s4HC/1WDrWWqCJTgPqT2XPxS1IKhb8W9473r+tBg5T\r\naEy03W3oaTniQKpMJ9OiBrDNnsWDxiB91sBMtYJKqgnltuLhGPiXhBgOc6hz\r\nwIXIvP4UP5Z4q5xKlEwnSzeO7U4D8u8zC3qLq9iULe6uF1YIvc6zcj3/M568\r\nPHlLjl8skVlcK6uVresKLcY+3Si9PQx7R3nMApd0nLgTUZ633PMROVz+vN4x\r\nji1dyPF6NLvcrribtu8prE/Fc6l1MgFzS/cxiuKfW3G98+YkkouTRU3L7Ole\r\n4g34uG9hk1iNeiei+hc408H9cxLaiedyZqXnWZGjqamDU0cnHm0QKyN7jxXO\r\n+X3U69HAt/a2h7TQZ1Tr0hQELWbpdBctsBQ=\r\n=amdh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.001fc52_1660750928675_0.7721625842151678"},"_hasShrinkwrap":false},"1.1.6-dev.bead55a":{"name":"@usedapp/core","version":"1.1.6-dev.bead55a","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.bead55a","_integrity":"sha512-R6KZFjfPnDTXvBRW3lVllsCDZfpnFrAmucE+srA/pUA2wryvkWgywkD2tRfzalwBNwe/721BLDhyHfIHOkCaDw==","_resolved":"/tmp/9a4315f55c5e4f44720d96376cc862b3/usedapp-core-1.1.6-dev.bead55a.tgz","_from":"file:usedapp-core-1.1.6-dev.bead55a.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-R6KZFjfPnDTXvBRW3lVllsCDZfpnFrAmucE+srA/pUA2wryvkWgywkD2tRfzalwBNwe/721BLDhyHfIHOkCaDw==","shasum":"5d3aeff76586ebcd712fd4289e0e0469cd640214","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.bead55a.tgz","fileCount":2307,"unpackedSize":3358780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8QziDmwfN+rWDYvIcK6mAfaOVbWvk3CmA8F2p6AbxWAiBtEZb1JoSyOUYHUCmcJMSvWkRR4RdmPB7l+7kum4pcZQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/6AGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoafg//cs28XWEg0yrRpaJHT2k4gaSbiHyp9Nt/psoEP2oOt3mB4Cn7\r\n4sMJYkT1HCVblo21PYpt3e2FQeWQDLCkUcKwET1aH6AMB144zbgZuc9/pI3d\r\n8JQ+QgGDcL2fsO1fL3LuoI/x4c9FNzharBBR0+rrY4Ui+TbXWrCEB3XKzZup\r\n9M8aArelUE2ojwBUzap4Zo2N0uV2gVbcUS/oCY16OFGzQe1EXeNbeOSbOtHZ\r\np03dHJB8yNs+OkjkUonIRpIxuvC7R75Qt5xoQrYTwP2aL3izhFrnfHvmA99G\r\n3aet6//2nKeXdFW7LyKRPdM/LYuT1EuzpUZuX77O13BwNZs67latjePc+u16\r\nSzzVP2n4TbmCCTf+drAxR9pT8ZNLOH9LCB97QGUXxTqGGcId9civTqxUaQWu\r\nKbfKPOEiUXbUrTYTLE2K/fBqiMGORb9Hd9fkYVwCgq1aWPIDtYzP/rHkxUU9\r\nlmx289S+mZEXdwH1SZ28I4zpzQFb0mvGPmvVtFlVkP41oOscOz+9JuUBulsy\r\ngyj94vi9bTnoxT8GYMNHZfTxoivk+e8twiKS/ItdUV4aUJlpXlXir4PsGs0j\r\n7PJBco7IDFCQNO5kVI3aPozBApTLOUA9cpmQJBf2oslkcuhJIiRzf7GWbuXT\r\nd41GlpMaKeFPTfiFaQ9Ta40HrWP3doqRQ6o=\r\n=1z2m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.bead55a_1660919814633_0.8896988634436633"},"_hasShrinkwrap":false},"1.1.6-dev.6483d9c":{"name":"@usedapp/core","version":"1.1.6-dev.6483d9c","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.6483d9c","_integrity":"sha512-5d/BdBar/n3UT/lnS8v5r+XkIAnZysYz89c7a/E8/izw6HG0E+sY8YQ8pS8m2QCPSUy0k0qXI8YNxV28krwJIg==","_resolved":"/tmp/f12f30d4e9eb703994acda7e81f4b545/usedapp-core-1.1.6-dev.6483d9c.tgz","_from":"file:usedapp-core-1.1.6-dev.6483d9c.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-5d/BdBar/n3UT/lnS8v5r+XkIAnZysYz89c7a/E8/izw6HG0E+sY8YQ8pS8m2QCPSUy0k0qXI8YNxV28krwJIg==","shasum":"a2bdac71ae9a29e15eca51dc887d043cbc49e683","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.6483d9c.tgz","fileCount":2307,"unpackedSize":3358956,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCfKgzK51nFNvgRrHYkcl08gpnBz80IP+MBOG/C/h+FgIgLmsRrJyCmuruSui2wHQRhVrtINq4zv4hpJ9kEuEuopo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA05uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqF/g//YQPJRo9xh+X7M28WjLxnRMA/RiIRt4yQkNFHYp8FRoW8qmMB\r\nYS7VHStHiDEGR4MQZaiFAjZqmqX0RfTPVZJp+A6x8PTzQ3dOQqTIxPnFu13p\r\n7QRSGcv5w8rQFuDX/Ws++wkKZIAiTRDVFf0tQ9yTqfho7b5hJZx8SBJW0lN2\r\nBEyr7KGLCQBUO8X/J05ru70FV5vkHYcuk+AoKnKR5reijHP/D/jlIINzEU6c\r\n7Nd+azfEWk7hLMnHdiFMs3C9tfgcHpH7VXxY0yychSgzreq1zyjC9zwZmugB\r\nUHwSgx/2qzGBoRKAYWWI5NSCpuCsgKntva3qRUyJI9AulRcR0wIkk9Qe8JPH\r\nOaSLonZeVKPkcKGp7dTjeYk0tihggvTOfcvsbyB2mOSVDjRMkWsRw/xNRWH8\r\nj22gwtydAjJnkp+oUs5ChTuCo8ApECFMc5WszYbawRsTIyzPhAVJp8zyxis/\r\na/puKerjPZKWrQW6URzSE163Xdzhs1q/z0zcn/zVtuvyVTDlSxM9hkUknJHI\r\nSPz+8VaJLH0LVtQxzE5PVxPdWi7NApNdxXFnz36gxnIf3j0Uh/TWPMu9LDGI\r\nhmlFYOJF13ow6CVES7av61vYdcKj/ipRrFHs2w5BaxVioCw+gaGHuQwZikvW\r\nFyd4aMm3aL/GNxmVHpA4HqpCm6vGb6jvBqw=\r\n=/MK0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.6483d9c_1661161070089_0.43142389033812556"},"_hasShrinkwrap":false},"1.1.6-dev.4c2b3c1":{"name":"@usedapp/core","version":"1.1.6-dev.4c2b3c1","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.4c2b3c1","_integrity":"sha512-f1MY6bZMxa9KZibxuyVptZVAZdzdcNnn2m9S7gdYL+xRq+L490FXSg+ilTzJAzg2jGnTbf9v4KiL8A5R1h1Blg==","_resolved":"/tmp/6639a49c77904cba96710af447ea09e1/usedapp-core-1.1.6-dev.4c2b3c1.tgz","_from":"file:usedapp-core-1.1.6-dev.4c2b3c1.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-f1MY6bZMxa9KZibxuyVptZVAZdzdcNnn2m9S7gdYL+xRq+L490FXSg+ilTzJAzg2jGnTbf9v4KiL8A5R1h1Blg==","shasum":"1fec731839081c9fd7ead3b8ead50689f0ea9786","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.4c2b3c1.tgz","fileCount":2307,"unpackedSize":3358956,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbFW1hmuLCM30dP3Nn6V0O+sFDxjEAhIYpkFDuBJlCIQIhAK23zdPsxxVM+KG51oOqAx5yUFSbRyHvwyEdcaXcN79A"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA1+bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrgnw/8CMTdy12PEjg88kI6k2vqNx0/sgG/CepHO3JFtkoAIX12cPNk\r\nV7gdCez0NGQQHqSD7LoxPdWbY2/lPwtI5EK0EPjB8fgH8kqNanlSI5lNT55y\r\n66M9p4oo4eZoDp7kI8MB7hfvX4k7dDtghgX/yzGYzXfug2tdaN28qLYY/RQG\r\n9MgZxBvtFh0I7WQHvNhmFZTbMSNSs+MxAyonOc+BpTaKIc/B/Lfytt5NtX6K\r\n6MmIDB75Ze55iOhbR8Z2LdjSOxPpqZk2OeYT/F3Sln2GR4Sq4gnkwgYhI3w/\r\nHxZF85442E7fd+rBvvA6uzQBmzo3EDF6de8moXyRCpzVtj3cNT35JBbc4Oca\r\nVEr/UxnV511oDoTSCkQqFWvD82Ldly4+sibwRHU4sX8hOI0sua1hBLj2wmgj\r\nGL8EG0L7gzQvv7t69ac1fOo22G76rN7fIWwithF4AcpTYlMQEPw41c1xH+qi\r\nLXm6aeLWKWfmNnKRe5LplQikO9Yvr6I6jUuk71Cq8Nvc68AvGR8bXBQDJ4eS\r\nSpnUC2WzKuHOlYvh1VckSACzPjG1sGxRWtcF7OngTJPCDO+JA+JVL5BJtuT9\r\nDi1SX78NFB1BCl0C9bkxmlbW3c+iJNqpt4EgAuzogELk0KTrZ4x4S/sesC/6\r\nF692dCP+vPNXq35yVl525nbT72KWfldIoyc=\r\n=LCZS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.4c2b3c1_1661165467254_0.5111107272653677"},"_hasShrinkwrap":false},"1.1.6-dev.8d12851":{"name":"@usedapp/core","version":"1.1.6-dev.8d12851","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.8d12851","_integrity":"sha512-ddIe++0WyAQPQB6TqFVFSBUrfcx6CoJc5sr00X9NNc/8hyV2kgmpey2GyPr2DRnLWuH2lkOJE+EBtMxMbMgxoQ==","_resolved":"/tmp/d15df8be43bd79c91c3fe343a2e5b659/usedapp-core-1.1.6-dev.8d12851.tgz","_from":"file:usedapp-core-1.1.6-dev.8d12851.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ddIe++0WyAQPQB6TqFVFSBUrfcx6CoJc5sr00X9NNc/8hyV2kgmpey2GyPr2DRnLWuH2lkOJE+EBtMxMbMgxoQ==","shasum":"ddbe2e8e2b933c9485586c36e8360f15ceab7856","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.8d12851.tgz","fileCount":2307,"unpackedSize":3358956,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWbxlXZbdMvEyQiL8NKoDJUy5Ys/oiJnTfgt/R7yoFUgIhANkdp5dljGRHcPWHIaNYtqy5u9vTeu0rwxcTJbRdJNwm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA32KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGqQ//YrzVdhsfwhsb/FaD1MRGIyuTl5RVDGvSN8xbdXXZ2Jk6y0r8\r\nBAIvyz2yQ09ShsFgKjSZlYVaG/MP5OMPn0T84isgovAJ2rDtND2M+RQ1m+23\r\nF7+Vn4gSjsVcRdXxbkj8Va1HTyEyFbGmfZd0+CAck3QhX8zTDSmOtANw38qh\r\nJpYYgGOVR0ncaF864rADAgfvGv812ohdQPfsfO6C3GMTVa+KGBJf2ChM/Ar0\r\nZUhR0r4W9H6LpoDZ5wQMI+yQ0YKczRA27EIeJl3R+wnngXPDKPmD+rtE6Ea6\r\n+zKrY2IMYArbtYC0ncFhvs8V+xT6dGH4p3ch11DrpAY5dD4ZMM5I9hbBEvM2\r\nhZYVWNa6YnUse+eO+NRCsBOtLo049sO63+PZvjirrdbCzrMObCWwrMmRBDlB\r\n3cN5Z34UIjPYqecDEElv8+Q/54nzYV8OnCjqfPfxPnwfROrczlarEVV9GRvi\r\nofITTkxG6Jem5a0DFNzB8YGR9fIsfERDxjC+vW8afndLD0h3ssxC9DoOkNNS\r\nGobDvCB+LxBGqyLwQCD7Hp8zrqR3hS3gR00W0Bpo3IsHeJOpNPmo/AKCzpzN\r\n0XACI/6H1RRpUrQREjMOJ0C6/w5uQXP5XysEZqWQKhgbHk/hVJFuK+7eYB9I\r\nAnx3/tg0JXVuqrBB3WvIavpYAnZ+arvaPpM=\r\n=kAQv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.8d12851_1661173130045_0.7991279670084104"},"_hasShrinkwrap":false},"1.1.6-dev.4046acf":{"name":"@usedapp/core","version":"1.1.6-dev.4046acf","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.4046acf","_integrity":"sha512-ZHDyqx/JkhRacuVYxC+irmCxbPItoO4een7+Tl5HvrXUZhG9Xe0/G5F1MI1kbR0KhZ0DBzPj3KPGqzP0PgWE4g==","_resolved":"/tmp/e6ddd6b44633502bdfefd6f3e990ec94/usedapp-core-1.1.6-dev.4046acf.tgz","_from":"file:usedapp-core-1.1.6-dev.4046acf.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ZHDyqx/JkhRacuVYxC+irmCxbPItoO4een7+Tl5HvrXUZhG9Xe0/G5F1MI1kbR0KhZ0DBzPj3KPGqzP0PgWE4g==","shasum":"44fd1335d4aec10d61eb4f5c46a76c940b5fadf6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.4046acf.tgz","fileCount":2307,"unpackedSize":3358956,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJvXkK5k15RGWIdHqafv4e2mqZ9ITPaZBhupfki1gtBwIgQ8ECV+woUPTzNuM4Na+9xv1O8L9UmhrgfbVv2YubCfo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBK4FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmovvw//fyt9R6Mvvcaayw7evefv/cOXFli45Y9hlkygNHEA3CyXSTKA\r\nVgpSL4tWzPCX2rv5/vL2EY8X5m30iXPDsNZ7OeO43vd66450ZauWR+M4r2ir\r\nqBzf5KrAWoeBVtydCANKyOKmrywZoF4uXq0+r8gfl1sIhDpfEaGMgchM5u4C\r\nacSPZNIimr4BonOEcv/Fel9Eg81APokGoRzMzMNFXA34ivGvBcwWQhPEjWLY\r\nABJUtwZszTYEIJTPeRoRS+LoxVwwqyek72VVxiblnS4XGc3l6P1cIhZEiVMT\r\n8Yfo+PL2NwEIp0NKHN9/F0Su0xbquZy6NXYVGU3u8Hhl03mK2O3hF8mAjeuy\r\n7GKUAJLkMF2COBp0Z7WDVPv9eXb17yyXGlGwbGeSoa1aNxT2+EsR7skJlVgo\r\nYfyifupUfxMbGFgO0STiA0ZZ5yufHapdVoskcftiY/HtCnJ+xbNb4pmh4MfH\r\nhGJi+SCqM06IS/Gh/r5jMzMyWFPTKtjtPoFRAuh4ojIHlnSUIXZ96i5wtSyc\r\nnB/d6Zv58cgiaDa6wxWjif+vQ1TxZINX7YpoEMsiZ3esMMkVkoCd5VbmqDOo\r\nRlJXgzmD6cVZ5YvN9ZOwsq67qyqV5p0pzrOAHHAGAGtSYAA2k04yenNSzNfv\r\nBrgb/RLL6ArdLeTvULyBLzmxTCgOwu1RGgs=\r\n=2nvY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.4046acf_1661251077031_0.9742753630800614"},"_hasShrinkwrap":false},"1.1.6-dev.2da18ef":{"name":"@usedapp/core","version":"1.1.6-dev.2da18ef","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.0-alpha.27","ethers":"^5.6.8","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.2da18ef","_integrity":"sha512-B0fG3FxBUOLPJkSGgi2FC+W3bmaZGLZuPtoI2kVdY97SBlZsGF6mz32TcWE7bsfuL2Hp3kWXV6KpQy1sf5kVOw==","_resolved":"/tmp/b765cf73523142130d3b89bae4abe858/usedapp-core-1.1.6-dev.2da18ef.tgz","_from":"file:usedapp-core-1.1.6-dev.2da18ef.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-B0fG3FxBUOLPJkSGgi2FC+W3bmaZGLZuPtoI2kVdY97SBlZsGF6mz32TcWE7bsfuL2Hp3kWXV6KpQy1sf5kVOw==","shasum":"96c4f082252a70aa2e3f37cf98568765da07baa3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.2da18ef.tgz","fileCount":2307,"unpackedSize":3358956,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLdXeeQjzSe+E0sxf4Y3qilLNqXqqcFD6ESLYHN9drfAIhAK0zZnuzbjVWHYDVcQjHNTDH0ASkoQMAp2bX/RgIkoV9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBh2jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYBw/9HYOPSqUxbUXJ+m8sVGP1Bm4cIZVLCqUu47aGZ+AuN67gavSz\r\n5qYHBsm9xx+YgT/vO1UiSqH7w8tlM35g+VbBl3/U3xlP/SYt0+WJjjx2vm2i\r\nvK03yV8NRwl3FgLtrGF3ZmalXOGFUgN+sAGGAUeWDp3m62wMso+4b3+baAj6\r\nMPZWIOTgv/1/iQrwnm3Cfr13nl5+tjYw/3xjK67u2dpkz3XskKcEA1jKVDyA\r\nFw2HXgVh5bcAoBz77VW/vpcAEfNcYGyPBh6IH9OUxFawpIv45Y809XPfUd71\r\nttAhnYf6pPSZdqcQGeFXyCcY4icx9f3cHlyyyCWGEaTHkWFN24ogQq1U6Kmi\r\nxJQpHFh23/W6UxLS/PKi/hJYBPOgLCLYFMrJ2IAkg37H7zbOJl8wEwfsiL4t\r\niW/gFswW7ATlB4JPmviml4HPmSjL4ykBnotO5D1B4WnFewRkvmhXMt80K+rU\r\nhaaEjIX1NAg0kT9aNoLGWENqXwUJbgoFvAMRt7pPPIUR72VBhlu7+QaJlsIg\r\nkLn7rL53RofBVCQhZMENo6ADffUi2cdoWU91a5AiLrlmSzwGd7IshswTbgo9\r\n1gPIZwNn7lTQ7ofxCM2bPjG9/CgR7F7Lj45cy4XLjz49Q+A4ffFD9lPRukeR\r\n/7nCIPNwNC/HMn0Z1iNaxEcMsWfA6NfH73Y=\r\n=CNcw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.2da18ef_1661345187482_0.26377168375774174"},"_hasShrinkwrap":false},"1.1.6-dev.9b10ac7":{"name":"@usedapp/core","version":"1.1.6-dev.9b10ac7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.9b10ac7","_integrity":"sha512-gkrO0KUYUBkjk9w0YErYGFS7B9HXFVmGyYQZcMhMjWd/rudeJWopfO1FWDdWcgxrdpdsDgqdTC3HfOgLFDX59g==","_resolved":"/tmp/b54da7ef9741723d6bbd397e7b759482/usedapp-core-1.1.6-dev.9b10ac7.tgz","_from":"file:usedapp-core-1.1.6-dev.9b10ac7.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-gkrO0KUYUBkjk9w0YErYGFS7B9HXFVmGyYQZcMhMjWd/rudeJWopfO1FWDdWcgxrdpdsDgqdTC3HfOgLFDX59g==","shasum":"da7b232234714b04e2fa9a1412690aa4c0b118a3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.9b10ac7.tgz","fileCount":2307,"unpackedSize":3356002,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhzTm+E8qfBILQ1q82eCk6TqihTd3ySMjMkrb9uLmmAgIhAMiSFwxU9lB3BHiWrjWnxwIavxhonRYFxlINKzlBjS1Y"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBkFjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxAQ//axtV9RQ+EVb6kORhKFol0WWk+YrnGuG765N9wJJpKJHBemW5\r\n3vHeLjKNBc3q0gOPLMWGB7affIpYAuHYiAnIHirAwG+v2ao21u46r/cEQ+Q+\r\nj0PadOB3N1c+t2ZEhAIkkF6q3uVsquguLi/IqzvLY3kevRBGd8jJtBKjWYPj\r\naNCyCBKeSTKtlGORJbwMKO/Uhjomi/inUNHVAKC0JuuM8zhcQU1JEsM2ERBP\r\nQYl3yimBklnEbqnJnVIOIbx16lraeeWB1LGGo71sE/93Pd2NKFK5KeVEGRgr\r\nKrXzdmlohiy2Cu/gc9FdILfwPq6ZyCyILAEcDlKPJXHYbV4Y+HjGs86/TgOG\r\nXFntaqIFmBNMVM2p4KJbfacBuLR0NGg/emc7eKgh9zhZi8hnQ2OpHF5T9zqJ\r\nEqMgK1/Ebnh4j0Q7mbgSVVYuqTUQLtzRrbVz5nVLOQFmJbOolalUGODt7Vgj\r\nLj7bvzVF4PxK6d1VzjRFWc49yImjAFlqv0aWDFK0/2yFL10sZq2WBImyktWn\r\nN7hYqCtZO3TcjtcgVlN677PwSs1IB4V0VYRtVKfztVem6M9/3Pqzon4G2pD5\r\nl4P2DQakmr450wHO3UiMU3vGPEn7Q3uBMmNW/qwKXr22KB+0AcUHEF68QUsG\r\nt09R1X6PpZMs3+qFOWHL9dSohaUD9fBxn4A=\r\n=tIjl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.9b10ac7_1661354338996_0.5967643508500942"},"_hasShrinkwrap":false},"1.1.6-dev.f04dead":{"name":"@usedapp/core","version":"1.1.6-dev.f04dead","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.f04dead","_integrity":"sha512-2sffeW+0Uiznd4dhLJjKmm7Ls4RL17UjG1/3PpGHg5ZQTjNipsjOwRLLFKMfmmMurRF7TGzFTjVe0y6DZ/W1sA==","_resolved":"/tmp/b8734967a2f2fa1feee17d7a3fef5e63/usedapp-core-1.1.6-dev.f04dead.tgz","_from":"file:usedapp-core-1.1.6-dev.f04dead.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-2sffeW+0Uiznd4dhLJjKmm7Ls4RL17UjG1/3PpGHg5ZQTjNipsjOwRLLFKMfmmMurRF7TGzFTjVe0y6DZ/W1sA==","shasum":"363df1d0777975ad01cd5776b8c76f0f56e471f6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.f04dead.tgz","fileCount":2307,"unpackedSize":3356002,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIECfhKADn/osEwQy4DwCSpAlXhEpfE/j8vgpdOrqfUGPAiEA8wM+341ql1apUYHjN9W6w+8ZV2f0AJcMkvlwoLh1UaU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjB1IWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkcQ/7B7SfcYvmNSSL+1nfMwwFYbWoX/PWsM7RwVJKVD5ioIgZioG4\r\nR64a0hbtjdD+IXnzDmzhLcHTVLcSmlgozkh21JxD/fomvK6Rkgi3lELWhAYe\r\ndk90kxPHmQeyqWQeyLTcbhTP866XwCC4r7PfYs6SUjn7uJzqkYM23peDry1M\r\n927v3SSSDKDlnSkZYgf5lHdP/jl4QwuHPrAse+2WShfUaonpt9K7LH5ZT//7\r\nJ2lwjkJ5sC/GRs/UYdSbDyKTaz2OVZkLHDb0y4eYbc80YxmE91LGIAFxTXcY\r\nNNsCYHOS98lNNC4bMG3AnDD1waTBkmKov6iVWTUM+5o4bqrfqUIY1vYfNbDh\r\nfWSwqDhL22oZkXHE7gltU4zsZZFrPnpE1yzbHI7wBDAaRAfKQISBvwiHIBZA\r\nwfgSHKiD4q0sIIpe0p06i06tvhhK61zzC1n6cLQCYh+vUyH2QlcPEECWBpXh\r\nfwtw6prhRfW9ePAbUGPpVuGbd9ZDs2M/s5Q04HwWxOb3iboE2nUBhodpbtqO\r\ntsCK5dF0yhXO8Be+QzEsf4gwzTXBW8Ee0Mfy7ZM2FRT6LBsxoqhsgFsbQt0P\r\n1XkM+DY+0VNMmXP9JcMaoC1adD34Qmlq8NKwuwcvRTcgXGXf+YmKp+ExtXZZ\r\nn0tNHXrhlq/5A3Yz/S5wPQzrReKuC2DcIAo=\r\n=J5ac\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.f04dead_1661424150331_0.41950021701872386"},"_hasShrinkwrap":false},"1.1.6-dev.2af6032":{"name":"@usedapp/core","version":"1.1.6-dev.2af6032","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.2af6032","_integrity":"sha512-LMRXRem8cHu9UfWFp5dDO935aPxqMmc0PIoJiCwhr1OwOv54pd7WeiHwFnoeaKdn9T6qXRBUkgRjtWlOPOz4Ew==","_resolved":"/tmp/6c7bd7f6b3a42a0ae9c354e23d8ca3df/usedapp-core-1.1.6-dev.2af6032.tgz","_from":"file:usedapp-core-1.1.6-dev.2af6032.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-LMRXRem8cHu9UfWFp5dDO935aPxqMmc0PIoJiCwhr1OwOv54pd7WeiHwFnoeaKdn9T6qXRBUkgRjtWlOPOz4Ew==","shasum":"e697dc62626e810011f0e89319fbcdae96f495d0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.2af6032.tgz","fileCount":2307,"unpackedSize":3357293,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWjHVtUrpa6FYmpl6DLk5kiceby/u7PD17OlBYnPbwzAiAPVqTaKi3ugkURU5fmGKJ/sGFTCbGcQRShaJPdQompLw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDJkKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmovpg//Sz2HRMm1m1VxMQyAKw6nbYsW03SVOlurBulibgYPFLlVeMZw\r\nh3lNO/cb1YofdsFVJ8W+NIDzqHpzFdgVCApp+smP6sD6HL1kxw8a49M6KoNN\r\niwrdIb2SbtxmLC7GaqpVWJg8zZMWU9929QM4fVmULnFS+2PzO0LXMKMJph31\r\nhCBq9eodmr1n7MJjnkfWFQqJfAeouF8slpCCOAry7kiabcrVXZ6ASeXFP+kH\r\n6FacFl9/aYH3eLordpKmtj/+plWATn4Y5KD/fcEzUX8wVr0K2ISafAF3CLE5\r\n5MBltO+ZNApw1U3MXcrDQKFIGtiUa6zRODK7rLv8rMayoITZyzf34EtsWPi/\r\nD57zVg8vFukyPdZgAA0Kq7ZhEXDzC7SmlcdwsH9RyQzNIKi9vBvain7eqcI/\r\n5jKnZVM2ZBcCtNxztvKD85rClzlQRyXtQ77o0E89okzQMir3iA0wTgeSRElT\r\nmx8GXy07sDzjePeXSQy7F73CzpTg1wdfBUBDYIgTiRqFcPU2y/yoyAyj5g7g\r\nn7Zpqqm1bGphjMU8l6pW7tP+nxBw/KMiRZh0vAW3A3f6goZOXnm1o8BF6pca\r\nFb5q/EnppeB/00+xYNcScwh5tWzossCLdWxtQSBPDsfnn7/Jdo83z3O3r06f\r\niadDw6bYDFn9ye+qcQBd/rPWAGEL5F/r8dQ=\r\n=q9OD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.2af6032_1661769993958_0.6294100651187156"},"_hasShrinkwrap":false},"1.1.6-dev.f51af83":{"name":"@usedapp/core","version":"1.1.6-dev.f51af83","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.f51af83","_integrity":"sha512-rPN/xJUc2z9H/uqDJVomWgMg6JK9snkvP/+wRaJf1w/m54kgWDraWZlfswdIZYmYehCX5DA8IUlaHKTk9ao7Hw==","_resolved":"/tmp/5da5c7fec34ae08121e308f28403a3de/usedapp-core-1.1.6-dev.f51af83.tgz","_from":"file:usedapp-core-1.1.6-dev.f51af83.tgz","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-rPN/xJUc2z9H/uqDJVomWgMg6JK9snkvP/+wRaJf1w/m54kgWDraWZlfswdIZYmYehCX5DA8IUlaHKTk9ao7Hw==","shasum":"951be3ab4f3aa3769882f6654000faa25f727899","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.f51af83.tgz","fileCount":2307,"unpackedSize":3358525,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuyIgjWYh0tpSzSsgt0rT2BeRFrJFuLtQ+OBogtHeaeAiBRGfz/vEOiiFL0PJJfSHYYTZUYA4gxmu0CJ34tOWs1ng=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDJkpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1Jg/+JZTepOXmSmFku7TyFkOGF1F3PjZitKj5GCAmZIig0tYQizJD\r\nMLEuakUUiaktK/nmzWBc0r4YiurC9skpzoYuhjQ6OU100+SOnuMXb87VYXyf\r\nRK7bVgx94hKgvcnWCfpUzPQ6sEtyHrgOvI/NT9ZS99mvtatU3/eD18EpycOZ\r\nr7Ev3ZAIWMJ7OUM5jM3bkAd24s6so8a5tHhofqqO9HhkpqdhWRc9xuCZoTkV\r\n/jmYdpJXnaW1ZJbq5SEPqntRl9je0Pw/JzR7/8Xp2fnfVPkOqruLu2WICacU\r\njvZ9fyL2f8elKbKIYVxSFPcT3WTbynT338Zm0elbwXFY30//M3RdyI3L3y3m\r\nw+XG40AH31XvZ7M0B44Q+o5b4ud93ndcwzbETOpk898HXn41NHEju8/J36vG\r\n1NDVeMIdzmInBgDnRnYqGP/pdU/8211IZqmabooKvrVhxJAz9xhliGW4OVAm\r\nLzb0sfTfjj4sDPS72n3Tpik/141zMGn4w3+SZTWBjmkRO6YHzYBwFfmmUNOL\r\nq1a4d6Q14CZ+f6mIhEV1JaI7zDsgyiEB/a6QKVK27xrzoIWE7cwzhrPsVO6B\r\nXY6emDDn71bTAsR1aY+PehYXGizNoquSkm2lngOpAF6VLpAJ7qKk6p9Y8fMl\r\nssmaFsns7zg+cF2RGqC4xD41HOy/Xxa04io=\r\n=PVj0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.f51af83_1661770024944_0.3864091223773891"},"_hasShrinkwrap":false},"1.1.6-dev.79d1866":{"name":"@usedapp/core","version":"1.1.6-dev.79d1866","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.79d1866","_integrity":"sha512-dLKsFK8QhJWe6EHJ2Kd0kptUvMRbDGzGqBekQO0Ftj52MSp5gvDmhDZmjmsaSKYfTMO2n41oDKMhFJnJNwsHxg==","_resolved":"/tmp/9e34be236ea68589d024d987ea1474a3/usedapp-core-1.1.6-dev.79d1866.tgz","_from":"file:usedapp-core-1.1.6-dev.79d1866.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-dLKsFK8QhJWe6EHJ2Kd0kptUvMRbDGzGqBekQO0Ftj52MSp5gvDmhDZmjmsaSKYfTMO2n41oDKMhFJnJNwsHxg==","shasum":"f3deafdc79122fba7c7c045c538e22edf3bb98d7","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.79d1866.tgz","fileCount":2307,"unpackedSize":3358525,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN8BMLQBFp1Ez89rS9odSherlHWKwOWfvLCz1roEEsjwIhAMTb4eTShaX3wq+CX2C7fu/UMUFXhUbIhqbH6vUZBt4e"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDcvLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqx5A//WwHhC/f78PoOZQA6e7ogLxDG0tiM8JEfH7rMdMNSfCireLC2\r\n++C+W0JjVFa1YdJ8gZrYeZMV2BeC14SlqeG26YyyHNykSGNfBk2h+2vFmXmF\r\nOwqxC7+04gzm64L5xC+TlFGzcbTkhtv9WgpNscMvoki9GJSIvjKZmjVRgH9P\r\nHSU8REuhmy3X4+P31vSrQmaOchzMxCmGlOx0g9usgErKuhPPS49Tdveqyp+g\r\n+dim1bSJm8tGsEEXwDWH0KJd5sZ1xU4UHiFoO2Crp+F/czuZVM/lJmAeIw2O\r\nZ4rqmhaU8ngDHWWSwk55jDq3v3vX91f8QC4S0MlsPIYmygRpWH2cFbmZ7hIg\r\nY5XdcdCSNQxe49os/U5jU24Pu+MUvTiDHXFItX9G33WgNr8nbPwvowXSfGID\r\nT9feoiZZaf04yiNsMKlSapZxOcNwXwPMD0U+GuZkCopfZ23Om2m/RHJKMHFl\r\noUEb9IRp40i+sFfW2Q9l6va2sbXYVuWuv+RUj+csjJHJ+V//dnvlFk+0kNFp\r\nz8vUoBOsYOug4qn4ITgxkHHrNZAysb19L0qt0wXR/uidyVjM2eky0y7rSlxk\r\nwYYpToOxKqRMG1CA1JWtU3M21ZQeIHX2SuChqyYYVHJ7FCrUOiA0RCY/cD2I\r\nUv3YRYCxzMJxKXDY5n3zlIF/qXmkYgljff8=\r\n=QiQB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.79d1866_1661848523202_0.4959810659089543"},"_hasShrinkwrap":false},"1.1.6-dev.034a11b":{"name":"@usedapp/core","version":"1.1.6-dev.034a11b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.1.6-dev.034a11b","_integrity":"sha512-s34gvhUqFnhgu4L1BUXAPDD+HOYWtdiayouLDYae7f27CRZ39K6Del6TQCG70g9SVofse/YmZpRKZDj2zyFtbw==","_resolved":"/tmp/64349355cf967a9ae11754b28f0d424f/usedapp-core-1.1.6-dev.034a11b.tgz","_from":"file:usedapp-core-1.1.6-dev.034a11b.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-s34gvhUqFnhgu4L1BUXAPDD+HOYWtdiayouLDYae7f27CRZ39K6Del6TQCG70g9SVofse/YmZpRKZDj2zyFtbw==","shasum":"8bf0fc0585d261f3c95a0d7f0fee28ab66ea07c6","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.1.6-dev.034a11b.tgz","fileCount":2316,"unpackedSize":3366563,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAT9aqTAegrAzuTjPUBisNQoI4f3GM7kVvQYWxSL+HxQIgHv/LjGQo6moFFCn6rVCmojjRiGNYTEUErUBYuwDAcuc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDiieACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+rRAAjrdXWi8IzLggqpDvWeyzJ0/hgJaJgUmldyXPuiXC83D2xICQ\r\neZVgN039eGxaFTYFAd/PstaNyAVRfHqqO19tlzN1pwB2CIzSRU+bon7H+IG6\r\nuc360ur90W7PWFZrnuEQczfAyFDgapWGImjKI3fBcAeuP7AqSBCjbbze84US\r\nJ6ZzHUo9Kycuyhtg283/bXQ29KZA6O7viQ+92ED/O+dual5HpZkWIKnc1NkA\r\nbgj0WmBRMHZstjXabSkOSL6jQOdwuJ/QM6Mt1uBEZ5HRm3rUpg0XoKgskrSu\r\nXYSysSo8CQcr1RJxj8wjn0KqY2KU0fBycrZELKNVMixh7H4S5hCoME/7IWhd\r\nr8q7wqAQoTyJXrq0FrZif2A2fTso3srb4ue4S+a0OjJB6eu+E7NK79c46s8q\r\nkBIyBlEKkh91K9pT7yXNAvM+eTdbv/w4/Dr9xRL8PKnztCKVbahvX7+6CFez\r\nSFlIn1y0MbwuljOXi72Yr///A/oZsq2NCsxbiSkk5xwS7sI2aiZCwWns8N3u\r\nFmm+f8ix4GSgw+ZJzcW3LZ6HyaUC/dmLa/G+Vb+9yut5lZAZ4VcDmVVy+Uhs\r\nZYAoFJf6UYjkSvGdnHYmKq6oVB1AJAw93CDrvv/umRQ/KDRk5y+kQrXoEd4T\r\nNYqYxHXMZFWfNB/O2x7BeTiMaX+zZeSrmAg=\r\n=R54h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.1.6-dev.034a11b_1661872286323_0.031582924782768584"},"_hasShrinkwrap":false},"1.2.0-dev.0de1fa4":{"name":"@usedapp/core","version":"1.2.0-dev.0de1fa4","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"@coinbase/wallet-sdk":"*","@portis/web3":"*","@walletconnect/web3-provider":"*","ethers":"*","react":"*"},"peerDependenciesMeta":{"@coinbase/wallet-sdk":{"optional":true},"@walletconnect/web3-provider":{"optional":true},"@portis/web3":{"optional":true}},"devDependencies":{"@coinbase/wallet-sdk":"^3.3.0","@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@portis/web3":"^4.0.7","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","@walletconnect/types":"^1.7.8","@walletconnect/web3-provider":"^1.7.8","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.0de1fa4","_integrity":"sha512-rdStw1TcIu50fN8NklvIdUbyqxztAaD72SAkTV5eX+aT3Ss88/U/wzcNolN592pMsVBS0zrdzrc5Yli9ZgMrUw==","_resolved":"/tmp/db0ae8e8b0f82458dc18eb222cc64d71/usedapp-core-1.2.0-dev.0de1fa4.tgz","_from":"file:usedapp-core-1.2.0-dev.0de1fa4.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-rdStw1TcIu50fN8NklvIdUbyqxztAaD72SAkTV5eX+aT3Ss88/U/wzcNolN592pMsVBS0zrdzrc5Yli9ZgMrUw==","shasum":"a55c3f1b2a2b126730be193e153fd3f6148e77c8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.0de1fa4.tgz","fileCount":2334,"unpackedSize":3123720,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwbhVy7StSpWonwrJurrG56BP2c68jFWHpB1rZ6YymcAIhAN/Wg0WnIdlNpZ8LMJL+y+5UzgZ7nejoFyYragfgPSHT"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGF+aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrO3hAAmBOABSFT1Ve/vViLZ59keFvHS0+XUomY4NhuXCOXiJwCR2Xw\r\nqv9jOxnUqNbTJat4pB8QfKo5Q7eETRFsVMnIWfvQHlAoD5BNrg4O2aJDISed\r\nCjcBfO4EQOQ8bEVVwV1fSgP1YGeTK+wQffVzXF2MgLxPA8iKfZwjG9LTg9BT\r\ntbRwclfjiYEax5XynRcxMPeWYEG59US+4tbOhEkwQkRkwZC0eZtTjOjthfrC\r\noCZCB3B1Nb0e7y9Xfwg3SulC7860Htc9LjeeloOp96k0MgFNflW3HlJGt14e\r\nG4ggyYMiWDHL6w2+4TLqcVhZK8/8AkWGaKobbq2Y/YZ5er2cdyqv8Ap8/LEC\r\nePlbJ7n531OCF646Ar7HT9X+qKoUjTMwpIRaOeg3lZXq13biiBTwC8968Y17\r\n8njvMuT+hRhIcCg18pI7PySzNIJcflqNfskFRkuoQQsNXV/LKncHgJ4/3x7T\r\n1Of4Ju4Cq0/3kidav0+Uzok/lkAT1sopTzyB6DIWb0YYgljDOiZSMDlEn6nQ\r\nUGONEG3ukLAOn5vWIMh4oFPFdWsevHS7hgbWz3YVTmfimGIuSoJ+ASfcMXuh\r\nsRGnFLdK5f5jJQTwkRKlZ9roCpX1PuKBKso69PfcsG8UKiWkcs0cIx5bU3po\r\nn7J68V7y8C8gCFIIz9DMam4VyNttexraMv0=\r\n=NxLv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.0de1fa4_1662541722359_0.8325495207686078"},"_hasShrinkwrap":false},"1.2.0-dev.ea22c16":{"name":"@usedapp/core","version":"1.2.0-dev.ea22c16","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.ea22c16","_integrity":"sha512-jHwcQncsXbSj8ePEUPCTZMFUPV8CMjewKEVLP1Ib7mxv3YKHw65XQSH0kAiIW5m8rs0TY8nXSgyGQI34DopyYw==","_resolved":"/tmp/a8808e618a5165bb9f30aa4db6867c81/usedapp-core-1.2.0-dev.ea22c16.tgz","_from":"file:usedapp-core-1.2.0-dev.ea22c16.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-jHwcQncsXbSj8ePEUPCTZMFUPV8CMjewKEVLP1Ib7mxv3YKHw65XQSH0kAiIW5m8rs0TY8nXSgyGQI34DopyYw==","shasum":"c301ee992243b9cfac793e2b939066dc9790d8b9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.ea22c16.tgz","fileCount":2334,"unpackedSize":3123257,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnMtb3cWCNJrT8uLLDKHjtKTMCSm3CGQitn5XoxuHaQAiEApAFEOIhbNUFaNRxlQ8VTYfZ2Gwk0SgVnqUydmVzjPHg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGIH9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrovQ//UVFkg8X6iRc5vSQD0xzoRFUQaODkLoyun0MKpYbs78EP1+AW\r\nTo5x9RPP6CJ1CiTT6VcAvlU/saz/2JlA2GTzYt0HfVBAfDv0NxbKXbZ4SvQ2\r\nAc1mPTQ8Bmxz26abKF+9JQkoihgzofaHvrONAO0iD98zk4xfPYlp74rtcijA\r\nZpt5qp6Tu4kyRzbQ/wErcD7tUVJSJIdwMi4PqHZHyL1PL72X9famDrfuUNJy\r\nbMFSL2GxQWBzwo8PTeLnyXQnLPnKzpRQuB6HkaB6ytQaAZHLtA0NmFudBzPT\r\nLAZm1uZeACWCRe6MQcfYYtPZF+EQruAU68ssL/ixkp7tYutJbc8W3bRPUaI3\r\nfrWwzkHibbx8m6friVv/rDI23m+QqKdenWmvDr214OPKQVGB2wqQw0gLTCPR\r\n/XO7/i0ww25x0hZytYQS9imzfLWZZMFp0OHsGrGwYqiijaF9E/XN51Jyg0Gi\r\nstih9pfc7BAmWDFAV18bqz/aibmQRnyoiRX6OHnSMrKWkHpzmqmDks360zem\r\n3rh94Fe7JRs0S5YdkdlKUx7NBC0IUWYrhzKXJIRw631KmQlhpFV/19TgC+oU\r\n/6WefEg7jjHJalXwWoktK5NiWTuQvGl9LNUe86MBOGFkK4c2T9qShkDbuO42\r\nh51oRzL7wDAIHLIz6fTGpSOcTBNdULZDPew=\r\n=+PpH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.ea22c16_1662550524802_0.22819927243814542"},"_hasShrinkwrap":false},"1.2.0-dev.285a141":{"name":"@usedapp/core","version":"1.2.0-dev.285a141","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.285a141","_integrity":"sha512-hgXc2ilpwj0gZLze9aylOb58jPnVoSB1KYNGwtmhQrk4HFMNHfKtqZHvsx2cJP8Nw/jL4tLTAnlHbFzUSeikdw==","_resolved":"/tmp/996b649a768ecd653ddd6b30270b5ca2/usedapp-core-1.2.0-dev.285a141.tgz","_from":"file:usedapp-core-1.2.0-dev.285a141.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-hgXc2ilpwj0gZLze9aylOb58jPnVoSB1KYNGwtmhQrk4HFMNHfKtqZHvsx2cJP8Nw/jL4tLTAnlHbFzUSeikdw==","shasum":"0247b66bc6ce001d3685bdbb36227d728027e975","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.285a141.tgz","fileCount":2334,"unpackedSize":3123260,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPL8KxUnrZQUpZAYm7p9ibHS6SqASJkPGh0afgseq+2AIhALq2KskEP/ucvh+q3v4I/t8UrbcleaJzoX0fQ5LUOEZJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGdMKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoG0A//UBtxI48w7A3L4JrCtuHAZFynT09biF7JUK1TOo9Nvp14qYss\r\nvLWuxNwFzrqGUycV2NsopCRlV/3DqHF3rCK+DQbGFV0o23w9+1zCjLyz06aB\r\nPt2Oh2WYipor0wpS5ifZTrUvnedumI0eUp86A+lBWO6DOaNOopjh3UJJnyPK\r\nPAZDHwfaUyQJeaA5vyHTHLHdB9CwxUjQxszOBCNeAOBi4/Pj1K+Of9tTKLSS\r\nLcOxhYbWNWq/IVg4bIeUS2xsUxwu3UIB0+Fec6AL5z0dheqdIRIhM+44rkr1\r\nD/pu7mhrPWo1Sunzeywc3OqfWee6N4ky7mPU6TzYECGnadM2A90aZ/c+NNku\r\n08yiy8f3wuloMoFZyYbZ0HNJ9gI3NE5vrhCByWvYrpB9KqzCS96JBdMrq2Tc\r\nCJY6x4tBiK2WssPGvmPamf3wfh2wTSVuU01J4D0frid/nOf02vfMQeXKctNI\r\n2RrBZCUddUiFLWweX+E55TWaZuLEn8lIkpOWPXxuQ33XQj6kNZLd0eOHkM1o\r\nDS5NuarhIJ5K3q6G6zFk9UF/5F5w2cBvv7hnmmzE5n/anvnxx9vbEtnEHSyh\r\nE8l2u9v41gAN2qjDv+srZMNX6sGePnXEb2hD/epFrhGFQMO4E1SoTl1ctly1\r\nuF/b1uS0ky1FtNCpbimzcAP01XgIKZpnEI4=\r\n=DRxQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.285a141_1662636809863_0.21432127264256606"},"_hasShrinkwrap":false},"1.2.0-dev.1c6c67b":{"name":"@usedapp/core","version":"1.2.0-dev.1c6c67b","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.1c6c67b","_integrity":"sha512-DNEl1BrW26ilw25ewOXR0jtjWkbybPIdoTN8iAhBhPQ6cF2glHcdsOAhMqxzInuGHtbjhGF/N0QHhTpBmnKVjw==","_resolved":"/tmp/1866e6ce872fcf5e06565c0c59606784/usedapp-core-1.2.0-dev.1c6c67b.tgz","_from":"file:usedapp-core-1.2.0-dev.1c6c67b.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-DNEl1BrW26ilw25ewOXR0jtjWkbybPIdoTN8iAhBhPQ6cF2glHcdsOAhMqxzInuGHtbjhGF/N0QHhTpBmnKVjw==","shasum":"5fc101e7664947329e8d6567e30b12e25b8ecc0b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.1c6c67b.tgz","fileCount":2334,"unpackedSize":3123260,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGISUeY+EIzeg0oksQR4QmXZ9GA4wYMZk8y11udMnZvTAiBkBqWl5M/Za+JK7OuNHsfUQ5x78jtUQHMpeOIluk0C/A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGd8wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqa4Q/+IYExE0EB9RvNhiQiBnMdHD76i2b2i+aWnUsBdDGr7aozgrMc\r\nE1D1q8RtG0iR2KGVEqe90KpVgl3OzJxUiSnVl7rRAlmLiQLQkOGgDVhyccl5\r\nAZEGrVZ82s2JD2Xd4J87/564EeJhKQfNrWTNlMciTCAspKfrJdD9F+dZYocA\r\nFf1UtS01E90lml9X5t1CBif12EIVvNDma9Ei81WClxFVpVhNPOeca3xZbXLw\r\nc+Nprr/jeWXsijoO+WDljBveT1w38gcHuaaPRM+N8dMeu7wG2Su9MeeXVs6p\r\nMmf1stNR+hGkJ15Gh4UpTY2wh3oGRc37Xp+AyMtOoz1zzRBOsWX/zDE+ORHM\r\nnPe0ROnnMGR+G5N+ZEN0ALfPNx+xmvfV2nloqeyQ4rk9bGNdqswwb8WvREji\r\nejxMafnZXpn7l+LgQykmTtm3BSiXwwNFpvX22FepiwgBp/qoeW2CNl5vL1DN\r\nV+sT8U/KbJBwkQzFLcaFzr6x3QRVrFwR5XDSke/MlHQ51MSJDCyEPVsxWWHU\r\nllMPd5we1Q9dt0f6OZ0YN3752Gzk9bFf4RDynq6D1IiN42UEIY3CKE4QhbvM\r\nkT9UaGznjDhaValjWUu/KKfRuTdjIbhnLR/nmNI4PZUT25NiRilFx5/DzGJ7\r\nfDe4u5a+HWCshOgx0rv1vnz+v07wYVaqcBY=\r\n=f2dt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.1c6c67b_1662639919839_0.023103941675319595"},"_hasShrinkwrap":false},"1.2.0-dev.71a004e":{"name":"@usedapp/core","version":"1.2.0-dev.71a004e","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.71a004e","_integrity":"sha512-vCTZbZDRqZDUhRz/i9Vn2jyhKSmyQcyjUhfruPzfdWOknVL7wIip+HAI6nTANmu36ZNsvbL/ZtJvvd1LvggCNQ==","_resolved":"/tmp/d6e7ac79a9359ff2e8f2abbc7377e14c/usedapp-core-1.2.0-dev.71a004e.tgz","_from":"file:usedapp-core-1.2.0-dev.71a004e.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-vCTZbZDRqZDUhRz/i9Vn2jyhKSmyQcyjUhfruPzfdWOknVL7wIip+HAI6nTANmu36ZNsvbL/ZtJvvd1LvggCNQ==","shasum":"38010a0d02db6aef35113cba6cd5aa5746831b0a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.71a004e.tgz","fileCount":2334,"unpackedSize":3122782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDAEGfniTZok7oJh1uqoXuCE1Bi7nr0y9J0dsai/xPESAiEAro8r7IfWNS2blnm0lzc02WvZ0NotcmurQWkk/e4LTW8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGeVSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqSjxAAmennMYNl+S3BqBRm0ABl3c1NqEAAydVa5aP7C3NxCGUYHHhj\r\noO96yuGLx2HKftqxQQqal//ZMCb8k9qkSa9c6DZcWpidn8Fa/HPtfdD3EAdW\r\nOJ7DfFvtRLIBNpqCUNDPUOnhCDFNPZVoozaTQ1TetoJUBcm0zXLtE1kapEkN\r\nBHR+86UfR8DdshdEQQdpxVBNCF5KU4ZqOIx03dsQcDwJ2ka/e8Z5xFzqcfqS\r\n1Dtn9US1Rqwr4SHfT9W3dW67Mlgqgry6nxTT0KITaz3Nuo03B8U5921BJ4FS\r\n+MuxJByCa4lWbW4GMZHvGSO0lKBdcp0jsnAO4t6GOEYqMc9j0jUJey6M4Yd+\r\n7C38oUS6zvUHWFqteaKzu7OyDHLkt008Lcs7mWlt9E+jW7F4ErmhuXEnaH+z\r\nWFkHrlbPcxrzC3yZ09PIZcBtv8awm45YVptzOX1CyguEtRv609aZyVF7rr55\r\ndcYB5dXzPjrhBq4c9yu90aQgodAdn02yh96iG7aY0Xj8dGXe/xS0pMf9XQyW\r\ngJcj9Ztrha6QTUadAs3giKJ0WjiQzSP6Tr5oXq/b9Ced1k4fsc5nbSdpXU0+\r\nKbmAybsNp5hSCqyhgnOdAUy8g403XbFSn844YY0SwvPdGN9DuSiU/96jH1Lk\r\nqX+8xJQSNc/UR6NxJeiXXqOuOptus0gaz9I=\r\n=vWzu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.71a004e_1662641490408_0.780735941456203"},"_hasShrinkwrap":false},"1.2.0-dev.38eb0b7":{"name":"@usedapp/core","version":"1.2.0-dev.38eb0b7","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.38eb0b7","_integrity":"sha512-Eg04fP1vGdFRwBbQSMePKfjckF4/gC3+hCTZApn6L5yhNdFGrMYZQIu+KrP3DEcpZMyaCQsZdOTcaCuDzJCHpA==","_resolved":"/tmp/a0aa30f837acb3af1174183acaab0d0c/usedapp-core-1.2.0-dev.38eb0b7.tgz","_from":"file:usedapp-core-1.2.0-dev.38eb0b7.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Eg04fP1vGdFRwBbQSMePKfjckF4/gC3+hCTZApn6L5yhNdFGrMYZQIu+KrP3DEcpZMyaCQsZdOTcaCuDzJCHpA==","shasum":"0a10497ed753bf19f7651476c8079ce0d7524518","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.38eb0b7.tgz","fileCount":2334,"unpackedSize":3122782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmn787a72kW5iKMEMPF1dmC5IwitMgAndU4HIe+KMkFAIhAPCuTgDhAhjhLU+Pl6e5LDW+yKZU+HxZzo3j9mLHBct5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHvhnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoz/w/8D6uldmh1EK+xjESrM1w1bvJQJMUHQShm+sq+b2T6PeFJb8BH\r\nXr6C40SpH9KqBlFsyUEGVmLrUs1G6+ByxWTLLOfUiGCFqfcRVfVMTpicRTkC\r\nzIWGEPaYJDBsVnamy85U9t040AYMNAsPdLs/goNTx6bDqpPPzNhWFMxQlquq\r\nwl8dJBnvNxBwmuFxjT0nPkJjFbnk0qqigJyUpLvGRTHmsUlZsCaUZvrVf25Z\r\ns1e7lUI/PM3szSkxM472V6eCkeojBCJa8T3KP2Jt4yb8Hnx8fCThm8J18ga/\r\n4BRzPIjxQJcmEu3cS6G938QOtgrXLqbapkVKgjr++Fe7wYnjCqDa0g6P9P8g\r\nFM5TupGNsxY/SXYmOvbaoxPZJ3PzvZ/KF/dXr6qAgKgSEdZGDNL/8QPO99CS\r\niFyPbb9UGKgNzHnzXvslUTEIDkfoeIpNbMa20EHZtihDWbJdAO0dyNUwcAHg\r\n1MBe97nktjWuesDEA7AyIHx9Y5zeaTDWL27iq7jlumwTvLBgf0qWRKZZ5h25\r\nKH+iqqIVKeLktvAZB1wksJwY1L0XNUahaAMBRDMETEvRS+Jk8jqLtUj9WbFv\r\ndLoBWxHfaSiI6Ovz34/uPHNijfQMYM/j90ck+NZaB0c9rpQy4gK6CtclylwT\r\n5N6qYl8gViR47kreSpbfnl0FuX8cF9931Rk=\r\n=Df5a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.38eb0b7_1662974054710_0.16251955682467756"},"_hasShrinkwrap":false},"1.2.0-dev.e807579":{"name":"@usedapp/core","version":"1.2.0-dev.e807579","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.e807579","_integrity":"sha512-VeVuzWHG5Mp5rTkyKoVYA17df9hxeZyhe0nOjMgcc8exUWbz3rTIkKVAT/HbMM01RhcEXExtaDBBeyEXyq2HOg==","_resolved":"/tmp/9c82a8793c92703c39f5a4dedebda2c0/usedapp-core-1.2.0-dev.e807579.tgz","_from":"file:usedapp-core-1.2.0-dev.e807579.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-VeVuzWHG5Mp5rTkyKoVYA17df9hxeZyhe0nOjMgcc8exUWbz3rTIkKVAT/HbMM01RhcEXExtaDBBeyEXyq2HOg==","shasum":"2c654fce17f2f8e156c86d0f532cfb3301393565","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.e807579.tgz","fileCount":2334,"unpackedSize":3122782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXSA1GBNSkFxZ9Ll9DDRk4YKBRFI3kSyHSO9BFAAqoHQIhAJ+d6SewoXkljXvSEwOQu4omrHodlXyq7UhQw0Nfu0nc"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHw6ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDjg/+MDmLU2obINQnSyXSSPnbng/r6BJzE44KNv9wPLsoJmMID4zi\r\nNBYHuMpmfmg5BPVdOcN4qoDacI0N/Pw7TSgfKz3bPTqLhKi/p9skCjestv4g\r\nAzP0PZHumntIVIe4nBjWcX3EGV08Jh2Gti8vAhDxanvaEZlOBbP0AcLn46EC\r\nHxDOujnC0L2ZyNuyyksXjEIrZUGY5ZKaf2PIqEupD4Q3Xqc1eqLDamYyehYS\r\nhNBhqxVZya9ZAkK4xJOgd8Jy6L2RHMLV3I5N6xMY9rmbR6zVw3dR31UIY3wA\r\nte2QKtNObDjUFVlKhYrMAlAmmCASYG13yp53Ar7GMIw9xJtAwNgxrg/62IDK\r\nsliStQqh0jGzYk6nfBGzh74vabJjG+/RfBHLuMvBgPnMVUHckaxQfNnP7Gpi\r\naAQnCikMQdxER/qzuH4vXfDFwj1P8oPrZkibi6I+JnPWDcR7MQKd5++J9vEH\r\nu13Q5CESyBBEDZDU3nDgadiX+/PMFv2podm19JKNXb1PwBMcizjH7Us8GNwJ\r\neRL5BpMXa4jsQbJR9R7y0eQ99TbALi1yfXz47AdNmJtwFv6l/bbbUK5g+Zx8\r\njUBjQJBFXN4dW4LKBZTd9BMHoUWPmiI8qtFiOVxJgdBZJXhy2CjE6paNyDRb\r\n79Ie6S71k+Yp3rfQUeJ8WH9n5avdkZimN6w=\r\n=W8ta\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.e807579_1662979736744_0.3568478102044066"},"_hasShrinkwrap":false},"1.2.0-dev.1469893":{"name":"@usedapp/core","version":"1.2.0-dev.1469893","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.1469893","_integrity":"sha512-BoHLHsv3ubOqZJq1ZYxTL8Agn8+SpxNPAYxZXEPhTXm7sQx53iK7wDyN2IKOwTiKrd17Fkcd5TvWwVBwojlcxA==","_resolved":"/tmp/8df0c38b552d4216a7698ea1151539b0/usedapp-core-1.2.0-dev.1469893.tgz","_from":"file:usedapp-core-1.2.0-dev.1469893.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-BoHLHsv3ubOqZJq1ZYxTL8Agn8+SpxNPAYxZXEPhTXm7sQx53iK7wDyN2IKOwTiKrd17Fkcd5TvWwVBwojlcxA==","shasum":"daca3931486970e2070b74dd156217adacd71693","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.1469893.tgz","fileCount":2343,"unpackedSize":3176855,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbmugCimXtreVTNtyfEKz798cWwr2sf7N9L5HH93+AfAiEAu2T21UdgwRgPaRVi0f+KBQvRdhctwNbvpjVwu6RGPTo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHxeeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSzQ//aD33q0pznYLUF+3Ke6kXjH6iKUtfGLq/5QKKAd9JOPnnaFlQ\r\nQVWP/vPSqeGYPDX3BVunQqcOnogs27sIXS3bIir3L+zs1KlTII7Vl0knOV3/\r\nn8sggBg0i5lTrI/swaNBMuJXFw+3EvZXZfeea0RiBFcBY4oncrV38lDcJGyO\r\n5g/S7Mj/KBsxTXZNVlW1NGfBJff47hfkr0I9Rf41QlNcWJCvCrXDMp1cHuP4\r\nWvpcICQrVXdOrPcBcqG9GAYqGbDnhjg9/9PVWQj8ksSTuuUr8jKmhqHSRebM\r\noBvjljx8SLLy1CgQAGtimupJoHlB75r9ct8i1z90ZGj9SgwqDevcvzykl8UQ\r\naQiD+IZrlxEYhR8TVBghHGyVd/RA8g8+RGjRt5+eHFGpYbF4b3AqK44ua9uS\r\n+GvE7JztgyeywxYDPtvPSXB8cS5lbt/iJ7eRT3HhFqBOmaCpdVAL0AFkTR1k\r\nkh25HwzY4NZJMSH3eIrC2Uf4oD3teqJHyO1/mYkcSqY0ThFGrcKGTxhupkS3\r\ngv/8sVgyvk1LP4r1Tnx5ZYtiShJR+wzoNNbHYdmy1PBLqQq1Em11WTzJULEd\r\n9YriFaIxcQH8I8OIy/fkxjNFMbmtEPWdyjJIHMXpAMftitCq+0b0YyI+W5K3\r\nkCU9Ic6ZAO7v+EVhphbz+ivN8rm1wk171Aw=\r\n=MUYd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.1469893_1662982046666_0.457745396653654"},"_hasShrinkwrap":false},"1.2.0-dev.af6b701":{"name":"@usedapp/core","version":"1.2.0-dev.af6b701","repository":{"type":"git","url":"git+ssh://git@github.com/EthWorks/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/EthWorks/useDapp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/EthWorks/useDapp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/EthWorks/useDApp/issues"},"homepage":"https://github.com/EthWorks/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.af6b701","_integrity":"sha512-jle9C/hTX17yNCoFqS1dzQtkoDGc/r6DtQAwAWw7N3LajF5BirgrretA38ZTJiU6v5zibplwrnZzAaBSosMBjw==","_resolved":"/tmp/061c605dc460892cc6b31708e8eb47fc/usedapp-core-1.2.0-dev.af6b701.tgz","_from":"file:usedapp-core-1.2.0-dev.af6b701.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-jle9C/hTX17yNCoFqS1dzQtkoDGc/r6DtQAwAWw7N3LajF5BirgrretA38ZTJiU6v5zibplwrnZzAaBSosMBjw==","shasum":"94469dea82da2945beab4b05b024345f65736b75","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.af6b701.tgz","fileCount":2343,"unpackedSize":3178114,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5ks/N7Hba//ApLiZ/EXoQ/ROVLmamZGXQ7chJA3Q41AIhAMw/qVEkjNTY+5F2q/qz7c/XGpq21J2B5vg7hSzlxbcM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjH0bhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpgkg//XZfY2giUKtK8t+C9fu4qcMDiaxttb1RE9oMAUFmPu4ZUVxx5\r\nsR+XF2sha5dDsCU9YWXR7Nh64l7X9guhy8TvuR13Jq0APXL7w1O6ACdjUDZx\r\nrXVJLOrOUCU9z93nMj9h4zVz2SlW3wYBrs56fVUyIG/WqZdQyRqjf95DOYOx\r\nE/9oUtUAdAxHcjhUK4oFYtg8F27Hgu7k4+7fbB4ap7vstXWHOub6BEbpVmw6\r\nAOGQrmNyLTAVzTElleGeOmOQ3L88eybv12wcdRYjxK0bKarJKhWXTciZ7DwX\r\nALlcyqMXEzyhchxX48G6h62+FgKEQJv+1peQJDreaT8SenhYWU9aB3+5wAbb\r\nzhlc4+6IWYeRgYSNDD6Dz4TR3sdJUBTqycWLr/EVREcAF96ZsxayWENou+pD\r\nTpC25mWCWZZVtuR2GXn18O9hyID7p1BRF1FrIBQ5ZDNouRaeq9BZ3Ji5nroS\r\nP/Ta9Lfa+Km8GaXbPUZ0a8FiZDQIEcX8acbBxhU5TzJJui4S48IIi+qq/pL7\r\nsedE0o0jKc90gdAq2DuNMHs6bHkFWFRcOWdhFdPo/TiRbitxMnnwqx9VDPwQ\r\nNFZBSPnyEKxq/jsl++1m7FtylJzZKyq/N6ymzbSDNWGZWsucJgvDjy2lYgFa\r\nV2IjJjICl29ek5PQBIu8AuH0iQLavO7lMRo=\r\n=YGss\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.af6b701_1662994145404_0.5359499955404077"},"_hasShrinkwrap":false},"1.2.0-dev.d60d591":{"name":"@usedapp/core","version":"1.2.0-dev.d60d591","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.d60d591","_integrity":"sha512-zUm6YhSQ3bQL/SDyOxeucYGWkaE5WdmWFixZqteryStVNLwnb3yk/WMJ9R3L3pQy9r4c5281QKcUpMrlpzRp8A==","_resolved":"/tmp/7e85aae76281a7ba578ff31ec866a001/usedapp-core-1.2.0-dev.d60d591.tgz","_from":"file:usedapp-core-1.2.0-dev.d60d591.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-zUm6YhSQ3bQL/SDyOxeucYGWkaE5WdmWFixZqteryStVNLwnb3yk/WMJ9R3L3pQy9r4c5281QKcUpMrlpzRp8A==","shasum":"4f90aee665ca0366158a698d4ac87e10d05f01b0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.d60d591.tgz","fileCount":2343,"unpackedSize":3178122,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAIODFUV+Xn0VXPIAo/XSzF9ol56HVbAAy6Uy32lqBeiAiAJYVHJKrYPklxqkDJ3H5QYjQFUqhQ40m8j7gvydPyn1A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIJ8aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo//RAAo96AZp5hljunupe9UfWaR3O/9zkoMK5EpOsjrEyS5KCTi3aJ\r\nUExNeWOTozgdct+8wX3zrejqzZarLV6yxH/68qEoBA0yOpQH3G16Ly9Rijf8\r\nmipgWdBEx1Qpk+3uJryO954RHSlNPwOa5o34gA70QEtUnosd5SP/xIv+YH8D\r\na5RIoyum6TMl3uhJFLlZjGVEDOPUDg86//I/bDGFi20TBItnCxqBNnb8TUBj\r\nQBanObZmvINQE2DP9KP5ee0R4HTYxH3+5+VtRMSwaoL5XlWYNVHOpA4ThUbh\r\nqbdrccEkqkit3omU641g7F6jtIJLojs4K9ADbxJuyU9Fj1899kgXR4498R0D\r\nOvwgyEHyvDgP4RcAGxHssNB/nudwX3mz0dRt0zz/w9pipuCsaDnmOw0fh2Io\r\nYqIsRHzvSRu/xSo9NhBLsAcG0Hk1as8YYzjBb0u82JjzliH7FGqDXmkLh1Dq\r\n9vTIJj7OjemkMsMpcOKT1QgfDK8aszttPgCv3yyaQ7sf5GDcZyMUw+hQJyGk\r\nh9cCFfAwXwrxpIcNjpk8RE54t0ZvG7aAaBO5hNa9VMQp8B8JYc2mFUJ08MYV\r\nQBl+6J3db/JbEO1AqIiiv+M+Q4d02/59Frk1jyloRy/tnAfrlQnZQGlzNR1t\r\nksFhAZAGaYT2MiKtCWxoRcBIgUxcDDt3+9M=\r\n=kMr9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.d60d591_1663082266244_0.7557491664609823"},"_hasShrinkwrap":false},"1.2.0-dev.8b440f2":{"name":"@usedapp/core","version":"1.2.0-dev.8b440f2","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.8b440f2","_integrity":"sha512-hsRHptDbjgT52KVH01P4C6tKoUVeB46QfS8GF4JeAnst5Z1JUHyO/rLRmZo2Vbq5GpQIxjNJIqTo+d2/QeDm+g==","_resolved":"/tmp/97527009a8b681eafaa19a1f3a7f7f07/usedapp-core-1.2.0-dev.8b440f2.tgz","_from":"file:usedapp-core-1.2.0-dev.8b440f2.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-hsRHptDbjgT52KVH01P4C6tKoUVeB46QfS8GF4JeAnst5Z1JUHyO/rLRmZo2Vbq5GpQIxjNJIqTo+d2/QeDm+g==","shasum":"29e7b30ec1e9a96cf1cdd823b745b263392a9d89","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.8b440f2.tgz","fileCount":2343,"unpackedSize":3179133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdN6SdINoyeAsYzoNU0uk7dc/+qrE60Dgl9fh1HhjSigIgae8t/yvyhFqW36UGFCK/3CA/y92qdH9I3Q3kuSCcuTY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIKZqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmol2Q/9HOuhBlg24KLuOA7YU79jcolpAtpZFYHBm1RyVoaugSTtoiOy\r\n3AEJgIlgynX6/qIZiNuPkV0tzr+m8hqRZfklHQaUDfkrwvLh+isF4xkApWJH\r\naAtKx3+NAH9jQIcNheHf5YUqiqLGYFWBckJYAcPsZJK7IQ5m/2WG22Fo2iea\r\nFcr0qpHTBv834+uKX6b0KEaGNsJiEshu0GeKUiVOcr7WUKjY1LAkUxg3c1r5\r\nQ0bCxFxvCR0lnWFoEMkiyXGpQtb6YIXXbzQVHp0VdimsCPj3OmcByzuGOE8Q\r\nTyvILTctB0sgnp8joPUGYF43VLkwXSv/t7IpxWLscA/qj7+cp0oVZZU3WRlK\r\nwC+pMRhz0sp1yh4NmQfTuUuMW55QEGHfY/X6ZwbVEt86Z0dE1JchcO7nj4nn\r\nyI2vi4O4V/NJsKoZZ5/oshXVH/xVvzY0gF/HKKpDDVMSyZ9DA3d+N2yXXAad\r\nqwthFnDBtkKw3uHR4Pnj0LNGNyKj5GGhyDefwmop8NWVMjb9CQnr77kFy0FD\r\ncL5JcFSitFEyhUJQ9bq2PvpeegyPsMDil5ieKlkDiximpT2+WLzIqPHkmh41\r\nRzPoCVNuQqH/4Q3COk9Ta0L+8Aa0+QNxuXzqaw0Wrwo7CWoplU25Ea0+vP/h\r\njDN4zEiiOaPi7Zy9Ulta5/2ZLL+bKs+15C8=\r\n=nOES\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.8b440f2_1663084138714_0.4597976098318959"},"_hasShrinkwrap":false},"1.2.0-dev.154ae3e":{"name":"@usedapp/core","version":"1.2.0-dev.154ae3e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.154ae3e","_integrity":"sha512-mcxgxZv+JtFPf1F+uSTYyNC2fIkXRb/pBAGHPLFiG4BKcPFOtcGB71m/hC4vF7zXI1fFgQAGUVuzqe0qXOq0Ng==","_resolved":"/tmp/623f40bf847d2a745aea8678e7f51c25/usedapp-core-1.2.0-dev.154ae3e.tgz","_from":"file:usedapp-core-1.2.0-dev.154ae3e.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-mcxgxZv+JtFPf1F+uSTYyNC2fIkXRb/pBAGHPLFiG4BKcPFOtcGB71m/hC4vF7zXI1fFgQAGUVuzqe0qXOq0Ng==","shasum":"67c6e98b56d09eca9e9f1c5519db4da086baffaa","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.154ae3e.tgz","fileCount":2343,"unpackedSize":3179133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHoGgZgdtuOGIvDvN9EIOIk+YEDSZRC7gsZMXsjp6cjGAiEA6cV3ntwC0mDL78vDwi5MBoyLgCBXuyOIY1rSmQ57lrQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIZgVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjERAAjOidiiT+sPUj1Ty18f1mTYb9KYKSxT4pehsXa8jnkozjmthY\r\nQFQL1xNbbtwQjaH0ToBqLoekhYaTAK5LXD8GN9S0xdNYCuT9HE0w0eAC5J9X\r\nf1UXGKBH18S4Ry/zdMaVoerOnibpWRWyfReQ4mAZ3CmOeKmf07oVlRr98wtU\r\nu3QR8++5V5huUCYMtOKorKm+w1lBi6X6Zo6ppYVMq4xsQnV2pmog3DIsRajq\r\nuJzAGM8Kum0dBZgOg/9biPSGNpBQOZQa9nUY6PTqRkWEpBT8Lhfce/S/+qeK\r\nxlw87/YXHlp7Wy46qUKWMaTANbQB1CEwvRYdH3xZ9Wf2aYNis0UI7Tr7pcaZ\r\noAgo9JVr+Yh5AfVhb65UMZgjQxpmd3NE4k48DHxmGMPDV3upHQP6v3UaB6rQ\r\nNi4ooCTXHy1gfnqBbT823EKsOT8f8kf9In1R1GLIruBTslDIwpCMl3eNb+3S\r\nefevs824RzAo7TJq1+MZ2IG7DuIZKa3f4uEVZteXMktwvFAMv7ITn1FASaqX\r\nqy4g3v+x2tg8wGkWpu6S/eUGL4UvTP0pW87zYWWdrEQED2tizTDSXEKlAH/H\r\nhbjH5GJgRJIr2Aq24HSMRgNTVgvUtT2OZXxt1XreY7PKgTdw1cUNiLa4I8cD\r\nFQaXCeQtyr8+k66i9sYJZuP/b8DHUQwzPDs=\r\n=EPKf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.154ae3e_1663146004949_0.8272839880940586"},"_hasShrinkwrap":false},"1.2.0-dev.589f795":{"name":"@usedapp/core","version":"1.2.0-dev.589f795","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.589f795","_integrity":"sha512-pDaPyeFaUAiwvPlw0Ns/y8Gupns5wqprETs47QE4at6QFcJUCvLfKBXt4IhEjCizKypxNXzz0QqADweKLXtOAQ==","_resolved":"/tmp/2b6d1fb562e543520446d99a4cf24a76/usedapp-core-1.2.0-dev.589f795.tgz","_from":"file:usedapp-core-1.2.0-dev.589f795.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-pDaPyeFaUAiwvPlw0Ns/y8Gupns5wqprETs47QE4at6QFcJUCvLfKBXt4IhEjCizKypxNXzz0QqADweKLXtOAQ==","shasum":"cf31dc7650902e2bdc74fb13fe9e6b45d61af504","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.589f795.tgz","fileCount":2343,"unpackedSize":3179133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHp4ySC+eviBgDad8/dY2eLzHziHUIaA1C6bZR1CdS+1AiEA0pAn5wz+IWSeoFDZGpTwpINv9LMABOZOjDx7EY2z+dI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIZyOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEbQ/+L/6P+0GZY2MoX05DbXwOsZR89JDnSCVHYkwGLWn2W1BkzFOH\r\nfAHAP/dK3md6+xMa6jWBlVBCHRWEDIsIoOQZ55Y0K6MAAqOSRYm8Hnw7LB0H\r\nnViXj5byL2epI4NeH+G9KnAC+h0vPcRNb8jerFMFDGV7LKMePWZPlIytPUNK\r\nZTWUDNETS32HPl4zeYulpiwL+xM58Nz9Pww/Hhm7sT2Ae65wsaS55Niz6wfA\r\n6/6AkM/D4s72vkerZ2dqK8NPqrr2Or2jJ0wZSLGM3WDi+nC3RX7ji9z4lw1o\r\n3aOarNMH1QI1C6QOmRAFPiIDq4bwQVdlT9Nf57bu0gGOFNj45OoP8k03nMiG\r\nEs2hV7dxCfIFqn7jbwn+A0FogJivZIAs7WtdhVbVvHiS6EGM8/j7hdrmW5cP\r\ndAuawgeqxOlYW5h7IdhBl27h965ThU+2TNjMb+O6YoSxcetwafnSsCNuzyBs\r\ngcBqYSzRLZ0hOrdCDDjfphC192WBvP5laBOhZdJfhxBQm9+R8H/171ZU8ctn\r\nAOezCSQqHAjtDGPccMbddjwtcqv0AM5SedHnpUvppU8tjIT2GQ4yav78dA1l\r\nJUUEMj8/ApmC9fatcfZTDOyu521EmW9cUAJipSbceOuxMIFaqWA8BDnNISNt\r\nWcPzHl9m2oxwAp5Zi8D511mrnzyM/aYHfhk=\r\n=U73o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.589f795_1663147150583_0.4459522289677491"},"_hasShrinkwrap":false},"1.2.0-dev.56ec6d2":{"name":"@usedapp/core","version":"1.2.0-dev.56ec6d2","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.56ec6d2","_integrity":"sha512-druJRlCMatCk3UBxv7FgWMXAv3N364N5z5q/aNwktXMCOYZg0apl0nFCOhQUz7Jim5rQnK+A45VnuZHJSDVz2A==","_resolved":"/tmp/4ffac0ae3224049158e852f8f6272b45/usedapp-core-1.2.0-dev.56ec6d2.tgz","_from":"file:usedapp-core-1.2.0-dev.56ec6d2.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-druJRlCMatCk3UBxv7FgWMXAv3N364N5z5q/aNwktXMCOYZg0apl0nFCOhQUz7Jim5rQnK+A45VnuZHJSDVz2A==","shasum":"d673214f64c7aefd8f8760793dc4a6b21bb7a613","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.56ec6d2.tgz","fileCount":2343,"unpackedSize":3179133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5EELhRS4Wqa7PiuhovxbS27Q0yNOwprlWsUfS21p6TwIgHpuxCj0qhCT/vvNUsJj8L+F2aDorslmnGLl6H05D2o4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIcAoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdNg//TtjXsFUs42RQxyq5Ywr43tZxsBSbLEAdBzyKsZh3wwgbcSNw\r\nl7RndPVN9fOlf0mQx81jhXJjyuZ6ZL3gr6Mfc8Ckheb/fos8IL6pBYeDL5m9\r\nmYEV0+N1m4sO7p1YHTgSaAWsK0hS1bnpIKgVAb/Prbtmy9K+hwA/PjkjYIn6\r\n4HOVzuaVIFOAVJrvMn42GR+K5bGsHGUP+jbAAHDWSfUWj87DamfJaERISJZV\r\nZXAyBqbGKJM9u8iJ+qeOwba1NjAjNgINhke2AgHgHvV4v5drNHMY4j83KmTK\r\nqAOgtHbsOYQLzglBKIcAK88/UGwc8I7IYGqiTPVgDOdZH8Ek3o6dhNkU0txB\r\nKjTwUKMyIselOhh/F1yNZFMX5YsSULhY23baiN7EPQ55f/IFZjF8XrMOl7JY\r\n59v1ChGl0QfmFnGtaUOTav9PteXJazCteW1Lr1i1pIxT9ZqUp7rqMlaF+7rv\r\nKMQGQYAhVeI5iIovxeiHN3U8u0Z6AcX2Tyg1k0l/rBwRgCkY08tF3wZJH8T5\r\nwcLiaQ2l0PmJFuGDWjJvNR5jDaqIQZrEshO6aS9u7z0iyh9fLUYa3UPjNy55\r\n3KwLYy8QNkrvFEPwzwaIGy9GEZatVyQoo345lue3buughuESQdTcZzbflerd\r\nKGAgSWIw24dp7QtdrV1EvzuG7HXrhhNq080=\r\n=iTX2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.56ec6d2_1663156263835_0.5451343035339629"},"_hasShrinkwrap":false},"1.2.0-dev.a7c3317":{"name":"@usedapp/core","version":"1.2.0-dev.a7c3317","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.a7c3317","_integrity":"sha512-NuilxPSBZOzF7CC0GtVDJhVDFsgEIP8/NpOHkW+bFGCp0s0VDBtIFkGyfpUO2R+k8kG9X1K5C5LK0zhOWwT8XA==","_resolved":"/tmp/1e755f7cb5544abee92ac4a4626c513c/usedapp-core-1.2.0-dev.a7c3317.tgz","_from":"file:usedapp-core-1.2.0-dev.a7c3317.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-NuilxPSBZOzF7CC0GtVDJhVDFsgEIP8/NpOHkW+bFGCp0s0VDBtIFkGyfpUO2R+k8kG9X1K5C5LK0zhOWwT8XA==","shasum":"583190ae910bd03426c3792c25238b799b441972","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.a7c3317.tgz","fileCount":2343,"unpackedSize":3179558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCi38s224M9CAFjoZeSRT7jiIvOjt0LeisRtgzqxZP7HAIhAP29hWI/axHSPJlR14dx8Gem4jPEkP9u26o56n1mkhaw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIdKPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNExAAjUrj8a97a+Vqq6PfIhVcSVB54kHZUHS+jBdt/6MjGKk2hrct\r\nVTdKP1iuo7oKUeiOEh6ct1qDk5Ax1pLMmD0anwBNXChBi01Yb3B1xgwcs0M8\r\nq59OczRjp63eS+PK1l9rXhpxZc8aDIrXKhyKhkmisbXPxH0LUXsz+zCmqfBy\r\nQ7k9Qhrshsidd8vx3hjgyg67FSefvT8STFs1Klbf71eaRhTa3AJCkLQuAAUU\r\n3GGIbhj6UtrbFkbsSLWwHsLQPVcfBxH1dIwoUNby2ejucJcqeKQgn1eM4CzV\r\n/NLB8MY6LhMnNUL3pg06XOxzmsKA6hKaq8Vu0U1hpU5uM20tiwbVze+6yMa5\r\nipOOHVMMLDZJmXWrLhXj3sFPRfZ2B1ebTXXH0UGRzZg9i00jM7QTTEE21rlV\r\nMXQz4szk7bo/0Kzib+r6uuXTZp+Dabegrh2AFdwyFelpPHZMrcUFiarb1Imf\r\nHox18obqLI+m1BSWWImr2eIxNOMt/avTXPim1lrDkMqMjN1IjM8F6bGZjsIf\r\n0M0Zfk3qiHUrMfUxIKZDzlu4XdMMdtLQ09gRInY7bycpf5R8CkxGgtqEGpUU\r\n3/UydNJWDGFHW0/6mSmv8P+3PuEAjr7W+BQB06nDMVvT7V91BTn7+DdBMC8z\r\nWIgFZ5CYlG4+wuBPhSIKjNqSYB46Mk7iIog=\r\n=Ao+p\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.a7c3317_1663160974944_0.9404481612832241"},"_hasShrinkwrap":false},"1.2.0-dev.6a138b3":{"name":"@usedapp/core","version":"1.2.0-dev.6a138b3","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.6a138b3","_integrity":"sha512-MruLvqDA49+5zkTxdP15EoubkvzdB5dIxYihzZeld1aYkxD9YvoQfHMbPhTa2tFHE16Cn+8z8mQW/b9py4Nfdg==","_resolved":"/tmp/b162c59e46198706fb95e65c30901bd3/usedapp-core-1.2.0-dev.6a138b3.tgz","_from":"file:usedapp-core-1.2.0-dev.6a138b3.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-MruLvqDA49+5zkTxdP15EoubkvzdB5dIxYihzZeld1aYkxD9YvoQfHMbPhTa2tFHE16Cn+8z8mQW/b9py4Nfdg==","shasum":"59c6b3ed80cf06c543eb853d32c88f18ebf915e8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.6a138b3.tgz","fileCount":2343,"unpackedSize":3179558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBfD3G1pLHXQSi9ZZRUQJ4tO9+pwUAvRPUTW/De3TyuOAiEA5dDFw2XPYZg2Cv0So/WrkBGdAvpGyU+pm9OKVnBe7YM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIftEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrWA/+PfsLChaWZc5OcHRvTmOY0N1mFazhLZU3Rew/elJjdxnXrLAY\r\nLYZvrHnnSuiIQDVwx981mlTTudYbooTII/1yw9iyCExlVJB71yUqvVCIn+3J\r\nUEKl8wPpsXH5EiRZBh6J5S2NQOLC8/6iukdwltf0CoVmXXvpmG/UkbwO9HJV\r\ndDhoeFK+DqleyeYbzMFgd9HYNWWIZlY0TXHa+yy1TrclFuwyB+laXxHv9s3q\r\najxba5AJ6yTEnsZHvqQNPcNhP7iu/34IHzViRKZeJUA7yJW77x9v4fOK17RX\r\nu2K2cG4aeNgM/T2Gdk3Q/0lHksvIuWayB7flvRSBsYFcCbvEVSegDew+1Dd5\r\nvpvbLw3zxTL9G9WtkvVxnXMRigrVWpEwQUuNn+VFo8mwAazY2ArdONJXQgKT\r\nlQI5g3IULdWh5zCeo4TbYICXwNcIPvNdujlpMbtgEQJYLwG+m08j4bY4T9mF\r\niB1hM1CmsFMgNjvQaqbENq2hrChwdSjzoVXUFvWZobXU6HZ186SiOoIF0IUc\r\ncxNppqDevso/S+sRYVVy7ikINDkFMf6ipYzmhau9J36tVX/UR/qP3KI6FRke\r\nRtYf3TZuGGv6/DgZQ9PFpkIXtrqq1r3aumgn5U860EI9scdclJJkOnHFSiZ0\r\njxyBKLXMXSUM2/wc5CTiMLKOyMAztxGAgZc=\r\n=3kzY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.6a138b3_1663171396668_0.7573150510572575"},"_hasShrinkwrap":false},"1.2.0-dev.576eb52":{"name":"@usedapp/core","version":"1.2.0-dev.576eb52","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.576eb52","_integrity":"sha512-UIbNesbha8xcsgx2GDonEGlaFG9eWYsXrg1uoRbMiL4PNoQ1yZvNzhOQ6TGcMv8V1IRIGsPD6SwCfybkmmk0YA==","_resolved":"/tmp/30f3c30323d430ca8ab47958cb9642bb/usedapp-core-1.2.0-dev.576eb52.tgz","_from":"file:usedapp-core-1.2.0-dev.576eb52.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-UIbNesbha8xcsgx2GDonEGlaFG9eWYsXrg1uoRbMiL4PNoQ1yZvNzhOQ6TGcMv8V1IRIGsPD6SwCfybkmmk0YA==","shasum":"d656fb181d0be05e3704351198feb5a22e4eaf1f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.576eb52.tgz","fileCount":2343,"unpackedSize":3179558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHSKHgxBNPprmNIp4Q/at6urlYPjktPdNU+br2oDYs9pAiEA2+PZ9sEM3SsGEnf1kroehzV2qvQk4rW0qtVgU8ZoTpA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIujhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQ/A/9G4B50T0cWfj7wxsuO0zWFhKIdfei4MGOPksuIQzrR7fpMf/8\r\nNlZBlZuexyB5pWrn6EwNR0rU4tqLQMKD462EX606ebNtANycRdmvSk/MIScG\r\nWHGPDVn1TXJ+tQl2NuOv+H0WQmn/KwEpXImY39/X5T5Ht8wNjdc3l9bdjWxk\r\nentk++BB/wbZhaC1J+EAUkCGwOhteRXpXR3LAxSp2glRqtolNirt/kAHqdEM\r\n55aoRF4JfxqHctsO4YxsoUDKPc4HDGwAcMwizp08rWmdbpZIeDC7wS3Fq6V/\r\nWvR6s3wIiU8eZlCEeXIY63o8WKxrXiqu1DDa6skzua/i4OxBl3/Yw9G8UNc4\r\n8FxCGhk8Fl8aN4AOCo8eRhRmEvlt9pMHWEhJliz7PACKAhXSER0MIIchU+RT\r\nJ55fw2NNPjf93g6R8FI7wB6EZ79ybqNSgI0MAk2vXQP5T8KevZ/Yn66TX3St\r\nzSY3zfLTlR8Lf6gwlW6D8mk1BJ4qa+7eWrUL4mf/ByLLlRKqzKB+v+k2RYy+\r\nOONDjUEs62T+lNKA6kzB4T3j216L9/zh5vMOZ7Vx13l1Z3RbeKcTmkSkUl8W\r\n5UWldo171PCGXMJqv/gYWVBnAxK/0kzS7+OSMoymm7mu9jltsFdu1gNDoM0D\r\nLayJwi5T+y5qHravZfiSHvj7v5EPBeVOIaI=\r\n=Sb6J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.576eb52_1663232225532_0.8954361332578769"},"_hasShrinkwrap":false},"1.2.0-dev.38cc8d0":{"name":"@usedapp/core","version":"1.2.0-dev.38cc8d0","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.38cc8d0","_integrity":"sha512-N/RtbDD7+1jtg221U3AIq/4fqMEXX6b99mBn3JRwcWcUJssBBpvVS7dvHw06Hn9Jb8aYeorsPlTaQZ1159ug1Q==","_resolved":"/tmp/45af6460a1761bfe99fb4ab3d845c409/usedapp-core-1.2.0-dev.38cc8d0.tgz","_from":"file:usedapp-core-1.2.0-dev.38cc8d0.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-N/RtbDD7+1jtg221U3AIq/4fqMEXX6b99mBn3JRwcWcUJssBBpvVS7dvHw06Hn9Jb8aYeorsPlTaQZ1159ug1Q==","shasum":"12f599a9665c550371e77b9a45c335ac7900bbf5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.38cc8d0.tgz","fileCount":2343,"unpackedSize":3183788,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEL0ob9OCA5H1VGhnBRsYXG8cZQnsEUcVycK0UUmsjeUAiBhWI+4DZnsSxc+FtmbUmtHlXs0cG88EIXmMDZ/oXXUag=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIz7cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYGg//dnbJfaSYXkqLy6uEeHag5Ezoww3SoUKc5uvl9tMA/KhY7LGc\r\nniCHHvqH/t956IlPVM5gMq3rfJF702P6bysfJfqyTyaVB+xRENnJCowu9/3P\r\neQ/o4R+aQcI+wgqatzixTffiPWMl7fBKTUna9gpSOt6cLdGaJsDTmB+ENHJ4\r\nQqnZRTZwlcfgdwm48NeAqX2teGr3zZK72oZr0V2ZQTFojZ69Da+MVs+19kl3\r\niVX8GPiYyBblTWIgqyyd1k8h9nUELAvGFnTvKx1oKnyz2KVN4ni1/CcBuJX0\r\nLk4Zq3TV6JJVHnpfpZF3b18+We5Xi0KnP3HvdNLz4+bgdLu5+teM14HVJWI7\r\n9f0tiK2Y6oXN27qFESkttb+F2EVErnM0BmiDmuQj0V46H1iOTf4rxdfrRNFc\r\npPDxNZgOSXElZz6dcUGWI/9Hz4IA/lBJEjZYIlvves7cyxi+eLtCzZ8sA7oT\r\nS+AB0rn1IXdVEW+vZaewEi/TCgKvi9zS5wzdKpQ66nUomqf2UfXNKlQ3yMwR\r\ng1Mln8Gqkc94jvAtC/ZKCDO5hkDQBohG/lMb2HDiScC5EoSZkrne5K1GgO3m\r\npZYEnou0kk+ipp5bT4/Wt/fU5DBpjIfqw3eGxrsM8otLI59cG4n5LvUC/LNq\r\nHvyeRYq2BfjOQz8CmwaY9EZKwbTi8y2DZig=\r\n=gNdn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.38cc8d0_1663254235978_0.9927593781276465"},"_hasShrinkwrap":false},"1.2.0-dev.8acd64c":{"name":"@usedapp/core","version":"1.2.0-dev.8acd64c","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.8acd64c","_integrity":"sha512-b7n/NupQHCavkndafQhQjGInQkNVJaLowYrATUFoci6yq9W6BkI5UN6/1mWejD+XVgMtX4m3zXIoVY547ozuNA==","_resolved":"/tmp/bd8be67be6c0acfd982a2ff404fbdc49/usedapp-core-1.2.0-dev.8acd64c.tgz","_from":"file:usedapp-core-1.2.0-dev.8acd64c.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-b7n/NupQHCavkndafQhQjGInQkNVJaLowYrATUFoci6yq9W6BkI5UN6/1mWejD+XVgMtX4m3zXIoVY547ozuNA==","shasum":"61c6ad441f26cfc6c2764fab26e4222acc356458","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.8acd64c.tgz","fileCount":2343,"unpackedSize":3183373,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtH3C8ZYj27Cbvf5UitARaW2hssABdQosZyoWFMA2ToAiBTe+NyTx99WSxlfLK3nwY5mROQtMiuAFi0xtXLOcdz8w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKCqDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1gA/8CK8FRDUaa2EYzHw9acCESmCWVKpgX9LvKsEPBACm8SRQBaZn\r\ngbU+iweD5bwKX0GKCwSRzNndEF467lbcKJuVKHxaSf0pYkQub9CRLFF8ij80\r\nY7iC3+CHrBQd5qy9O6/R7YSnDyM88qtwA5Bf+BxBR5qONp4dVKJNJssh37T6\r\n5ALI6ojeQnpe8etpdQx8PgxvXRfHn1F/vlqJlTMhNeZvi8CmtIOLCYZnj8EH\r\nniJHinNBjF6dlA/2CZoX3Ga+EeLWEswGPCE2OzkT5kNOukhs8omn/lsOwM+o\r\nF6mYnlE26H+QQ1Ccu3y1bNNANembbGmOuVOE6v13EYZfZtrJVEtOo7nOTLdK\r\nNxLOWI9r4S5TlbVDUuAHNXz2NCnmnlwb3N0cviXi2mrUsOKYcE6oQOw1SzB9\r\nZS2whvkeH/KaVgJaPKAlMtZ/D/N04uVLoAH+H11gbola+jwa6NsJxu5tHMyl\r\nCqe2x5rf646h8sPgBdoYwsfg/M9cwrepQPGyBMbr2E+y3d3yqKpaBXulpER/\r\nKIESZJAX8eTf0j3Ng+9l40+ppvc7lK3+fwJg2al6FLsGYQXTnHSGtcpv/UCb\r\nSvx/ifd/8MAhYG01OKES9l7yejwfTIl+Jd0dj4KOXhweGLollAXFLg5ppyPG\r\n8W24q0QHD6ahcdHhSiCX+Op14xH0qbwU8eA=\r\n=L0Zg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.8acd64c_1663576707649_0.7229099088382209"},"_hasShrinkwrap":false},"1.2.0-dev.d90b320":{"name":"@usedapp/core","version":"1.2.0-dev.d90b320","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.d90b320","_integrity":"sha512-XpeF8fa3J7i+1S60NiJCN7039VPVALCUWWfvFV/LUAI8SHL3udkHFbnf4f7MyGgqxO3RWE/+urENzzMDWwB6Cg==","_resolved":"/tmp/93daf3f4f959b3d66c4fe12c5d51d689/usedapp-core-1.2.0-dev.d90b320.tgz","_from":"file:usedapp-core-1.2.0-dev.d90b320.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-XpeF8fa3J7i+1S60NiJCN7039VPVALCUWWfvFV/LUAI8SHL3udkHFbnf4f7MyGgqxO3RWE/+urENzzMDWwB6Cg==","shasum":"2479196048cc505b167b0e5399844f214e74d45c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.d90b320.tgz","fileCount":2343,"unpackedSize":3183632,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMQqLZlnW4zDw6PESimj8UGjBwdxith7RY4U1admNyYwIgUOSCQdmRa1iKqp05kFKaFpxykF+FR+l9MVzZd3X57bc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLG0UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDUQ//V/C/g4qbHJDFTgFfVk84Yu4s3h/jzig+wYDkaNAqVEKt82j+\r\n1pQYhi1BRVWoOV0xcaKl5uMqevWrnx5yhTgeDdO5seq6GBoDyaU2QQ3iLvLV\r\nc3YDMuFiXLvGTz8BsVCM0CoRpEoG8WAgzKIjh2/gLyg+B9bWgTT7Pmekj1ye\r\nw/MKytcdC68zJmWf8CDIOtI+DI4PXXFxH7Sgs0rLNjQf6ZU7+3H97Yjd11JP\r\nPviTkyOuHSCXh/ML58GakHJp9mnvx4RZTiSaMDhgz3T7RjjY+VRdBKCN3GRd\r\nTYeltBc9qzriJfFzgoxmE6mYm5jjPs7pFuEEiGwI1ej0GJ8junwFBfvrGVOE\r\nN54rzAbWD2jMUz6kEGMYRII70iM2SDZOw22ntrST/PNkmJVP6yGcYZCsZ59p\r\nGsXtbWYsohJEEvXCze5eU1/fQyDFBS1KgqnrRo4dLs1kPxxxyxvVDf3ROkIa\r\nTp5ele01+MH97dUnGkcl4bVrxxnSF6094WUcdg9Ue71Wl/vEJkDK21xJu4ug\r\nVoVKJvY3cgeirkq57qQTL7+rDufwHTqKXIWtTDzkfuROUZVN19DgiKOqvpYR\r\nZcNgfG76ca9e5TksW4b67l3GD0gXgRl4j3Tfu/tRsqh6s6W4X6AMNiPT4/Jr\r\nEpuSfRa108t5RIDnRNA5ux+S/l7tQCyCZ9s=\r\n=umLf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.d90b320_1663855892468_0.24109727084517663"},"_hasShrinkwrap":false},"1.2.0-dev.d5bf634":{"name":"@usedapp/core","version":"1.2.0-dev.d5bf634","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.d5bf634","_integrity":"sha512-qyRTdWGirybX/HzLs2StTybVFI92AEwBOg1U2ARRqLeypz0/4ZgRmbi8mahsHSOw16UWZ5Akudr4Wrhya3060A==","_resolved":"/tmp/637b3fc04f92b95d326ba8a70490de43/usedapp-core-1.2.0-dev.d5bf634.tgz","_from":"file:usedapp-core-1.2.0-dev.d5bf634.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-qyRTdWGirybX/HzLs2StTybVFI92AEwBOg1U2ARRqLeypz0/4ZgRmbi8mahsHSOw16UWZ5Akudr4Wrhya3060A==","shasum":"cc36899ac5a094fa220c3c93126ec7b88fd27422","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.d5bf634.tgz","fileCount":2352,"unpackedSize":3247803,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgRDlTbGReP58XemVnVrJHLXbUMTxdIVwB2B6/yVCzWAiEAivBnT4cZg8RyhfImQvxC8Q2qVwRfXXpitIKNhCO+XuE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMs/QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrK7Q/6A7ZIdgVaH3dcUbpmW3FnXLzvgJK68vCOXBcs0JHTKaJtiSMC\r\nbtwnPATfYaCuMY3+oJXSyg6xClulApd1shtR0Di5wYUC8gEBYwK8D4jDvKvI\r\naWFuT6uNhHmOh6ehD4vIUNq5hN+p+jGR8CSwOPzKR9mHOw2ODxjHMBeSqwF8\r\nQwxQPrk3phNAsTYBWzvBXJZmzlESwQhp3gOxfs3aQVMyKfbU6Z/OVfWf+/Bt\r\nZlzqsvU4r7lA0AmrTCGolVbJFDIkn9DMNYgwqEJWZfv1Q/AJ2z+JdRA7ZYJc\r\nMeac7TczaKWcdbay6Q2CzxdzLerD/tmw/Fx5zlFIeAFD4B4fgriil7HbGZsg\r\n0w2ry+WrU76Y5vjrCb8mI4mbkTE1AmmTdhMKipo7gvNGsRDulb9h43LEN2Rl\r\nga0Vak1kZPFQ5AtpwSlri1osnHnj4B5Eqmy6/WHHm0R9OVR6I9Q6pcfYOFPW\r\n/usK79ICoh20lLX8M37j8mT5crn0KeXm3ZiKT5bVzlcTXET3shlkg5sydTPo\r\nDsB95/U7s1T+osKCArUgUhPsLyol8Y/N7k9b3gJsJvw0FkfCUXsNPJKYGaF9\r\nzPCafije5yrp+wLkNnK5i+xcYEAydV6vkhRmgX8YqQps34cRnAEoVye/oCex\r\nK/kxDAJkCDY/SSA0cHJSwIQ6b/tdSP2wI64=\r\n=P57P\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.d5bf634_1664274384548_0.6446337680525827"},"_hasShrinkwrap":false},"1.2.0-dev.5e8d6b8":{"name":"@usedapp/core","version":"1.2.0-dev.5e8d6b8","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.5e8d6b8","_integrity":"sha512-xIizmsWWAq7rHzruWrKI+6/vvC6EqnNzigYwZ3jKF1RbMHHk+xu+gWgqP768sReEdclOGwP4EpmaG6hcqT2ZjQ==","_resolved":"/tmp/eca5d87b9372e78594098c93a3ab34ff/usedapp-core-1.2.0-dev.5e8d6b8.tgz","_from":"file:usedapp-core-1.2.0-dev.5e8d6b8.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-xIizmsWWAq7rHzruWrKI+6/vvC6EqnNzigYwZ3jKF1RbMHHk+xu+gWgqP768sReEdclOGwP4EpmaG6hcqT2ZjQ==","shasum":"3f00cec6c226ef16120a7b270220f7e68e1d0815","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.5e8d6b8.tgz","fileCount":2352,"unpackedSize":3263974,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6fTHLFy3EWlN2/OjAuTnjXaxuRB9zSw+y0rgClouzRwIgfs8h2KpPPt7cApvguPkzqyeJaT+Gzsd0ztMBJBbM6rc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNEZ5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2xQ/+JlHTQPAuXscEhP8a4B9DHvV71O5rP+j9nGseq1KC3fUyEKGk\r\nJpouWqq8fgmlAvNa5X2yx1rp0N5CraBtgVPggsAyBEX7sK1AdCm8Alkfr2xh\r\nCuhvjeJCGhiaT+SOBB8aMCvOZild4EJKfsyrldylRI+0SZHm2PuyNhMG5CjB\r\nKP9aye9TGf+/htlsUu6grgjJ+2UxNdOLdrfuBYhtCTzD1OZYulhAVJ4EdqbF\r\nI4ZheItO5P3ng3lfqAuoIDI/q8ZMIWYtFbhlF7t9DNXXtHjYFlQPHVEwKpfI\r\nWNnoGGLC34WaH4C0gJ8mgybhwJzSV1ocMe6NO5xeu2zoa0P1PMlrdqc9RSq/\r\ng0+wbo2f0veeUEFJYs3XP/yL+Vo/hmIN+zXRcXAbTgDyKdpCuAUGNVG1H6qz\r\nviFp+WLnAKOyDJqfkdtJycaWpVqAZjaqTwPE1ncasU0GNxqlab00hIuryvs5\r\n0tvBrhOKMjy0H8RAYLkk0EskFBw3UZ4BBw5QqLIx5qP+sJAG5Xp43kkJKuJr\r\n09eBUSqGCnH6TzJrxc7SaLsYZ6lfhZE1ZbDZxTd0+DKCvY8LhZjriUMrnlny\r\nIOyybMw5z+HHGEOzrjDQ1s8kBLvlX2WjtfVLDrFZP88Jpyo7hGr+q/FrnQzc\r\n7KgNahZ6/yfFimiouJwyJVCB1aKD4FNSBsg=\r\n=B564\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.5e8d6b8_1664370297034_0.9875007227645785"},"_hasShrinkwrap":false},"1.2.0-dev.3c0c473":{"name":"@usedapp/core","version":"1.2.0-dev.3c0c473","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.3c0c473","_integrity":"sha512-CdGmDqN91gLhtBP+cQ2dkhzRVgXgXW8dhQvxZ2+imaUJrNUmVpj/+W9u5Rh5PnHym+dpa8HgsD3886nPIm0LcA==","_resolved":"/tmp/b8c2bfa6d18de5721e98452f5b8584ba/usedapp-core-1.2.0-dev.3c0c473.tgz","_from":"file:usedapp-core-1.2.0-dev.3c0c473.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-CdGmDqN91gLhtBP+cQ2dkhzRVgXgXW8dhQvxZ2+imaUJrNUmVpj/+W9u5Rh5PnHym+dpa8HgsD3886nPIm0LcA==","shasum":"d672927239b0f411d8268953edf7390838a6ee44","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.3c0c473.tgz","fileCount":2352,"unpackedSize":3265448,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXxmWnGJwa2V9Yuki6AcswiL3sdtAmN7dtgLN8NaaYAQIgRRHPztOWsnBWZXNqlVU11/qDz8DdkeeS45ppqFBtThw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNWpQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrX1g//XQqE94femouWaNduyyMeQfCynYRBluUILkRXG1Cs8VlAdiok\r\n78jpSQcyDOG82rzCvwRgQMJnJZGAakbBHYDBQxH4JXHZhzv8QG5jPFHVFGoA\r\nXLte+L+55z1B5BAd3UcXPvUY6kludkn97XsbbzZde7y5d5kQ+kbaCLrAdgTi\r\nUlSkpdrcH/eQTtZkWe4XR/Co8Xol6a0i+egyeHApCawDxDeHI0caNgU9kSas\r\neho7RYCD7cjtJbMEeh/75Sw3PUUmOYosvo2tDelc0I2WB1y0yPdo6iJb7iUk\r\nZyQQasVsDmHzdbe6cP++of/mOsZBJJ1FC7T+bvHz0TY59oYyA+6IJXqa8/IS\r\nnTXxxwmPkzYX3naUF9/BuuBX2LsiYgWuRxKRSGT/mJ6jCFRD4UMMBAVgJh1a\r\nknjS2+bpdm0cAn2vZ7xD0WLEvkJlrVPSGoqFSYMq4gbUoJH6GJwuEXRqBj9s\r\nsLj6SIIl7vJ8AxbuBG1u838PbeJKTcBESwJt0bIzN/uWIHskagPi7NihA3WD\r\nTd8Tf7R9WBx0MZbogLoOjLOt4FRlDEuY18nDFfH7l+w7a7O8BMP5Wj4Eth90\r\ndcrtbFb5Rhlh8Cm0f3iuSyJabmflHbjkvinshvOAjhdX564LCKLOeBHbXp1G\r\nXUwwjAxljIS8Zu1kiR1I5+ozohLKJ+07wnA=\r\n=WW/8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.3c0c473_1664445007836_0.672837440910599"},"_hasShrinkwrap":false},"1.2.0-dev.e49e437":{"name":"@usedapp/core","version":"1.2.0-dev.e49e437","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.e49e437","_integrity":"sha512-PqzKH62fRRc8wZ9zZW29ClcvzBPVKL1uzdsqTfpyU3BDSegqycVkxzr7sakQJhBigZeJ0kBnO5BOIVTN3vtQeg==","_resolved":"/tmp/92d1c1fee56c62c75f5e720b7fb286aa/usedapp-core-1.2.0-dev.e49e437.tgz","_from":"file:usedapp-core-1.2.0-dev.e49e437.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-PqzKH62fRRc8wZ9zZW29ClcvzBPVKL1uzdsqTfpyU3BDSegqycVkxzr7sakQJhBigZeJ0kBnO5BOIVTN3vtQeg==","shasum":"a9cee2089884dc0df755914971aa0e3061e8b5a5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.e49e437.tgz","fileCount":2352,"unpackedSize":3290475,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGdyxz66tDClHz6xWlQUprTCKk1NdRyWPb1vRXjzeP6mAiEAkGc4k+F/np74I9Nlg7Jju1bCVazbn0d9mG3heXqSDgY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNYzoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8IQ//a7Wt74QkPvOEbKrNjFSx1p7kELmEQ+k9vj/kfIHFSZIjxgQ4\r\nTytN7Kckk/zfsiEs4T85fYeUOIb6xKiQsG2u+bLgeV5llLs9DOUkuk3y6Yfu\r\n7DnOQly+ATx12G0GZKMFRgKz4jn0rOHC7l1AITMXkIFyoIIFG8uPPkYtBQ82\r\nPXfqY/KZh8ym43amLoiFCgFpuUyhSVTG2F9A4ImTFwfpE1NRUSrZipxz1vVw\r\nsoDxs1H4j5Kk0YkmZu6Br1Ukh93mhEq3qCVOt24UNimheAGzwddIJ7duLpUS\r\noWEy3TWSVSz0ThevTF3/lmq1Y4FG6ooKBnxzEk2gaAy5JbqAe3ci+/Bt6g47\r\n6K7kEvcSTSN3Yc0uhuzxO9ZGHEn/rabmJHiCZfgsdvxVdTr5YtG+H3GPMXYb\r\nMvrmIHvuWIL8N0J8rBe0bnbENiPQKoQQmm1xN6sud2+Suke7hshknyNAE6m6\r\n+0N/bVQzjc2MJW7B/JoBu+oqManj+i8EjvEJtSDjHcbfq0EUkJQbrQ5sWr5R\r\nvnzQB/blh3qdTGKzVzlPu2JabXePcsxmeMctyqtz7fHkt1ftCqTou8rHJFoh\r\nxfzeCKxfmpd0aOc9Nzx0cT7uj9Cr0vACY/6S3IggHBIMLxEKTzCTNqzUGC64\r\nx+3TwfNattJbJzJXjShdaVryB4ZrIhzVqaM=\r\n=wrEO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.e49e437_1664453864183_0.5256487657356013"},"_hasShrinkwrap":false},"1.2.0-dev.e5dc142":{"name":"@usedapp/core","version":"1.2.0-dev.e5dc142","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.e5dc142","_integrity":"sha512-z7rkGojrxNw6cc9x+jRTu6l3EmZllSPVQZzQQAcbXUMioacaEYyu3y7thtgYuHPIOR4g/tlqmmLO0Wif8mVO2A==","_resolved":"/tmp/11a78c2f7c8866836952bdc3d0054263/usedapp-core-1.2.0-dev.e5dc142.tgz","_from":"file:usedapp-core-1.2.0-dev.e5dc142.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-z7rkGojrxNw6cc9x+jRTu6l3EmZllSPVQZzQQAcbXUMioacaEYyu3y7thtgYuHPIOR4g/tlqmmLO0Wif8mVO2A==","shasum":"84aaa1db84e6e86925c4c51bd898211506b04e83","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.e5dc142.tgz","fileCount":2352,"unpackedSize":3290475,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDA4x7BLhTFoATko2FvZEsLhfB73VBrv3GbTDbDqRmW5AIhAMss9SRWuVQDN6FmcChzI0d2LVrGMZZghGv3KXlHJlR5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNZhGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0rg//dxgnR8B8O74fDK3hQ06BpeypRNdcfkTb5BZOErCq0bRGBt1w\r\nsMuanF8yyZTOdp/I/AEk00ewp+zEHS2Ehau6ouZeIAQKj3kGIEoeGWLXVxOe\r\nDHLCjGqrHN2A2ka1Emd2j+wV6yqzTrJ8HqyVwWUpQIj1V2j7plFCr8p0cIei\r\njCmAeaRyW0OJvQbrNMAHt3SFNHLmFyDncsTXGVHRHuqQmM5UJrNmfW4TS18n\r\n8hle3yJ2GwQlzbGZOdzm6Sk8sgTBAkznMlBoLD9OOrwoaRWfNOcW3j/74VV9\r\naSqyCCswS3B3jQWgVoKq4vjVNrPv987n1RrssWL1uJ3NOXzG43BUgIg2nM1H\r\ngPCTFTAqCWQ0eKWdW2vdYxjjkqOKlJBdEXi7NdXaLjSaPQ2JiRR5aS/YDOSz\r\ndg5ArFntf6gn9Aj6kMS4W65X5s2OYlRKoB211ZgdpKh8hmFl/DmeJhBFQLY1\r\nqulFyg7AeYUAqvfOO75CmdUjnL5tRq7H2LMr5Udd4Lbj5U/YDUBUKzCfSC9n\r\nkfkdyQTME1eEirP7esnXCuoWGSR8pIKnP/wU/xf2DZW1eRx+rd62w11B3ExY\r\n0BzgXJRmETV3wBFkbVyOMk9DHBt1+LfzMAsJpghcW6oJt6yfYikFYH1uhFh8\r\ncMfQvsUFvDAVnvbRgbKRRafS4zl+hzNbsAU=\r\n=dEPS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.e5dc142_1664456774077_0.29890933296420585"},"_hasShrinkwrap":false},"1.2.0-dev.9b6fe7a":{"name":"@usedapp/core","version":"1.2.0-dev.9b6fe7a","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.9b6fe7a","_integrity":"sha512-04QQaJ9a/1X7TIIlRscRKAy9umZhhM3Alwme56jsx3PqB2HpLHiqRxd9UEPC7AwPpo9XfAX67p8MyZIJmEXpCg==","_resolved":"/tmp/7cde30f057169d965a869eee75b75bea/usedapp-core-1.2.0-dev.9b6fe7a.tgz","_from":"file:usedapp-core-1.2.0-dev.9b6fe7a.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-04QQaJ9a/1X7TIIlRscRKAy9umZhhM3Alwme56jsx3PqB2HpLHiqRxd9UEPC7AwPpo9XfAX67p8MyZIJmEXpCg==","shasum":"32dc1f033cdb68a1716bf1e132bf2becee256e10","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.9b6fe7a.tgz","fileCount":2352,"unpackedSize":3300764,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQC9k0haFF8DOStzKYE9sgrCD6sekiTuMnu7av3MbUdjRgIfKTJqXq/Cl8ABZyMaH+C8hi+IYSW72ALiGR8pGF4a7w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNvdfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTgxAAhHUqqwX0mb+8VerbjbZan1FSQid3Djxb50+pbVepYbs3r16h\r\n2oRtFcJ/3MjAcd5k8AqkYm+qup7MqDl8Fpyw0Tr169RmWt8Qa/z7SYm2YP64\r\nvxuGdU/SUOh08PSe4N7LtAY2e34GRBk47f8eFoE8OZ/tERgmYrTNfHwRF1jV\r\nlTURIu1XwH9Vd+yr71C9hnvoLBjgw5yUozlLqJJE27mzUvkZpNpVdcpYn2BO\r\nZfZCDxC5JEODlZIzy8pzULi6cl3hTex5QxdgJQHqCjre8OmAQgJlyJL1DYKy\r\nWF48UDZVCVjSIZn7G/6aiSiy8QAC0ALaQC1Sdj73rqLWuIjbnwiLb01siqY8\r\neQ+gOOA7URW54ykDD7PMnPe/YrAwAeqD8+a31nWtmaNkFbNvkHlyfZc/m/bn\r\nBY2POq5P3b1skDVuJ7hkJHYn8w0LooD8yyBOb031lJecHucevNRhIBD9LsCe\r\n0qu9CtjDbCXVggyLXLuKt1NF8C0SysGePIzY26gMmFxElGpe8/3zxeiB0uZ5\r\nomtV/bMib6IsN4vgmKElATdJRw1U6D+spHlKeVMDB4n17Fem+09zwp8t1x+y\r\n0tdGL/NVukp0lL9G4XLBvbynxxrkpblE/ijafzCpbHaBLHHpMICzrFkHUI62\r\n0GZQxYKSfTuuunr4jXF8kCUTM9z+axuBBdw=\r\n=t6T5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.9b6fe7a_1664546655123_0.9868105737974224"},"_hasShrinkwrap":false},"1.2.0-dev.456607f":{"name":"@usedapp/core","version":"1.2.0-dev.456607f","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.456607f","_integrity":"sha512-nRgqp5VxIPvcaOcUI+Qynx/tsdqgy/cPxZ9rRlrjbgY1FB/aReP88qaEh5u4Ujw3MisbMDPgf+JB5QvXt99xdw==","_resolved":"/tmp/6d2808c30d8f828a2c679304b4e99b1d/usedapp-core-1.2.0-dev.456607f.tgz","_from":"file:usedapp-core-1.2.0-dev.456607f.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-nRgqp5VxIPvcaOcUI+Qynx/tsdqgy/cPxZ9rRlrjbgY1FB/aReP88qaEh5u4Ujw3MisbMDPgf+JB5QvXt99xdw==","shasum":"6b8ed6a7d6c043f824f2aaec9fc352485aa38ef7","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.456607f.tgz","fileCount":2352,"unpackedSize":3300764,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDseUiVzBxZShr7tTBh7sWgCoTjnwBHEU25e3APejtEYAiAWrHpsr24Mse6B7VgWf4LQ0zBIh5XoExYI7KbhLu98oA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjP+lgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpFUxAAiOT/886Ho1gziAVHEggNIGifmnVGVv1gANalVtlyuDIeXcjz\r\nlFZ+igPb22rrryczYqePRzCsR6xBxyjMkkFZIVaSvCnouBsxawmDWVXUCFzm\r\n51FJ0DSOs3JpCyI6owUEZEowZWrYkl651UdmIn7AyUXyY5cYBLyb2Ck1bMT0\r\nLZ7EXt3KO6xLa8N5T/UeC8Z1bt1/8WvIxJDj0PChmTg3pKN4C91JIu9zyQBv\r\niidothxyvUX1sHhu9cZWn6l4u0i5ePf0eruOnfCKw5Tp+cvrtZLGonQhNOnz\r\nSFnJlTrqoy8IYAv2K/vvhmubkM4TDVCmI00YcdvT2voxxjKAWmkakY5LCa3o\r\nfa+8qsjfnNK8p8mTQEEFrUunVrQKIJpjstxA44Wv6ltxyf7voP7zND3DuBV9\r\nwelTYUOd3/8hhLJinOzJAImdiQptgOJOOIuYVqUROqBlEZZMBzT6QR5RPn1g\r\nIHCCJDMnsCmfnkct1slNOVVZZ4VbK1wINjC+l3qvJ/4jsuAsgpoVKjakfnn3\r\nCucJ9wkvfHpcNVHLVAboDCm7SyWE6xoDz4ZsDFEFQYwp2KJzCn+VI+SyFdQ7\r\n3vOtYz/IdSMRcDXQar1x31/FK6TE+TlfkEwZlVog7UVc2x91xFoVrZEay1nh\r\nmHgPZ9Cj49RuICOOCwUqX7yOhZjUCz3wZK0=\r\n=rKx5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.456607f_1665132896754_0.2829247692190793"},"_hasShrinkwrap":false},"1.2.0-dev.7197cfd":{"name":"@usedapp/core","version":"1.2.0-dev.7197cfd","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.7197cfd","_integrity":"sha512-S9+wQZAZ41OCT4T2Syh5yEYLU2pSjUHPg2v+Fh+5BBR07OrwOtRpSERWrTQbtQ3QXl9bBw7jruNPRHTnul5cZA==","_resolved":"/tmp/e1ba496e24465afa2a0f4295afadbd40/usedapp-core-1.2.0-dev.7197cfd.tgz","_from":"file:usedapp-core-1.2.0-dev.7197cfd.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-S9+wQZAZ41OCT4T2Syh5yEYLU2pSjUHPg2v+Fh+5BBR07OrwOtRpSERWrTQbtQ3QXl9bBw7jruNPRHTnul5cZA==","shasum":"91f880854aad7537b2ff8cb3d2da0e9919dd7fef","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.7197cfd.tgz","fileCount":2136,"unpackedSize":3145537,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFs/K4JShKo7BClYSJPlhFh4uXNcBeiMpAu6HdXgUfaXAiEAwotb1KcNyiV0cI8hVcn36vcrd6aq5rLmypR48X3MMQU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjP++fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7YRAAo3hNukRlQ/FIryvjPXh+4/LOH8IyllM0PywssaJRuP6H93oH\r\ni66x+0Hi6sZ25dNuDVq6fS0ASzVynAiW9KB4qrJyoAPPBS4RSu8T0zae+U/G\r\ntELsZnt5ojmEObAp5K7r9Eum9SkGQ+spuxVjQVH4D/9V9/R9/JcGEiEEZWot\r\nFieeyEPsnjIJRwJpuS1IiMSq2aovr1wX5mrAOS3hFljz0n9XrAJA5PtjVRkG\r\n39xVIx81t8ZMhCNQxxyatqKpjr4/UHnUjmR6Ib5X5i8sY/TpMofR0InLgYJq\r\nXswgnOzo1CYElNgGoUij1Z7FVuGBpNjvmyqMc7DDDSOS6eiob2EMs0ZelB7s\r\nfhl4j4naHWTqtkA4qiXF0jFF6JygVz7M5e3WGH3e1c0B52iN+j8H/7PjgPWH\r\nVIJocx9VnJKXDWPRhlKLLir2ZL8blUfj5XA9RimpeTKBvYHw/kNc0vrBIdAR\r\nNGAkQ2G1MCSQY0kj0azPJxOxsTLYkAnm7uIbtiflWkOoMsMCZ66TFJTeDGjM\r\nRf1ByxIHKyMmiL/38eq+0nX+4up8/hnKbnPK1phLwjZE4PJueHrqJihW9phV\r\nH4ZmkLYqraXo2UGfTDpLT16adWPTWrYVc29u2IhFDnIgqiyGT+kboQ42mC/f\r\nsdGqd3s0X07MsUBZPwJfkxLToCJZ1fR+uS0=\r\n=gQZb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.7197cfd_1665134495189_0.6706813405389438"},"_hasShrinkwrap":false},"1.2.0-dev.b5d7950":{"name":"@usedapp/core","version":"1.2.0-dev.b5d7950","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.b5d7950","_integrity":"sha512-5A7tVL3+VRpu4lqUqIc4oiElA43PqZM/qiIHqTq0oTd+q+yWzY1b5uExHfa2mqqaATieSOqdD9rmTKorkLMNWA==","_resolved":"/tmp/7d69726b06c393af9fec653f0a87e2a0/usedapp-core-1.2.0-dev.b5d7950.tgz","_from":"file:usedapp-core-1.2.0-dev.b5d7950.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-5A7tVL3+VRpu4lqUqIc4oiElA43PqZM/qiIHqTq0oTd+q+yWzY1b5uExHfa2mqqaATieSOqdD9rmTKorkLMNWA==","shasum":"1014c162520958214ddfd290d6590a9478c3700b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.b5d7950.tgz","fileCount":2136,"unpackedSize":3145537,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn2OkYPai1OFGSU3zo7Cu3Q4zJv6FVd2kKQI8pElstXAIgJPLwSOa45/WrtQkpwgn2VYSE1X3xS+ubRIeDGYVh2R8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQBXPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZ0w/+MHq9Bht4gE/Rc6M08DCjwcwCWxYEDLKo6i0NMRg8kCtMSeuF\r\nPvJbKPrrOHy24gy5kTb6m6vn6jzrbPoJZmIOKmQWxY/TXVTbmqv3s2bpIh5p\r\nTrx03Wo7w57Zm32D/KGB4bS4P1RtT4epM7ZLq7ukqDjrqV++JYt4DAuHEkL1\r\nQDFdlf+dqUhnJX/yCINdCj4FAinjeQ1yPTuaA/oJePfjS5jDR4rgXBBJZCSO\r\n+GlBQj8bew0B/OmM32ArH8gKpX4Ewrik25KscxzlPUMIC+MrnHp3ocYWaTOJ\r\n/4pjiN+Ix3xCfZusCVZSHoHkNA6u9Gv7WHX6jnUZE2nhrQBsJ+Zl09meW9Aw\r\nn/XwTf+nERJG7NBnAZb6gBgtbZKcEppoJRR5sNJhOCyVcNqTrOQ0Mt7j5y72\r\n6oQ1v6MHyURi+oeNysn9KGVbrPYMF7P8EsH/SHrX28ZqCRgJKgUDmPQUrGn8\r\nRBuGzFmwc8HKLpcGHbMKYhGRWh492qFc6YVOttzIrA214XzKazuwao1Ny1Xh\r\nS8BqPKeO7TMsbGTP+qqzPlfQ7LIBSLINrvvFMio96l74w1Z9RVzGe+XoC4zp\r\nfruvf3M3vNgmlj7a1bvg++YpFNYFWs6GcVgDu3h8hvcqYXP6j5dQJp5YQUxN\r\n4XC6Pj+puquijGaSMxQOIVrIe7uLRHP901c=\r\n=KfMO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.b5d7950_1665144270450_0.8358175600022222"},"_hasShrinkwrap":false},"1.2.0-dev.a2aca17":{"name":"@usedapp/core","version":"1.2.0-dev.a2aca17","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.a2aca17","_integrity":"sha512-+j8jJflAT7J8itbbkedt43ML1/HQx8q+GozLeOyHNFrIMRC9wlilMPFjdZeTdkxsJp4phvTh6IdAAFAd/8AshQ==","_resolved":"/tmp/ad845ec64a448d2c40b4b711a6e646ed/usedapp-core-1.2.0-dev.a2aca17.tgz","_from":"file:usedapp-core-1.2.0-dev.a2aca17.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-+j8jJflAT7J8itbbkedt43ML1/HQx8q+GozLeOyHNFrIMRC9wlilMPFjdZeTdkxsJp4phvTh6IdAAFAd/8AshQ==","shasum":"dbc7c61244382a8af5374dc83402dc9a528eb38f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.a2aca17.tgz","fileCount":2136,"unpackedSize":3145537,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOulMoPI5CJNh/Y4HAeX7wADnznJi7fbX7uc0HcoFl/AIhAP2zsocF+2uQppoKn7sMZokCh62HXJu9w7WFeXE4gB2Z"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTnUAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRNRAAnyaRga8ZcWDwLlrFq81SJTo3oV/Gcr4yprQX4F4K5ewp0Ajf\r\nFBj47a0NrRFV12e1I+FYenFPu1SrcECtUPQ/sg5hWuOP4pLSyLO0zuEn1eRx\r\no3BZ2cvTb22jjuFTgSVzFm6wDz1PfVoxu96AqvyNDEGXk5h23he9d72Ul4pY\r\nr2OnbRb0l1Xop6GaUPBLVRvL5NAjEtRFs+iheaayMhcbPDx2IiTh1XQ0TS8v\r\nwl3T37QQ4lqYgZQIMLuK5HQxmVAGWWNYJXXBcrrCWSU6zcginMfKpArmuYjC\r\n/nyBBBgIztQNzJOelxZoPSPRNN+9pfMCxjNo6LkODXf/Cu8ksPw8NXLaaSAW\r\n2Dgzjz0kZVeyJVoqULMqLnNsCy6FOM0nIzzj9ySq1VS1aJ0sqIYI6gUaCiJ2\r\nx+3217qJnDy64vn/Ol+pUp/kkhPCItBqXXi6No7V+VPTHN6AsSfNuHBbm35d\r\nf4jGkBAWn9Vi3COTSCNF9ELceU+roU8MUSamBQs3j25gh9nOGNr0/Rikxj6u\r\n0j5VjcTxrjKgX5BDgVwgENGvN4yBW4/P/ExywJ9Xg8SnBFMz/F1oxyN9AOSj\r\n/PwK85qbVSHPUGyLC0vouyrZ5blAlqEcWNsogGcbJx1k/ylvsCmZBkiR03MU\r\nGplanZ4p49NUpuQlWNCFgAStdOpWIanOiC0=\r\n=3TQh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.a2aca17_1666086144374_0.7316547570370513"},"_hasShrinkwrap":false},"1.2.0-dev.9fd2c7c":{"name":"@usedapp/core","version":"1.2.0-dev.9fd2c7c","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.9fd2c7c","_integrity":"sha512-n7m/wNqKHXVdNLn5qBZTaPhhn8eBZ532g/HNas3BKkKIDK74BKH//c0YwH1Yvn0WBtWcYFNzRH5ZS3LnEJXjhw==","_resolved":"/tmp/06793b4386b74935716ddb40fa79fe93/usedapp-core-1.2.0-dev.9fd2c7c.tgz","_from":"file:usedapp-core-1.2.0-dev.9fd2c7c.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-n7m/wNqKHXVdNLn5qBZTaPhhn8eBZ532g/HNas3BKkKIDK74BKH//c0YwH1Yvn0WBtWcYFNzRH5ZS3LnEJXjhw==","shasum":"d3344451da6b5b07b4a0c01f8abb542f3de99590","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.9fd2c7c.tgz","fileCount":2136,"unpackedSize":3189468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC676T/Th1v6IJ+3YBmGFbixIn7hC5fDEJ5ZND7WOALuAIgILsX9VUwaFG3PukTRwWcm7spgi8nHxyrZg/LRzU0BzU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTpGWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHOw/+NTUmqY0v0VHlFvzMfiVneppjQCAGtEdvNp/N060tWbDHbzGx\r\noPLkGOTLZrM4FeecntCK8dfuaefpscZ6xBo4exDvpE74EeyEL7dckBA1Sfb/\r\ne1RjrE7UgOh2rBMQ8A/I0oR9yCAmkvt3UPRnIccJCJGrj6VvMWoZP3hRDpZx\r\nxHwbnC16gnHQs61tZNHQCSTDJibs0ubj4JC0pUPXKZvWMqPyvhARS+dwu9q3\r\nt1xWTeo6WqVAnaoR03gwB6+AQSEht0JS8JWRr7tK+fvz+ZORww4oOxkX9Egd\r\nGdS0tMkmFje7SI6uqDYyQQcif92XcFry18w0m6ZDBSs+25N+N31ZKcbeqRFn\r\nOgpMUXLGpYkeNA2vKuB8VwViFmCWZW+LM6LM+cAGbazgU9stO+bS6FtxcGRw\r\nlJ+OMkBuCxaTjlUIVo5Gmy2+f63VfdYWvKWn1Ey1aDmbfEhQ4fSEjIgK9t0q\r\nBObmgECmqQq7w43RBYr1PBOboXu0/HqfaF/C+AeBmf5RCSkLhL/2CVyfsvoX\r\n0U+oOgHpm8qkpv+mzUflnsZL6XOp4j5QEpCm0enrdIbMVvkwjqbNqKrNe/N5\r\n6n/SaklOYKb2mP2Fgobb4/3e1FFY5CNSIwC+fNGwsZoL4HW63ifqTx+gwUe4\r\nihF1/SAObsBXUB9vwWwy7FmnwqxaO9AF0jQ=\r\n=3K/j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.9fd2c7c_1666093462283_0.8023274213586487"},"_hasShrinkwrap":false},"1.2.0-dev.89f4911":{"name":"@usedapp/core","version":"1.2.0-dev.89f4911","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.89f4911","_integrity":"sha512-Sm0F3pGpoV2A2t24e2BZOBK27PdzkbeXoa+dkpKu9+CgGmcBjZ2R7uGoA8BVzBem62JZVpXE91VSgv9leD8LiA==","_resolved":"/tmp/b63c1292994a444d50f1b36d52865111/usedapp-core-1.2.0-dev.89f4911.tgz","_from":"file:usedapp-core-1.2.0-dev.89f4911.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Sm0F3pGpoV2A2t24e2BZOBK27PdzkbeXoa+dkpKu9+CgGmcBjZ2R7uGoA8BVzBem62JZVpXE91VSgv9leD8LiA==","shasum":"ed8076c6fa2f17e1f0de597b258dfeb5a6b4548f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.89f4911.tgz","fileCount":2136,"unpackedSize":3189468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHJ5r8DYCG1gs9S0jpSh5Yk+xtqHiywMVO9j6yCZdYOMAiAOVTeN9wfov4u62CBE8T82XVkZwOxRTXvYwUF+G9mBCQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWTpeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGvA/+M+haUDOxsy2hD3en2u4VgcVARV9L870+9k5qlrtgiONZry10\r\n/9fWPwdfptI/MmTBmA7MQ/8E6j9nvWph3hMIGQb5UnunWN4O5EG5bSpwx4DS\r\noLNU3kAtzcff2e8ET7bAom5T5TPlpFA+cCj3EAjklcGUzvDG41bg2O9JO1tQ\r\nEY64ViG1Dh3IHNXft14iRrq9ziO04gKVRMjkIOs9ufqDOgVu8iRv7TJJWx19\r\nDdQsVUOFHAtO3BZtYgXcl5U1mEQtQwGIatga3PiynaTwGA6NrWzIm7xPkx+g\r\na95bzr9eI0e2pbjSsA4NQbc6UAV/A4ARR00rf0pH7laRxB4Cc3sak8yJkWrF\r\naeJSveFDt2n2OeAGmApK7tvdsD/60qPFXQSjIpSdXBl03hzbyXX+f0N76vuj\r\n2ecxI6najbEd+ncvfFe4NtXEo+8RSAi+IgVcCDgCIjTLmCoHabzeHAQ+bUV9\r\n+J70ks9xHYmT6XesO4eIabs5h1WJ3wp0F5U80iR6SLf6W+CnUNwupsOtzYtM\r\n1PMnUVXdbtbNjqZEg0l0q7Y1qURCuSAi4e/GyljbcSyuMnsF4+tSvE68jVm+\r\ni09qA5d/SznTAlB9SVfg0WK0UZjZ65SfuXPkdInj26XEgSsz4mBBYNGOnndX\r\nvdSF7E5T8X7zeMmHRzwUv4xq/cqWVURS5/s=\r\n=gc0a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.89f4911_1666792029999_0.8748937300963375"},"_hasShrinkwrap":false},"1.2.0-dev.05df896":{"name":"@usedapp/core","version":"1.2.0-dev.05df896","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.05df896","_integrity":"sha512-GzbBREJAEgCe6am+mT2eEDS1rN9oWJ7WoUQhVcu/aZQarozC9pZHvK263mSpUNmJz7WHJet1DdwT+ltHFyA2KA==","_resolved":"/tmp/a1a2942bad5cd99030b614396eba7c98/usedapp-core-1.2.0-dev.05df896.tgz","_from":"file:usedapp-core-1.2.0-dev.05df896.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-GzbBREJAEgCe6am+mT2eEDS1rN9oWJ7WoUQhVcu/aZQarozC9pZHvK263mSpUNmJz7WHJet1DdwT+ltHFyA2KA==","shasum":"b3c11abf4eb2274d8cda2dcb28faff1b084e7890","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.05df896.tgz","fileCount":2136,"unpackedSize":3189468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGDdoT39VOHd+p6rJQ+glJEFqvJcVrcgke7Rfudb0OwwIhALM53N2mWJ480fteNpwva8VxUSSoLAkDiVJ8UeGB71Dm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX+lYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbMQ//Rrgo5TkzysCnxCQZ3z1VckNNdCRU8nBm3t6Oj+BO8/JYQyq7\r\nAZ1c0+XkCYQ4a5oibEG2OM2NNjLfkNb3lRc07ZGMnAU3b5c22IsY+Lg3O3vX\r\n9nbbaLrbK2W4QIKnYfKqF6V0JZ8EcL2HhcrgUXZr9tgLHR9AFnWupOP+l0jg\r\n/P5EC0LxA2yozZyI3FYhjbskqssAzPn+uUVNcZlqazOMw+3yukamHFB2OJYM\r\nk8FGBtWYkiFBTQi64Of7R82bUesvjGdgt2OoKl/CTzaDBwTkgpSKvMkRcBZF\r\n6XzLYGgZOfgv3Z2+fJ+YyFDftf1WlttlW5xeCfMW8IIZPUwIptqnISb5nd9J\r\ncP8W5jlcs7TklCI5VlM0oI5lrW2JmCa79BXau3t3aNns1l5yR+VKH2etjvo9\r\nKnG/b8ISNYx4Z/66rKvmBrqQsNRpWblqUtaa2yX2GFP04zcjG5tNWYNZW1Gu\r\ntkRndynsWky0yANU/Gc3cn5Zgz6ffixZjKlViS5znYTjxYRsXqvDSLnd1aEB\r\nMLthrsfm8PL+I5T3wr1nAvuCjuitZDJ62sYF2UQTXQGXzMvsD5pMVV9r6d5R\r\nmSxFUcTgPLznrnVeltZOExI1sZJ5VTEBrfbjYd7AWEO6cTNeGfNzmFowWzRQ\r\nTwxeZ7Jtm8vATAxjIYpTC8QkESy4CMP+48o=\r\n=DoDI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.05df896_1667230039767_0.9497604261292911"},"_hasShrinkwrap":false},"1.2.0-dev.4477d45":{"name":"@usedapp/core","version":"1.2.0-dev.4477d45","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.4477d45","_integrity":"sha512-uiNMRyQaC/w25q0qhR6oa9gLWVjE/oMoz0zbZOPRZBRLa/igqHTcgAmbXnNDvbsO7Xuu5ZR8z3X31iCLC3O9/w==","_resolved":"/tmp/d5b6fc59553cf6d71708bafa69dd01ef/usedapp-core-1.2.0-dev.4477d45.tgz","_from":"file:usedapp-core-1.2.0-dev.4477d45.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-uiNMRyQaC/w25q0qhR6oa9gLWVjE/oMoz0zbZOPRZBRLa/igqHTcgAmbXnNDvbsO7Xuu5ZR8z3X31iCLC3O9/w==","shasum":"5c4bdb6d33d508ae82bab5f59294a41097771dea","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.4477d45.tgz","fileCount":2136,"unpackedSize":3190199,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL4URJRic7c4O11+tBQXWb88dwgZLp8qJWZrJ7lxpYVAIhANVxROjyBw20khJVNO20d8GnGT+l0hNACThEOmEdRMXT"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX/vmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdQg/+Jp8FXBAoQ5BuIz0OsfTPZCpRAzQgO6llGFEGS2PR9KgwkjgV\r\n+MRcOgFGWt1KUBf5hN92qUJpftEvuKmqPzU2Txx3crljMfSB0pKVVZsIqgAr\r\n63H5eZ/PN8J73k8ou2hR15B0CtkxT2aEshcZox/3o9cZf2Jvy+ywcRUvK0BC\r\nEI21eQcpVFxSSoPzZiN+CdCIWL/uzsXCMm1V/ypN0Jlcd1rJ27jJgZK0+9Nh\r\n2u8wX9XpPtjDRibrCb+oMyk8MnTCQT0yXq861loDUNCDdXthv2074d7Fv7bC\r\n8KP9QB05e/VxRoBod2rUYxbis7yDkUVKXZZsMobI1/JXAKYh7l+pkzQkH8S0\r\nAl5yRKtdoLO69l2qZFcsyfkXR3DPTQyTp/DF2QPsUFdTGQ1A5nNIenltw4AO\r\nU+V7szZoB5O6Ap6qUjQMmln9Nxr8EtFKyJ3CRBlOTaqFEQPbC3OzABLMBnNh\r\nsITOzC2M0kg/yo92R5V8ufg0ZeVZGP3PvUIx+sxEcMX1feVKnmZDt1wQCyF4\r\nHrY++2k5isT4jzK8kL7xg+C6kYIBAHRpN0mtrshYFYAQeggflf00pxeDmRBS\r\nZx87qOXI8vxbmlyu2n93bfW2FhEqOm4Hj218j/FsazbiTgntKToqrqHguBO3\r\n5zTrHzRrB+ONO1IrcKdVUQzgplQG/Am/XPo=\r\n=XLo8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.4477d45_1667234789973_0.2714919482500382"},"_hasShrinkwrap":false},"1.2.0-dev.9e2dfb9":{"name":"@usedapp/core","version":"1.2.0-dev.9e2dfb9","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.9e2dfb9","_integrity":"sha512-bOMc1gTlTuXLMW95ZkDqN8Doy5Kr0PQxvFb6QdDbOdPdUePIsctunppbReU6NeIil4TFHzrQSI1OvyYfnYrtWA==","_resolved":"/tmp/225cda9f33ddd4f0eb52d78e63dace3b/usedapp-core-1.2.0-dev.9e2dfb9.tgz","_from":"file:usedapp-core-1.2.0-dev.9e2dfb9.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-bOMc1gTlTuXLMW95ZkDqN8Doy5Kr0PQxvFb6QdDbOdPdUePIsctunppbReU6NeIil4TFHzrQSI1OvyYfnYrtWA==","shasum":"9148a19e1ab693fdaa639354c37a1a1199079bee","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.9e2dfb9.tgz","fileCount":2136,"unpackedSize":3191430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0OL5O23B+4VopInnENzg1lhs+e6mqrOheSj6s4btrDAiBti0HoIlg1fKP/AAAHg/xWsjQ4D5mPkCzvajm7sl9Kvw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX/20ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeAQ//VYBirN8H2zhmfe6/N/Gh+FlGDNNca2Bf77KljxmaY04xxMTR\r\nYfVsvZMlyHl7JBdLfp3E9mXBS7p/prIlbOzyJDNb7tkGEB0VAxMKE8nb8Kag\r\nzPJXrmmBKAfzzfHOOp9on/gIjSeQFkaAss3Ri3dt+raQZ4tiKqeM7MRuUn+E\r\n7SOgEDqZ3wk6M1YNB0QgzWzg4z+tpcavgLxtO0ebIoBziqxbkjr6ZRZ8aVKQ\r\niM4sOO9/YdbgWa5akdSGs3DtFMlxtWoPJjex6ytxJu0ZcOQ2S2JpHcDck7Ia\r\nffWhD6t5Q4gaBzUy+J25gja4huKgUlPrqkp0I2cZTtZyjiM2e/LeuFI1+JLO\r\nBplUiyYrku9sCRFmgjZ7z/PKAqEyTlHzdkDdJmsCuHf1qNjhSeUiraOCZh/M\r\nQM9w47EjkCby1+QQ5bfPfkl8IQEiqRv1FzDxFwDnlEX+TM5Wqp80SwFWTx7I\r\n+JN4BwIMIClS2Okzl/S6YMXrN1VwQAz5ypyrYEF9pPmion1P5c+u2Jv+LWhP\r\naL8OuSB8fUDVEoM4ZJ0U4pOBhzHBVUBsGIyzNOFQHhLl0AZoVpno2lsKjb6t\r\nUDwy+IuXq8mESXmYH1buz6ywszzEykIXQG7Yw+3s1cjpGNDghDuhCplzf8Su\r\naC+O/4s1QZlL3lS/gl1BjhJo+hIU3PwvjOc=\r\n=86Hf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.9e2dfb9_1667235251939_0.5099890015056499"},"_hasShrinkwrap":false},"1.2.0":{"name":"@usedapp/core","version":"1.2.0","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0","_integrity":"sha512-wa0Uj9o0BZILYEm8I8RTe01WHmoEjvVWv700rs6fn7QeQCiGQMZ5M3imjMQfPhqRBaXCzlmkKm/EZ1gPJQMN5g==","_resolved":"/tmp/c73f8d14f3ddcf30d3211405702d5d80/usedapp-core-1.2.0.tgz","_from":"file:usedapp-core-1.2.0.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-wa0Uj9o0BZILYEm8I8RTe01WHmoEjvVWv700rs6fn7QeQCiGQMZ5M3imjMQfPhqRBaXCzlmkKm/EZ1gPJQMN5g==","shasum":"5709c057af629da23fa6161a6bc7deab85e0bdb5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0.tgz","fileCount":2136,"unpackedSize":3191400,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB/X0g31V+UeXH5EI3KD5DslS6HyAtGti+Z+f2ntduSKAiEAgj3ZuFpTKL+euazsW/RT7bl0ra4wJDZRj+tQvLmaavU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYAbOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEHw//YU8cct9Zaq+7e113rJz6JlAv/A9VZxkKbWJ4sTfSUiDaSsqq\r\nZRnZQsKUJjex2qLukzipVd0m7yKs4rxAdXn0N8DF55aB/bhdCOfD3gx6imZp\r\nO/+DS/lJyukQyyVfFf7FMJPz2P7eyQayjdSBq/wBPUd6YnUPzX+ndj9oVqwI\r\nodrUyL+vymLVFHHcg1nFrq9FL0Fzj/M8TFwavvMc+wDuK1X4vc754Uivmr13\r\nIqfJwuaGv4wJJzKp4KKwMT6hwSBU6KIamDM3QblVOIcTMREL8enPRhAL80j4\r\nFZJ0nZjiza3+E+IDhRGv0usNEQzk7YjagmxuloRpPsB95uU6VzHhcxM/yFJx\r\nO1TiHzy4bOaarcFWWjFwunA5UzIkNAchaZEcjUeI+aqSSxZzUjnlTtnosyNx\r\n1C04JgCMG//JCbfMITzVpEb6uFZujplesPQtwUKjZj9S2ix4hLvsd17pUH6l\r\nIpGEWWIbUmMY3OZYn+3n62tvrez3v3bjQ3XW3IJQDZBE5L0bBVoZGR9No7gD\r\n6NNjY+VTmurblQxWmKxr4ZrXAZIVvnn9O4pGQFchPWvf/nJmNvX25mOF1Wym\r\nv7Q8o2jOi8Lf2Ng6ixYSBkU3qS93+0MMMHI8s4w7sXSd9QaN8q75gmH8H6cj\r\nWvJqIfzQhq4Rxdlug5jv2rIsuNJrcXgl4zg=\r\n=69OK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0_1667237582465_0.6143895608268102"},"_hasShrinkwrap":false},"1.2.0-dev.94fe84f":{"name":"@usedapp/core","version":"1.2.0-dev.94fe84f","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.0-dev.94fe84f","_integrity":"sha512-Hfn7FBZ8tVwa2KXU3askxBGT2ksmB2JpLGtUubpsCuDktEK813oRPKJBK11hGfOk+XliiQ7SA94RZxc1FT6wSQ==","_resolved":"/tmp/ed7f2dfda6f00fca23ceeb5ece6e1f5e/usedapp-core-1.2.0-dev.94fe84f.tgz","_from":"file:usedapp-core-1.2.0-dev.94fe84f.tgz","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Hfn7FBZ8tVwa2KXU3askxBGT2ksmB2JpLGtUubpsCuDktEK813oRPKJBK11hGfOk+XliiQ7SA94RZxc1FT6wSQ==","shasum":"2355378a5b2a1d40c71d9cc0d85da10b789b2e4d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.0-dev.94fe84f.tgz","fileCount":2136,"unpackedSize":3191430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9dg1aYszQwe4lQX3tBubXssUTJ3BHFQtFTcnAXa8RogIgXWuMY2EIw58Vp+edCkeO3cWrTN7XjI4wwJHsWzcMUjc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYAdeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5HhAAig65D8nmynGCRMf7ye3t+i9UOlF8fHGmWq9wDJv1/HSu5G7I\r\n9R/N2BOMJN/rQ2IWAoXxTvjpb6D7KG6bpjYi+hPEnK/My6Dzyr6kQ2aUqh+p\r\nCuPOA8wok6ttALnBZN5c/AZyUs1zZ+5UIj8DknhN6O1fMe+uqaVF4TRjNhaD\r\n1ZSOWq6JCPS/yJ0dvBdbfz3f9G/hLUGpVGfNxAkfUZLFshd1UqCTkJC9EdLL\r\nmXCR+76gcD7BwuK88Mwq/qKh/vGR/sdh1M1SpjXG+LSvjmGhxIP+VO/tgSn6\r\nWgAQIAdzaFH13xl6sj/iiByWTEDMzGDHj3Kn3gsdhgHIDkc6k3kMrWby8P5N\r\n0o4ex5pvhN8x7ngA96tLbC8qwsE318IpFu3yJMWD5/spRZCMHi9lwyCNihwH\r\nHQxTDp4O/CWXLVvFubd9hj1cxSYuUumxKuwP6pGU5bk7eODf9JaIiktVWqPy\r\nH2h2K8Gf5YkMg5SmMeM+rXJQjBDO0JSF7qz8/fjUrVWf1F/4dcoL/IZwkdy0\r\nfAqPDX60eGp0n9DcIOQzVkWENKXoAh4lUYQliIxcwpBrasifkd8mPITPR7b2\r\n3kPANLuFDKLYka5o1cXB0XydXMDee0ScfuRLjq/y5VxU0p1RbgR7g1R01rtk\r\nfFAzZ+SQzmby39kc++t6xmfMO+ybngZyZe4=\r\n=da1U\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.0-dev.94fe84f_1667237726375_0.6892581125946446"},"_hasShrinkwrap":false},"1.2.1-dev.5ce0b62":{"name":"@usedapp/core","version":"1.2.1-dev.5ce0b62","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.1-dev.5ce0b62","_integrity":"sha512-7EImbXHZFFZkhynUkKyNTQSmg0yUxFGJk1BI6ebd7xBqXbY4OTOz9RcXuCpBGMc99rWtSQH+xFH2whjWSjXtKg==","_resolved":"/tmp/21f52e0fd2adfe051ecdfa3d1b613499/usedapp-core-1.2.1-dev.5ce0b62.tgz","_from":"file:usedapp-core-1.2.1-dev.5ce0b62.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-7EImbXHZFFZkhynUkKyNTQSmg0yUxFGJk1BI6ebd7xBqXbY4OTOz9RcXuCpBGMc99rWtSQH+xFH2whjWSjXtKg==","shasum":"a4e35828926b500a3fb44457dffa46f05164cbea","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.1-dev.5ce0b62.tgz","fileCount":2136,"unpackedSize":3192772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHq9d3363xkrc0Cirb+NYwjUdc/+aqi/jObHf73+q0NzAiBQOoEEHLx+S1aajeUjF0l0E7Mximk8xaJX9+ELOALXyA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZTUeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGEg//V/QVDOu9/k9mRiv9Uc0SVwRxPhkVBqoSNxWiJma9GLH6trym\r\nK8tp96tZ0AUbyrZMEx2opb5/W5b2OopnIckf5DmeiUjat3XTsuHJjo5TJTM9\r\nD0WXv8vdCWVGxZ0/HQoTWxdEXkvVBqNj25+T0Dv1RAPx1Ow0COtqXklLfdTW\r\ncBTe1OtcX7/UEYpFTFk0E8AynnzdcwFmHKe0SIr5sSaFFvevj9DPLwT0Temq\r\n4+bHfWdxvRKAZhFOddTmCU8xa44mzJ3G18aVX5gV2vvp3d9IfjDkQ/61Z3wl\r\noYwQa2cgqgkYzzbFz8JFcQEyjCh1nOHD7nxh06cmpj+4PYsbZBZumsxQxdGQ\r\npe7M+ottbVvX1ekTgXCuNXYuyHYgfsi6KnLdXEYptFii89jsv/64tEmsOmlX\r\n224MYf2bl7qN4R6dAVTFZa4yBEq10SjJXSSk/86ZHPMZ/qug3oNv+cn1FBnD\r\n3NbkBd5xJdDUGlsqJmkC8I+jVmt996yFdKSfeJnksj8Yfe5xbua6h9Vn/tW6\r\nYRJDqIOh9yr6iclt4mls83bHNQrw01nyWcIlWYJX0i4kXaxT5k+4BpVVy2SX\r\ny1llnlf+pFwT1aeuY2OrOp5sxnUWurHJRy4V3365LcZ0BvI3XrLTfW6MavIy\r\nhY24lOI7wLunnkPnjjZtoC8sgzWxN6pSHMo=\r\n=VlFC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.1-dev.5ce0b62_1667577117715_0.056855289274121645"},"_hasShrinkwrap":false},"1.2.1":{"name":"@usedapp/core","version":"1.2.1","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.1","_integrity":"sha512-2TH0PewtKhmX1ygSSxsywpV8GE2GvAB97zVTZYdjcKicrgBeGv5+QlvH5aHPMOS2lyEuzLHEW4rIBs8ul7fLSw==","_resolved":"/tmp/42aea7a539ce625fb14500886d3c64f0/usedapp-core-1.2.1.tgz","_from":"file:usedapp-core-1.2.1.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-2TH0PewtKhmX1ygSSxsywpV8GE2GvAB97zVTZYdjcKicrgBeGv5+QlvH5aHPMOS2lyEuzLHEW4rIBs8ul7fLSw==","shasum":"016752b228894ea610d75aec1d1d3bd57468b55c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.1.tgz","fileCount":2136,"unpackedSize":3192742,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFDEwEk5NwtYYxgSXPw6gFtTe+j8TUJoFIM3/1Synh0dAiBtD8ZJe8PjZdAw4/WnjGtoYR1+F8Sn2a/WazcQSz3sNw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZTm9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLjA/9GR8+5GfusFm4T0TTc28VgAywMzn3gl4ruShCWYb2NqPqukn+\r\ngR8+EOBatwCIUGe/i94NSE5tJnTRP5tAi1+LeK5zAePM0GR9nEZq4er8pMnH\r\nxZCFx1ceq7R4BbYOy/yFCCeAVrHsQhjpH+VaYBDpoMTBJmnpFNINnRzosx68\r\noV+FHs2qGVzUKKK2T1vp4MKLVovhGd7x8GE4TESiehU3DE1zY5fkRyLdrtOC\r\n4dpUIVJp3eGkRfv0gveMTY6M881NiXGXz7vnf/7BmeT/DivuRH97ewiEtluX\r\nxQtQlfMdlXE5nfDBmwRvSa4lw1TjBktOvuBjdRG5vfaFgNuaBRI2WHc/3IKf\r\nc9FMtoChd+ehE3tVLE5YkcJLuK/FHj+SCMk0p1saWoVpiWxh8bMrSrXho5zc\r\nLuDS52ja5Rkt5K1/REN56Tm84gGYHR2K+W+5zEBNobCZek75uw+L/Oa/mM7H\r\nUyljL74CnNhK7US3qr9GfOL4t/CLk4GOy+KTKkYU9TZrMBjowJeJPZuA887c\r\nCYmlqxIZHJ4aBu8tYeaBCP7IeLdq6FwesT5Z3YwfvB9q4TLvkZDfnZblOjDx\r\n3Zl3+6TKeMmQH8HiGo6IedrXIL8446tcSMB6yVPw7KFzFsbX2ZKLVc1jAxLx\r\nLwD3PYgUnISzsSBtIyeYTU+uBU3GEG9nf/Y=\r\n=TN0m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.1_1667578300631_0.2723000451633868"},"_hasShrinkwrap":false},"1.2.1-dev.90722b6":{"name":"@usedapp/core","version":"1.2.1-dev.90722b6","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.1-dev.90722b6","_integrity":"sha512-p/oOw9ZVDFd+7bsumlx/8U4YhI88IBjY494fHDhkT8nYYOE/ZZ0703cyUtWct8hqzeJrhLSu+9VgthCaM+jklw==","_resolved":"/tmp/8d4190e90fa8543375c4c0380c93ce2f/usedapp-core-1.2.1-dev.90722b6.tgz","_from":"file:usedapp-core-1.2.1-dev.90722b6.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-p/oOw9ZVDFd+7bsumlx/8U4YhI88IBjY494fHDhkT8nYYOE/ZZ0703cyUtWct8hqzeJrhLSu+9VgthCaM+jklw==","shasum":"31fd38b76c113e27ae2063476d724c522702160d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.1-dev.90722b6.tgz","fileCount":2136,"unpackedSize":3192772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9mS18lvLvEve4uirEDJNAJJQw0WB+hc3yafsft3vRwAiAQuo05EYxqTosdwzWRQOnJKdnv5f71ZbrtWd88O71wIQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZTpIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3yw/+LM4NjBsayVz4lRO0WYbiSPlyWHfxvK1SBvN0/n7GhqYC/cId\r\nUuYoOQ+WpWHoYgi/AfoH0bF4HZ4UUvNlLDKks8rD94RSPnwKKlX+oWougLst\r\nUal7TXTaBUFsI2xe+6a9lbKaggw7Tgt22w3+fXmKL19/slSQPzCssXVKwnXA\r\n1+hL2eOP6OacA7m1t/9aSoasVl60eRdXryhYcdQ9ISpPslZZjME8v7reDPMa\r\npBlKTbkCEieRsv5CjHJhpKen1Z5dq5ivqpchCVINcVo0FewztWy+pJE0zy3+\r\nX2uxFrDxspdy9+cQfWNV6RI1NiUB5Ka2h5lZHNhp75EEJkGcteOG8wO6Au9g\r\nYTXUfa1TuLhMgF7Vqrr63GeWSWPhDV+DaBGxziJbmx8Q5Qxad2g7P5HeeJ2I\r\ndJxYRm0rqhuP9sztRc/gRtnkUhkt7zB7On5wyOL2E276Rph/Jw4Ujvk3ZuZA\r\nZPYPt9uu5r9IPfzWVS6pUH4JGs8UCyCNIRygjvkkMguS9v3Lca3+JRt/mdoN\r\nRyD5wx2YFO8dxcfkm+hEeNVhnss5ij7dQPT7ReG90+kKJYxS15+ZM3XfD3LT\r\npGX4+sqT1JH6WSJEsaZBfFQzxajsElqmRR11DOIJa3+TZclQal7ZEb6Ae1Nd\r\nAD9sBpfSeK0BGbQSi7a8IpZc4pdiRgONP88=\r\n=rwEC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.1-dev.90722b6_1667578440324_0.7498904945415075"},"_hasShrinkwrap":false},"1.2.1-dev.35c1d5b":{"name":"@usedapp/core","version":"1.2.1-dev.35c1d5b","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.1-dev.35c1d5b","_integrity":"sha512-XplWOINqNZ/qvxanst5RrVP0nUd1WcOumJtb7kB4KWdocm8LhIPXvJnB5qwla+xenSBaMLb6EIKTQbTpGodz+w==","_resolved":"/tmp/56efe12b61559c19542b9c05dbc4e27c/usedapp-core-1.2.1-dev.35c1d5b.tgz","_from":"file:usedapp-core-1.2.1-dev.35c1d5b.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-XplWOINqNZ/qvxanst5RrVP0nUd1WcOumJtb7kB4KWdocm8LhIPXvJnB5qwla+xenSBaMLb6EIKTQbTpGodz+w==","shasum":"40e62b5bdb70c728053c57a347370cfd8e229ffa","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.1-dev.35c1d5b.tgz","fileCount":2136,"unpackedSize":3192772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRJsn5M/kTJOYdmpKhACa6kpmKlf1uNu1AYS7N/cOJIQIhAJA//RnVeAQd2bs5jdEkB7XXoEyrcnqbRy5aqUZBmeBS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaoEXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+WQ/9FIiM8+bZJPhhvRmgLYa1Whd9KL/ujbmARplJ0oFtyt+TcFyc\r\n1VTGqK+N/8VHDI+UTmPdWNGYCcVBjgtA5sW6M6MvWlAtmUiGuafInCV0RFj5\r\nHgHUkmEtZFPnrMp4seiIER7UgdofL0uzbEPCMD5iq6NthL1/u9hcD/1lr5j6\r\nC8y65RJ1qsFYE+yZJStGCftmSAxossHtk8Uv8z69FGHa6DgILWh80ZIC+PY4\r\nGoCxuxzxuKagEXHZPhLfLGN65Yk0ORiTNDPIVRNlhsaXFrzmJdLqUxShMLcc\r\ne/cHNT5qbiSN9KLEtXh2QtLOCn+NVMfs+5nesAbdmoPG4bse/LyCxcwP3cmA\r\n3mJpnodr9JYFB9UN8c3zx9aIwrO1Dw8q64YOCLmsfnhpBTTDmlrpw1jUf3DC\r\nKzU+DU0rNqdZEIAYmhD5GrVRchB8N/qowoMPVM886Dw8w/tRAPjdGOqFvTM2\r\nuDDo3l8yvuxcSQHEVLRyz3ZiuNolLuV/VnUlYidHjXQHo8h3UW1mjVbxDuyD\r\nkGKNy6NlLyAj+wmlle1dkYfODSFDjJ258fM4LWehRXX5uJLGHmhWXdJCSJTo\r\nXiiAG38Hr+93qStbzmP+mzyuClYKNEjIxmgCQTvl9oELzGlIPiXxPtOm3vUX\r\njMY+daMPfAOo1KAfOF/3JAx5zXmtkmtjhqE=\r\n=KUhs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.1-dev.35c1d5b_1667924246785_0.26948199386517513"},"_hasShrinkwrap":false},"1.2.2-dev.d1ade8b":{"name":"@usedapp/core","version":"1.2.2-dev.d1ade8b","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.2-dev.d1ade8b","_integrity":"sha512-bLaP5Rmmo/wFzUuiVjbCSd5BmESd/AubasYTibPYi8N74mKPt5S9nS+rAm+X0itndLhxZL1EZEuZzXi/kLJa0g==","_resolved":"/tmp/c70d0283c18282d6d8069cc9e850eb4b/usedapp-core-1.2.2-dev.d1ade8b.tgz","_from":"file:usedapp-core-1.2.2-dev.d1ade8b.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-bLaP5Rmmo/wFzUuiVjbCSd5BmESd/AubasYTibPYi8N74mKPt5S9nS+rAm+X0itndLhxZL1EZEuZzXi/kLJa0g==","shasum":"cf722e3dc3720942780f1e0ca9794c15d36d182e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.2-dev.d1ade8b.tgz","fileCount":2136,"unpackedSize":3192769,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArDgEA8TV/186JnIkaEQiz7eIkJ1s62MS5cb/jjZhvCAiB82GjMkKXaJRrlxJwXGopl09pATb8vR/Z8QnQfFIzclQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaoWnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAug/7B0rh+E2yeMRn94N0Obj54GwmTLMlnTwWndjFMGxqxI/5jHnv\r\nI0ihzcjjWRlVjUoRhdrGH/JcQbagk0/LuhRU6vKj0sBjzeL/vi9/kW09YdXE\r\np3T7+ehu7uiLLJZ3lnXniL342+JwY4tVlkOLpOZ3DWVf3EdRJ2B2rv8NpGjg\r\n7/152aGZbHiSBcDGJ6R+dU/Iu8YztkHcATPRVZg5mxvga6CRFpR3MKK+LqIV\r\ngOgKjohj/YSEOaFQXAoG/+zosRWow2KLD0DkiZp8+rbVa6nOkLkFBraLN8jM\r\nAyyBCC/jyhx/ACp0YnbHaahgcSFzgttzCq3KdzSawf+BUwXeLtMkfhcPtLYc\r\nxk6iC/Aih5lzqkGn9/U9J01I+VoouQjzNDWQj+f/7bnYFd971uaZwuFXpNU/\r\nRBsPFvrzMmG4V54lePXNktJiYfWo7wUo7568g0bmTD8e3Q0fu/eiql9OX2sG\r\nrtytQtLWyIGCBr7M+k3QudXLbN3pCEZyuDV4KoTnPU1oj0eleD7fFrSqlt/V\r\npGk8IX6P/17A7xm2vHmRV4HNUy0lScIvP90qrzDqLwTBKy9tVUuYPtLA93sv\r\nfmlwQBSjKNIs31BHNt8b9WccuMPwW7wldeSViqh2Ro8gPZbE2bHq1o2UqsBU\r\n1WW8shaecahgl26Bf87UxBZhajqaCsX7GiE=\r\n=V/qc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.2-dev.d1ade8b_1667925415114_0.10677859084199515"},"_hasShrinkwrap":false},"1.2.2":{"name":"@usedapp/core","version":"1.2.2","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.2","_integrity":"sha512-+YbsFUer5ejQMxwlOJm5/6SAxPdtYMCHaZL1RhKRVPLiliGBGvRKO1ew2eWAkzRtWUnH8fAlBOdukzPVr8tsrg==","_resolved":"/tmp/549ce6a5340805464a67727f33485917/usedapp-core-1.2.2.tgz","_from":"file:usedapp-core-1.2.2.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-+YbsFUer5ejQMxwlOJm5/6SAxPdtYMCHaZL1RhKRVPLiliGBGvRKO1ew2eWAkzRtWUnH8fAlBOdukzPVr8tsrg==","shasum":"b74d617421a9c91a9e6d6d29ce115b434aadd426","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.2.tgz","fileCount":2136,"unpackedSize":3192739,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF20JtypewDidYjz8+pTPxdGFqz0FXPUdIqB8WbhjvxAAiBi63w7lH4IVxzVWELD6H4SItLXtEVDVAF7H7SM9SG9tg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja5ULACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8hBAApMnh7ykG4c1zi+FDEpjUEPa/ke0OHtESrgIz7ZU0BiQLp/gr\r\nrY1DJxNl+QhgIJRY83cGRMgL7BscjnlJVqnJMOygPI6zBe8vTeGvfS/jaVjl\r\n+8u+uTfZtVU6a/yg0INtdW8tjSZyMAucpK1BGrIDtiwsI4TWkJfU1+Sx2KLZ\r\nZQFfXkSlYxbU5iiddXIoeLJFbSUIueMhL92HPbjdURDqJk+OqQ3uq9hBSZNm\r\nqujOiBz34FNksl/vCIQp+mHYYdh+QOCFN9YEngt67kZ7A0wqn6E3wxMebAtq\r\nMxDevpdcizmhuCnxCl1Udh/S1DO4TyxuitQ9icH26jwzXA58bwpUjPC/QHVs\r\nchbTOmXUIfjlKEcCRn8STlq9minl8UhbpLCc3MgsAWZ1JBViHs3qbZJYx+sY\r\ngbbBupYPi2sPKm256pjm/Wvl0zfzFqe5MMcuVr7EKaHeO4t2e7vLQEhWnvef\r\nSqqnmRjjWzM3/gQ53IG+T6KvChTgSBntwKMLWvfv75u7yyJNGIXaBeTxha0z\r\nLjmFWcpUiLmIn5dGXKM1eRzv8gLxdNMHFOboEXFSGlS8BZfQ4rGH8ClKSzTy\r\nMmuy0PfIbjpdNK0SUjyMNuruNBpSTiy8d3DUzOZBTfEq31nQcei3aB48j30y\r\nMVIt/pTRQKf87J8o41fBppcWT2G73kfyooc=\r\n=UUU8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.2_1667994890857_0.03283289449655791"},"_hasShrinkwrap":false},"1.2.2-dev.2bd4bbf":{"name":"@usedapp/core","version":"1.2.2-dev.2bd4bbf","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.2-dev.2bd4bbf","_integrity":"sha512-obGCW262MGlgRAa0losXY2JJ/Q8hAed8KQJDXlKw5vd9WGCcI6LIcSDOftMrBVx1UjKSri54GSHprz8alcCO4w==","_resolved":"/tmp/c4176a0717c8941ffae16d87553252f9/usedapp-core-1.2.2-dev.2bd4bbf.tgz","_from":"file:usedapp-core-1.2.2-dev.2bd4bbf.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-obGCW262MGlgRAa0losXY2JJ/Q8hAed8KQJDXlKw5vd9WGCcI6LIcSDOftMrBVx1UjKSri54GSHprz8alcCO4w==","shasum":"1ecafe57893a06cbec3c4922d3bd29b3164fd51b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.2-dev.2bd4bbf.tgz","fileCount":2136,"unpackedSize":3192769,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMooye2FpfHGS+2mE80eWhE/GuwN6TVG5paoERKW6P4AiAi6xJ3f0Il4wv/ED/04fsPEQ6CIU9NVAeyOwOq3yutdg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja5XCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9fA//RbiBRmdNsILEQ+3Bcnj5wphkKypEEFh+p36/IcBK9PeY6zK8\r\n75x7unY8kVEPwI0t9cU+9k8GYhKzH1NJGhwSD+r2gGntT5R35uYN7pci3Cb/\r\nLjI28ytV0vn/xbYTUHetpTJVgCMotIxxK2CnKq6kneDzv2STLDtIJeEgVUrl\r\nMSVWoM1NKuU4uPp+qJbsDEF7H3SBZ3MiIePYmyGl/2VqSLKfeKt/hBkXqz2u\r\nJbmcyRFj6JFEyfK06G4xw2eE5lePBL7xiAKOyy/FI7uGquglDfVywGz+p8g/\r\n9P/HnYTluiMdUFyPJA6dOPtUla7vN2SX0D6hntSdkj4khiIis5ZS38Fr6ubF\r\nm45en3tPR7umx//aCAhN+9YFTL5SvqYE5MV/81F85J3wrnIYquY57HoTcEnf\r\nVWMP3XKNFvrnOU1zUQGbuujpISRU5suvNiMfr/xqXWhPlD/oyxUHQQ+4b3iu\r\nDlKCLR1KpxyRbZ+hDADeOru9/36HufUtb48ImqqHC10O5AYKmzvTMSe+w8+h\r\n2yDE9DsEUyCHbWzj7SG1Y+EHgKFuN4/Hu1f0poAp1CkuMradl9pPYpBEwy7I\r\ncFENpL0oiTsrcVFi0lp4Szx08Ln0Sqf1kls21YNPhadwjKZ4J11hN7TjxK88\r\n4bs0odg/EGRhFHvpYZRpnKAx8z7b9gWGtsk=\r\n=WGgJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.2-dev.2bd4bbf_1667995074191_0.8535208533417351"},"_hasShrinkwrap":false},"1.2.3-dev.9b561a5":{"name":"@usedapp/core","version":"1.2.3-dev.9b561a5","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.9b561a5","_integrity":"sha512-Jj71WOaO1DJZxEs235JN6BVRWZHmQQ3O7n6N3JyoBhaXvjbPgZf36D5+jD93bbnCYrzK+Io+LF1MmfP1idnMzw==","_resolved":"/tmp/6c4cc8abb7ce087de51832eb8f0b81ee/usedapp-core-1.2.3-dev.9b561a5.tgz","_from":"file:usedapp-core-1.2.3-dev.9b561a5.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Jj71WOaO1DJZxEs235JN6BVRWZHmQQ3O7n6N3JyoBhaXvjbPgZf36D5+jD93bbnCYrzK+Io+LF1MmfP1idnMzw==","shasum":"8ca87ba7508ca14de204d804e7e7c5a0971af454","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.9b561a5.tgz","fileCount":2136,"unpackedSize":3193130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6C9WoT22aiyBJ3SvVLh77LhLAP48rJod274Bzxdo7zAiEA4utTu0FVh1YGumiQIhJ+g5tnmKVW2RD/7ySqrCW0LlA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbL+rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2MA//Ua5f0PHTWfKS/QayT22Y8cF20twVAyXO5yLZ2wirdCm9uWyy\r\nKL0IIQo6j27H98HKokEsnO+XZYP/jK8+rkg2ot0Pye4TB/5D6qD8S1h7gXjV\r\nT0GWbDnwXxII61KqAoe30msMl8AeFpE8jAYcpWJI5yhpRJa2fZXGMuaC03Vk\r\n+HWEJho6dfwp374wub+sL3SYvhL4UoyvwXejush4+Q1UePKydjknCw2TnLCD\r\nxCQ8jvMnw0x3bht6WJMYVs1vbCD05Qs68YVMRgKiLQqBxFs9ztsgbbRtxOF7\r\nbV8RFezHCbtF7DmHW0ufTl/tRDzS8IFalQ3sD6sxBXVORAPPqbwBfi/reGW6\r\nDBmL3ujxxQ0FFseI6l+8vuCBe02Whwwcg8speHRPnXPf3k4AAelfP1MJ0aaH\r\nw2rm6PJxC+30DHuCVzFoL64XetB4OwO3UQyJneI2L0YcuxkHbz82co/lGHvV\r\nlpiPSoRsz1RL2lGvwjMUle43giVjA2KR5bvyu8+2NEsw8G7/HNjAM17cZgu1\r\nDvWc0NZ8tmVAvyMlzpmFqz70u/gYFcQEZwDz3pkWxm5GhpFBAfqyEHahEHpq\r\nK2hnX/ewhiNGOI+kaFGmMp0lklsWgu2ianufdhp40bJ5o0KSrjkl64Mx+pR3\r\nCJau1WliN6FCIhapOEqEFE1tOXEJrqNFqR0=\r\n=WJQZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.9b561a5_1668071339119_0.3227071708007343"},"_hasShrinkwrap":false},"1.2.3-dev.e935040":{"name":"@usedapp/core","version":"1.2.3-dev.e935040","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.e935040","_integrity":"sha512-2keLJj+u/vCBtwCoSt2074BavTspYDzXHEVDD70S6fd/IK4VMu+9BFHA5NYiVjo/AZxJGMcVR1NtZP2KxQc82Q==","_resolved":"/tmp/82af8165f9ddefbfd34b5cbe85272d80/usedapp-core-1.2.3-dev.e935040.tgz","_from":"file:usedapp-core-1.2.3-dev.e935040.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-2keLJj+u/vCBtwCoSt2074BavTspYDzXHEVDD70S6fd/IK4VMu+9BFHA5NYiVjo/AZxJGMcVR1NtZP2KxQc82Q==","shasum":"f7443a7167e1e718cf796bfe8a28ffb9d06572f4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.e935040.tgz","fileCount":2136,"unpackedSize":3193130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPyyX1CIfhVjcDUt19ynYjoWBjU8k450jBdnlEks+3RAiEA0CIeP1IzNUEaoyfeG5wWIoFkmmrspAgr4Z8NIXwWRjA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbNn7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVcw//dpWGIPYv1JVlTzRA08HuE2tav8OHguQmLE5a2IqJa4HEHzfw\r\nL4XWOdxpXwKDcjLSO7DffO70bCIvnqiDXlL13ASvHMgbzYCEYfronKg2ExzD\r\nX6doR2kblV5fRF5uXZKonHZ1kOMD6KqcKQZuI1k7JRqxxBMlrpr8lKl5c7Ay\r\nIta8YuND7xTQ/NPcOBmY2z1SiLXgTb8+dgsUwZt8thB16ph4nDdMAObEjvnw\r\n8m3n/ey1XkPi4mozMN+fRU5KvJCxGKau3Vl2L0fNIFFycYBHxT45P+H6pK8w\r\n9rjU6tSoyEeft7ca1n4rYc4DqKxbznHEdrorXtiuQ0OkyGRAdYsnRVvxfu+p\r\n7/Y2NwNNomgUBSOONgGpOZqDjZCKvPZPHUw/89nnlKDEz9oeQiQ67nGi0zO7\r\nVtByf/k3i23XmRp4LU6UYIYUohmC7aCJxJ3gXYzpUQqip8PcBifyq/Ee5R6T\r\nEPgilDLkHeiDGjubcEHAEOdeVHIXRaK2uD43k95hvssgiPZJsMkOico8B9Aw\r\n/ilIBSA8yUTYrXSo4LejFD7yVZIgj0v0iqnECdQ/KaXGnAoHK1hG3v7bHMo1\r\nIp8/Z7/3GghV40DDe5nlZ4sVHZm+gipMIAwje6dVcKO1BVoDd/sxyTx8Oug6\r\nZUd4y2Qs7usibFDoW3wQpB8PAYyF/0eoGvI=\r\n=4QLY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.e935040_1668078075250_0.4099184497688808"},"_hasShrinkwrap":false},"1.2.3-dev.72ba4a1":{"name":"@usedapp/core","version":"1.2.3-dev.72ba4a1","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.72ba4a1","_integrity":"sha512-khed7dSWX48Wlaumv1xLKgRhDIK+OLxmPothm+eUwui4oYPVzAA735djLGTcpN4mIh3/jmvWbFPAzrrjLYFf7Q==","_resolved":"/tmp/4319c6ee3901a582ce95e50bd55a96f8/usedapp-core-1.2.3-dev.72ba4a1.tgz","_from":"file:usedapp-core-1.2.3-dev.72ba4a1.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-khed7dSWX48Wlaumv1xLKgRhDIK+OLxmPothm+eUwui4oYPVzAA735djLGTcpN4mIh3/jmvWbFPAzrrjLYFf7Q==","shasum":"ed9051ee6d9763a883e735624979ef09d6c90501","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.72ba4a1.tgz","fileCount":2136,"unpackedSize":3193130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJC9z6JIO+oHOfIUXcTvmvlPjSsxSVIwCB2igSbLzKjwIgb2pU4GYbn+FFeZxgbSVKVyxHKc6d+PZvF4U0JIbPm+Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjchjqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHZA//QmaCu1UTi+Gce0tF/2tjHBszBME4dqLaed4nJZUZdfz5W0fh\r\naZI8PcWVAU8giZxHfaFXrrbQRt9o6AHfTJvs++dpEGr+SH9gFmAqjAyaeJq9\r\nw8jWGuaqmzuJWeYSX/S5SHwqaS7FA/GnVSaKQ+FsaSTJoxw8lzxEmlqiU2F3\r\nclaNmCRkbJguRWN4FMypuO1tENtjaxkHgVHUAvPYB/Zo7Daw2javHr49Dba7\r\n+ts3Q7sWTjnBdPqhhPq/h8uRSQyrbLO3hYvbk+B9dvOSWr7yPvcb1TgalXgS\r\nXAyrJkvfASr5c+xALkXhss6d3HEYqewP6sQzQWwqtth9PlfF6jKswAfjLpM2\r\n7rKHwR5yfi81kN/jD9wsdqQGKS0LAyq2oQ8AUxUdvba81BCey2lhT76daTqa\r\n8qv1dVXS4fYLtUqZiu+qGImSlN54IJ/Zvcx6sDIz4Wcl//Wz5ryfhnYGsdRt\r\nqVbP9LCJ65wvMb/NkBCjVn5FxkGNBLwyyIwEJzovTOMNi8RERRMKmxtW9VgE\r\nVoLMiQoc9eBy807Kv6/QyvHNdq7nL3VVXl2iUrzB7ssQlM1114Jpun7qPNk+\r\nzmOpBOw3sYRAQnavxjy608BkfiKaS4FBYEbRsaPPwAlm+Hp9bRfimFIVD3By\r\nsAouHAtdwm9iSc9dfJ13EgW+uI5DbvtUO8A=\r\n=0x1Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.72ba4a1_1668421866724_0.9016184986735578"},"_hasShrinkwrap":false},"1.2.3-dev.3a965ef":{"name":"@usedapp/core","version":"1.2.3-dev.3a965ef","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.3a965ef","_integrity":"sha512-U+J/gvayFHYr97/6okJgr/A/t58wXlA5VFijdn3ePJOTIAyBjUxikBvmad0Zo92QFMXnCGnqSnnxBeu+BEFXhw==","_resolved":"/tmp/664fb069f8ed97c290201eb4b8cbf9c9/usedapp-core-1.2.3-dev.3a965ef.tgz","_from":"file:usedapp-core-1.2.3-dev.3a965ef.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-U+J/gvayFHYr97/6okJgr/A/t58wXlA5VFijdn3ePJOTIAyBjUxikBvmad0Zo92QFMXnCGnqSnnxBeu+BEFXhw==","shasum":"a07cb402e320690da648a4f37ad3da9e7abac00c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.3a965ef.tgz","fileCount":2136,"unpackedSize":3193130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOIEyBvwHo/F1q3WJCmyo5bMm1fN5AgSYe8biP5bBUrAIgQ2+6pmkAr0Fl8NtIVbenk+tvC0Xrv+DPU+zOwwUOlhU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc7QmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonWw//d+PYbfJl9caPGPLrm1kwDSBTEv4mhI4re5MD4tGpyiuYaQEf\r\nVzz8xkIaXsSJ4SGRIUR/jfjNITOTiTNNGv9duZirB5TO2CkHF8bSLB3Ym2Dl\r\nnG6fu72riG5kQ5gWcZXeP/luLuRCNe+0U9LNBBtI41Qn2XX4DCSAI2TFZvqF\r\nxA6/O2HwA5wUj77KAEGSV78eBQftHgzqHO0SYHq/O/D/w+n0qntPlLd8qNjl\r\niDMKrATZp4EHyPSQRNjKY32VhG/JcO++KLtXkZm2KWcyxhbElbkQkuY8sxH1\r\nqEogWkqrTCXaiGbMk1V/BxsTwaBZYCu84poIjy1Mu76hjmaXuYVzTM7NZzl2\r\nVWjJEGvA7zwUQu6LY2hMkuh2dIxvN6tmR/fW++63INDeZZnEnJjjpst2oxeU\r\nbQxnjIMSzclj/03X0nPM+RegLfOomdq3Lsxpmpme4/WvTUkbrZgPz3oX8Wgs\r\nZe6u/fGH4OgmdCeXXYi51zIUyDmiVnGLVy4xYR5/FQK8Pbq/muOk7lUxK6z2\r\nGL6t0kNdSSiOT2vFcT/D6XEomaul/57LwwJ+Y+6DFnmIKD/l4ZN/SSIgvf2y\r\nFk2hcxyEqEQpP2T6SK+Z0KSk7+SNC3juNfNpl1qB5fm5GPk8MwOZ9BiLY0Ai\r\nHDEJSiFRXXjLxPeJYzuGOvM52E6MO2ZxCY4=\r\n=jeoU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.3a965ef_1668527141765_0.5922316786709616"},"_hasShrinkwrap":false},"1.2.3-dev.ff7f327":{"name":"@usedapp/core","version":"1.2.3-dev.ff7f327","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.ff7f327","_integrity":"sha512-ZXz2bNCcWQZZsYu8dtn9AjH6C76fsbg2/EddRoYSsxJl9SHrjIHwWmtknEbMZAYvKBCOxPUq8lR6cC/tx+F7AA==","_resolved":"/tmp/3e5ff0d66d5ccf46935c28af683e6a20/usedapp-core-1.2.3-dev.ff7f327.tgz","_from":"file:usedapp-core-1.2.3-dev.ff7f327.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ZXz2bNCcWQZZsYu8dtn9AjH6C76fsbg2/EddRoYSsxJl9SHrjIHwWmtknEbMZAYvKBCOxPUq8lR6cC/tx+F7AA==","shasum":"a358be37706ad201919c667e07e0403839bd6f39","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.ff7f327.tgz","fileCount":2136,"unpackedSize":3195179,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAX40elJiJyXkjNAsg9zjb5fp9JxrhipX4Vj8zeKxWnAiEAhdld672yT60x4LOcBxpNqPoUaTDfTs/tLHfkJDt7pME="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfOV6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomGA//Sgb+HCFgeRitlzGkIg3gQP+nq3CJOjzXH5njfkgNxigBi/u4\r\n9NPiiRQXfTrRg0JqfkkDVcAp7SGTn/L3htPuBMn0ef84LSnRgG9FXSw0a6be\r\nEdE90rdmFOJ9iBwDGf/bfhWBiekqUZUoreNbe1IrEyXHq7gB8h12KpGq729Z\r\nk7PBtth7CryKF/npgKhG/EBB14aqOSx+ZIIyttdLCgx2JRCnzyCa1zqazqT8\r\nVmmtLgHbJ2ZfLsuW709AtTE35HDo3mszJ4Py88pPbb3CobBTYl/Yf97+XInH\r\nP51gqOey54Icuo63OFaO1kib/ZiPooD3NifNY6KdoLj+z76NiboiDTYl/bCy\r\njLBp63yFcHoxPUG4ylfKjxbx0xcD8vcGKqt9wpXfGpwRdQCiDkDi1m9x1vqd\r\nzx+hFYVye67lvNxnZj5Mh52HWLOiHLTmfl7B20P2dp9p2fEJPVnikBWnCiPW\r\nZ1M4kYgjrThgJqnT8gb8S2OaiuZAcX+rYgu/yd6T+lGshL/thU6ECkHIh2Uw\r\nmDC50nwKpTQFp8ULSsCeNPOpUX2u+tZWmILhZOTY4o9HU1um1JUnqEOG3Y89\r\nI6uoUIyGKsmRBDvlEGhAM5nBXrz93r4mG2e3qXhaJEENNmQAGRFl8ipyQmZJ\r\nLq0W595WifZAIw098yeQksq0gT1jcYt0cv0=\r\n=N1cF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.ff7f327_1669129594463_0.08119117786359498"},"_hasShrinkwrap":false},"1.2.3-dev.2aa5d35":{"name":"@usedapp/core","version":"1.2.3-dev.2aa5d35","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.2aa5d35","_integrity":"sha512-RCDG7naCUOwfWJWylZoXfPfS3SDOrGIKp2xdShbNZ57V2WC3nfNhgguG4oEAnx3+7nbEeWNVPfpDYH3xWcagUQ==","_resolved":"/tmp/4f1b551236b76fa56b9a64efd58f5064/usedapp-core-1.2.3-dev.2aa5d35.tgz","_from":"file:usedapp-core-1.2.3-dev.2aa5d35.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-RCDG7naCUOwfWJWylZoXfPfS3SDOrGIKp2xdShbNZ57V2WC3nfNhgguG4oEAnx3+7nbEeWNVPfpDYH3xWcagUQ==","shasum":"32bb1bc83b327b07338e8f38c5e2a258a825396c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.2aa5d35.tgz","fileCount":2136,"unpackedSize":3195179,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4T6dTjJ/s4T2WK77JonqD7OORNBkoc/exp9TCrM5vdgIhAPeqgb4lBbL/Jb/5YgSGJCkHa0IdE7iBCexsCTsojV2v"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjy4/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKiw//TqfBErsJdAypQbPbJsYZhBPqYHdxxWfEoehTPvRhJCZdhbPl\r\n0s0BlahTDYc+7jeacQbiWCE2G8fjLj3NaLPYmWpHvDZUcHRlSylkJSU9pIdl\r\npE+XSBF3MMquK7kBZ1PQM8zftW0Gwf5Mv6BJEJ8Fd4T4bfGbZFUNcJq69rJu\r\n7g9dOzcAUkYtyZwXUMI4kQVwUAvx3g+7uxtuC4Qju0+li0dIKz72ln24HSD+\r\n5gybK4uffex1GEaH6hx+DHw63ALb16ggyLkK1Q4vJDeYrIojsIpFxXAs89ti\r\nNcsw+gD3xhIQ+y0NEmVL7tDt+/v8rRsvsoIbaOY+KnVkNZtZqFaSs0riZsPB\r\nI4We8t8fgFwV3q6oeLDAporpDuFZ2UoUISHyBpjJ3336QkWGGKU0wEUomoYs\r\nABJTU6iwysPIbrdDH6OcJt88ebuq1MZtbGJYDWTU65YA9h2aEZT7b4zbUZlh\r\nfF9BZKGzpBNBZZEO010bA551TUZ0XZqDy7PzPmGqAvRSZ3BFYITVe/jbBX8j\r\nliWVLp2tCw9Ex3zbt9I1jOKY4aWEzwD8wTD7FqPA/8L72iZaqxcNWSKJvST/\r\nNlpc9zmUaR9jfPc8E/liTEp39vyJLAUuyzvhB6FbJ01dgV4ea3xGQ0OFQ6lU\r\n+0BwyWjN5q71ygwh/Wk3wfzxcjgxn42pCSY=\r\n=xnTh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.2aa5d35_1670327870734_0.6512902414651838"},"_hasShrinkwrap":false},"1.2.3-dev.8781da7":{"name":"@usedapp/core","version":"1.2.3-dev.8781da7","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.8781da7","_integrity":"sha512-CZL6BjX4NDyM6MdCxfYwZoTv7E8VHnV+zkvAEhR4fU6XCzbGNdoWPPaDGXsmRS+sru4wn+VrPYzejzWrKsNETg==","_resolved":"/tmp/6f588d88fd8f4f65d0b2ea7b27596a88/usedapp-core-1.2.3-dev.8781da7.tgz","_from":"file:usedapp-core-1.2.3-dev.8781da7.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-CZL6BjX4NDyM6MdCxfYwZoTv7E8VHnV+zkvAEhR4fU6XCzbGNdoWPPaDGXsmRS+sru4wn+VrPYzejzWrKsNETg==","shasum":"0d5c45367154183bec58593af5eee8c5b85a2081","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.8781da7.tgz","fileCount":2136,"unpackedSize":3198386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf4vZtgEhomA4IqsS9bIpKJHyvbJHDkYJ1dgS080QJCAIhAO6qi1XoW2EnMaqQGYrwhZj2IdG3zRcDi/DKpimqyeSm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkMO2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjZRAAiXpdFraxQ8difaSZJgEML6uIuxKCsIzvnSAG57hV3afymF7b\r\nySbxwwrKm9ADQ56xMQQTlBLq32PHRPL4UStQbYKfiZVFgDWNO1RyrK6QIIOf\r\nDDS3r72MBmuK4sVWfJ5Qdv37f+tobb50fedFJuN3KRTlh4pzl4FfO7jPDk1q\r\nKndWOVCNAcYMYixpctjqlWRPP5uUXGxsaUKhIaxMJ6o+tOoyfpOTGrqQDZAu\r\nEElVCvkL8iPn3xYi7nx0iSzj1MMNPSOFnBr/EYJGjfhG+XylqNkWMqKrRt5O\r\nZkmEDv788k/aycuCOVR7uACycK/3S2gpnL8bpRmpEDj0B2oqU1qlJzFUgyzY\r\npyqSGvzMSeR4FMtPi376keWNAp6/1MK+opLb7uHY/FCJ8BQDG5LBObP3uBTR\r\nyhGnE+2MYaoSni6A0xOiLknbljjanmvn9QBXyR0XktEHZz9FFXBwU7UBvUCQ\r\nphmbnE7VKPxe/CWyFkCUTuRmO74Nw7gYKZE0Qx80FuT+F7MTNChUxEyWv3Se\r\njmkYrCcH8MP2MtJnLmSG5wifhoY4gU2/jIDHioS+J+7fvsfe3/QgitznFisn\r\nZa+XWZcz5nFIglYMoO/F09TZ06F4A4afPFGTyvQj5lHJ/c+5VwGKenBwCPGh\r\nS5aGjWePEsZVleovijRGynbjgBnhbZ174go=\r\n=KYYm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.8781da7_1670431670069_0.46472322077401285"},"_hasShrinkwrap":false},"1.2.3-dev.001c9d3":{"name":"@usedapp/core","version":"1.2.3-dev.001c9d3","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.001c9d3","_integrity":"sha512-sOs0GUaGVbbMt0SZuVlL+diVkCcCHiyb6G5n84qaa1pKX24qtoD+1+1p7s/TImfUJr17CoTWuq6nJjP9nUwxGA==","_resolved":"/tmp/ae1fabac5e94e8a6fe314929b9895f17/usedapp-core-1.2.3-dev.001c9d3.tgz","_from":"file:usedapp-core-1.2.3-dev.001c9d3.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-sOs0GUaGVbbMt0SZuVlL+diVkCcCHiyb6G5n84qaa1pKX24qtoD+1+1p7s/TImfUJr17CoTWuq6nJjP9nUwxGA==","shasum":"68e7cb2d974ce3ac012d1ba5b73319be31fabec9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.001c9d3.tgz","fileCount":2136,"unpackedSize":3198383,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyPpwH5vMJslQsTdXBJ3wSMIxUggY33po6TAUxJoYcGAiAd1WrZxV+ixUnEd9qFV2SJKy/xmXzqo6yXvo9GAkPsRA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjl04tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUWA/9E7vDDpgTyQv/jyOhWMVDkU0s79oFmFtr6MbXg6p1GyT1pQB8\r\nRK9zP28CV9SminGT9BRVEu5orLJW6JL+hiJKYzHy21uYlrimXCLDmce/zchf\r\nKw5n3ZbFQMD1isoIIn+gSuFjYq2it1j1prqlzqz+7C4eEzejBdnrVGoRRrHY\r\nXT/I3Lz5z06uRWJv5DtWeGhgKh+olctmataOVEFGTKPOVdQkRair4Z90rFMk\r\nWIwV1CDDQGUWQgvUbPxNpZKrW6l6tTvz8b6RNJxUs1Iqkb069kD8Ku+evE/4\r\nvn9pHQ4cxPHeIPIddIaDLL0MPVgUykA+NpOu6PhoUG9VwvKzQpJNUSOh4kyz\r\nIj21lxF0uM525SmmMZtdkBeBVFy8+44GZU4+/3IuiZmiHwU+lXOWZoz3SlUE\r\nJfJj7LUMVnz6HqqyXebnxBRNsWatt0vlVJ1SbJap1vdF1UQCYWc67bnYP3CY\r\nT/GGBNlU8mH1UPrdlnaHs+cQS3B66GwSMu5S7PJWuPMwvmpTPrBpc1cS/yS/\r\nMgcZ2+IsUkUigVUl/NFV5GOVHO4+AV4wI573HpLUDQ03i/E79hBzz+hre9WQ\r\nH92FNQvlyF/37EvUzHBox+oqEBjmms739wpSHQcT9uVVAAV3VzyCCWn54lOw\r\nbOfJ8ahaRrWtv7bGoJ40pwSfcnEgpynmjsc=\r\n=McWY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.001c9d3_1670860333012_0.9461149680295133"},"_hasShrinkwrap":false},"1.2.3-dev.7e4fae8":{"name":"@usedapp/core","version":"1.2.3-dev.7e4fae8","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.7e4fae8","_integrity":"sha512-OeWrmonQ9QqWC/cAJV+qu/L5acv1OX6ybYQPmbgaDdIyeUmfYJh/GeWDOUwsVPAL+eBjtJwCMGgeUZzJI/q7fA==","_resolved":"/tmp/bd7b2e26538902e6b2c6af1360e5a84e/usedapp-core-1.2.3-dev.7e4fae8.tgz","_from":"file:usedapp-core-1.2.3-dev.7e4fae8.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-OeWrmonQ9QqWC/cAJV+qu/L5acv1OX6ybYQPmbgaDdIyeUmfYJh/GeWDOUwsVPAL+eBjtJwCMGgeUZzJI/q7fA==","shasum":"5016d6a516f54b2b2a6a3734d52ce315c2b9db02","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.7e4fae8.tgz","fileCount":2136,"unpackedSize":3198383,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCffbLcQ5ioz/kkWFjOfPCgAL7BuaPa1iawOFTwELS2cQIgU6nE2g7ilpEGRoIcz7RPKmwj1IVG9kWpinkcHVRb4nE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmKejACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFZw//aI4AGrTiBo5yVs5yg46DsXwd06TeR0+wj+l1vL5jKp6yl0CY\r\nzPZkU369rlZOT1HH4L6MAOXkDcYngazr3VKavb2dNbYMs2d57D43FS7I1guB\r\nuK3j7q3k5CueV1RrkTkI2vgiOnBHBfWNKs3n2/QL4g+dbkGJZPM8bbaayLMt\r\nbbWu0FA9pFUlT02xMve5JDsO0sikj7EoPkaSz3OP+HfFCMl6FN8kxp8WJs//\r\nLHKhYB0oLNGVFK0DAN86QoaNcfZE01STNeTqJFaCPM8ESxfmVYXjekSJRtfk\r\nC19RgHCgE/5TBV/c33bhybMWzKwphytnC93cItgdnXpb0PlEs4pwPwyEWUD6\r\nypc6MHtiHPc3DiVawJGM2ONN/+1K0dmGAml3ZPrm031Q09Uyaw2a0LqDBOCj\r\nTfoQaF1uyG9KHgy/9BGoTVtJSWkoDhLJEv0AOEEF/4mOgzolnleR2bofXoBZ\r\njvTEJD5gcSOMJUc5WwLER6E9G1D+jZZrb9jhPhy8262wFAFMEbKQs/mU9nFW\r\nFv7CiXYyLbePOuATx4tlVaqYETgcXojrsR30l4KIGWPgMum1Fcn/jlcUKBzz\r\nQbwjNDwn2sjGGGg6b/jvd3C2dlnHRDzI0BiiI+smxJKDlZ8Mai2DyMlT610N\r\nmHIPSQabdhKgHfeOuJQ9rMTUODJvtfGXwAo=\r\n=2xWV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.7e4fae8_1670948770848_0.7304415545281759"},"_hasShrinkwrap":false},"1.2.3-dev.ae5c262":{"name":"@usedapp/core","version":"1.2.3-dev.ae5c262","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.ae5c262","_integrity":"sha512-RyU9wuHKKYM6eSiDntTBbYUb9caouLrgu4hL/NEmUaUC6zQfY4sjyxnmOdE7K4xSuWyZEvuRH+r7xqbGfCxA7A==","_resolved":"/tmp/06144fa66264ddad36dc8efd44551a75/usedapp-core-1.2.3-dev.ae5c262.tgz","_from":"file:usedapp-core-1.2.3-dev.ae5c262.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-RyU9wuHKKYM6eSiDntTBbYUb9caouLrgu4hL/NEmUaUC6zQfY4sjyxnmOdE7K4xSuWyZEvuRH+r7xqbGfCxA7A==","shasum":"facc74abf60e905033e3470ff7f35330880f1740","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.ae5c262.tgz","fileCount":2136,"unpackedSize":3204602,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBWdjRYwwunzSPsJZWn3rAssywPgmXNs+u77ypIrTllAiEAxE7kZMKGuuI25L3bTsaz7BSfhWWcTy3e32RiCoJAqyw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmKniACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYEQ/5AcO2aAaeDtSYUjzW8ERIl/5xuZDwq44nnjfcybXNGSVAwj5L\r\nGWCY/RBpx85Gi6597xu1/k0EBmMMtRR8Cn9Y4YQnVULvhtqVe8GoqtUA6dE4\r\niHZLlkHinT+D/kbz9fTvhQSK06jsjM2uaMf5NOOcb7lqDtI4QsGAEnsuTGYn\r\nrZWzhEumtQykuAupjQVuNZcHA6hdnt2NHyVmEQoOxTFxdvntsuXNUtrOVUfY\r\nLebwNXdO7FXai2g+mfpIQp5aszOM5vDVDGL9MZmFgUGArjGoTOgihRjpbWGR\r\nBWbFXWZJo/6UGYlgBNbWhxvbvALsdSiXQUNjAWdhzJiAB8gXWBq9DA2iuTJU\r\nXgJQTU38Hh70oPHyIfEoRIkrNmcicJPT8jpVt9V/J6MSgnGtUucxniZp50kS\r\nU/pilbyf/v4UqtShm2DhnhQI31W9XyNsxygjpTXUfxOd2ihnTOHkO3sVIjIX\r\nCtL7VE8wChcBZ32cxy4Ejd1VuN1jC9z5n4yyiWhiU471v/4euHxOkDo01u9H\r\naSI4XYaJf1lE0akalhLQMFUvwAdwdiNg9Dhcr+DAH1iZP7NxGzvyNwCJoqgZ\r\njCrxWkoQt4O9ONC1IXZ0e5QeFdmt0aKcJQ7S6LpIJdVkKsfsclc8WnXodrEv\r\nKQLiELV/nmyShhltEpTvHghQmT+Wsait0aI=\r\n=/LYE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.ae5c262_1670949346695_0.4041083307715996"},"_hasShrinkwrap":false},"1.2.3-dev.fb306f1":{"name":"@usedapp/core","version":"1.2.3-dev.fb306f1","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.fb306f1","_integrity":"sha512-XyAybIoiPqwfPdMdaKYXcCV+ZSrg6g3myLU9yTfyF3a/VTpomY/W1VqiLejbv9K5ymqFxeirdK/taqfd2yLgHQ==","_resolved":"/tmp/30586585d75dacd763706bb1a84dc8b4/usedapp-core-1.2.3-dev.fb306f1.tgz","_from":"file:usedapp-core-1.2.3-dev.fb306f1.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-XyAybIoiPqwfPdMdaKYXcCV+ZSrg6g3myLU9yTfyF3a/VTpomY/W1VqiLejbv9K5ymqFxeirdK/taqfd2yLgHQ==","shasum":"f6be129cddac776b6a8307c7a0b869399d63fa7b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.fb306f1.tgz","fileCount":2145,"unpackedSize":3213965,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFncys87T/ilmNONVzi3RXzPD1IcmzTdU3jxV2ExeZ5wIgV+HoYaJzdjghM9lGeK0oZpcvJWhYCQQjGnWeTfIESLY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmKu4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeqBAAji7Id2uYTiX4HMn6HSfZAii0PtsZlH9A6nWcICkwS1sX0c8E\r\nYNIdxkADYC2CjfNgQ3cPbw0m0Ts71JcIhfwTJXp7h1yYzU0zE3wIjarOFC5r\r\nfkhOWhTnQiSUzVo8IxDECsz8Z5PSWMt7AxCZ30LJzmRh7jLWnide4Z4fhQIc\r\noGILaAZeVz6br66DSyzNeOpeuOQA1RkeRUt91Om0f15PFuVgEW65BnVJGlmV\r\nZeGfHLTOT8mywQkaT1H5tWkRFq64JWyVD0tL7p0qgoMJhdW+q06qin7L6t5+\r\nH34jsIYcp2DWK0SSvrFhs+V5k294a8NNbVpIJcFqFI3v7qKb+79TKaxy1pcu\r\npkTqTq81LHm/DqeFiFuenD0GyTVjVIBx8lugN8wNvNe7A6RTAi7p/k+tnc2L\r\nDOH6bu0dTahcDwG+8mAoewPf9qv9q5YhAgG7jBjvoi3JYOnbh7nHXmaVJM3x\r\nNP6mcLTqKJFNfmbjjZy01sSc6x2HgvaDY6jf23ap2DmlNt8oTXkP77nopbfj\r\nDmeXUhXMYE9SI1DZHE4PDkKxFaLu+GpshfnA29niDU+STARxnPvH4mQCDw6Z\r\nyjRiqTnt41D27WMGGOXPQ14WpN8alJXwyDyeLo+Fle+FxWhgO2Ps0eGc7pgO\r\nCmcII/y6aPa2gbd0e1iO9R4ey/E4JPX5KmA=\r\n=4i35\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.fb306f1_1670949815717_0.4912275648790476"},"_hasShrinkwrap":false},"1.2.3-dev.0f96664":{"name":"@usedapp/core","version":"1.2.3-dev.0f96664","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.0f96664","_integrity":"sha512-1LYTeR0DrMTNofXqEoMet96OWz0NVS5oIoWKJbC8+MZyX6zEBkYTARAzn83DOb5cgA8eHEPkaMCblPDa1AlYNA==","_resolved":"/tmp/f43ac40b713ef6fc0ef0677d3eeef9ea/usedapp-core-1.2.3-dev.0f96664.tgz","_from":"file:usedapp-core-1.2.3-dev.0f96664.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-1LYTeR0DrMTNofXqEoMet96OWz0NVS5oIoWKJbC8+MZyX6zEBkYTARAzn83DOb5cgA8eHEPkaMCblPDa1AlYNA==","shasum":"a5785cb79c1c00a818037aa6d4646182f2bf0faf","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.0f96664.tgz","fileCount":2145,"unpackedSize":3213965,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMdeJbTe0cI7p2JXqkhuBPQTqCOdSqXeOXEQrVDf1P4wIhANfpP98g7pgr4bMZy8/N7Qd887vYd8GBFwNqBdk6PYT8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmLKLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMVg/8CrzSnfWhc8yMZrL7DSvB/N8qojLhY8VhqqMTJ9d0bwfHqKBV\r\n8DIMZCU++XTh365znum44XF8HNDm6WDt48eXjRpEsAQ3W89ud4IIbtYjwJaJ\r\nAumaZNBQBHpIY4Fm7wkVAk23mHMFZs0YKld18DXu/pWk1aaogDV+zHp7/Jeu\r\nqVwRMEOxJAu1nxMBAFuQUH7nYH7z1W1gYHimPArOxZ2MwQG05+QY8VMvnYYB\r\nrpX+loTF/BPyc5ROMcxRNox4As1SNROKpvfDKiwK1Bd0j+KxFHuIizzwbOCq\r\nta1u7WKW0kQionAY0WuW9U1l7VKWczmxEI1p1pRQbehAoIV2tASTVatuBnl9\r\nNqLLI6Y68RVSGXHZK+PToJudmElEa4EnqhPOEJPSvCpahxFApPBtozOnAOlM\r\nnot+is2oLCo6TJZtXzva7LoDaK4km/X5Y2Z0yZaPha9JI2j5v7ZHTjTQlYhv\r\n8sIIghjpD68T6Qanq8xvpCY0d/Hm5fyxpQ2flnBpI3bJIbWnMBgj5/rwPY3f\r\nIGB5b1VpUVsxfO2pQH0WTtDt+mGESQlVG1gyXgUmPrZU3u7X6rMcMNTPIiz3\r\noRU6/LmxqNA8KPTxjxCBmdtlfvNJz0jczqWmn5DycW5ppD81M6Jn73mJ+h83\r\neWci7rRbjjrjxTFbGrxLLXfCObcu0Lu+VsM=\r\n=pkY9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.0f96664_1670951563295_0.7112251839626307"},"_hasShrinkwrap":false},"1.2.3-dev.88ee055":{"name":"@usedapp/core","version":"1.2.3-dev.88ee055","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.88ee055","_integrity":"sha512-iFvyl/IwIoANbhiLZSuy5Hi1KgpbDU8er97wFGR466NvMiET36/Qurc74W86RvIu/35CRhj38YiRJ1H6a7eefw==","_resolved":"/tmp/427f896c75af417db9ebae16ae7b75a7/usedapp-core-1.2.3-dev.88ee055.tgz","_from":"file:usedapp-core-1.2.3-dev.88ee055.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-iFvyl/IwIoANbhiLZSuy5Hi1KgpbDU8er97wFGR466NvMiET36/Qurc74W86RvIu/35CRhj38YiRJ1H6a7eefw==","shasum":"02550311353b374d73340aa52d89a2b30126b0a8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.88ee055.tgz","fileCount":2163,"unpackedSize":3233677,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE9OTXrbkl1icoxEgzWuaBl4FMmrlhI1DHbWi/7Q4y8QIhAMWVZNRtyW9zqOWFmVumhzRmGydpyYxoHtowhhuhIUrn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjocGnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXnw/+ImwQGurDhGZnszdv4uUWLifglKcplU2VjOy+uF/yGXKftwxH\r\nllbFsub4hn9QJ4altB3Gy9gpdYNPlLZIPMAtiE0kKW/S+4wiDWfZg7+49VRi\r\n/6a+CKN1pr5C9DJ3X/NPaVCllFlwGxjADlKyeyJ+4tIq+osb5UNysrH3VBKZ\r\nXZIKXLOkeSw0o2NM4lgjYVwmutT2y4rV0cjG6D8IDk2EtASQe50hAOyjA6iN\r\nPhjzSsAryDNPq+52Nuppqi4215G5xpiFuMTpZStuwfxQV2EddSxVglfXsFL3\r\njexCgQP1tiVhnRTfasFsIX5D0W//U6W30ZB5Pcrg3ZYJ8M+B2t9f9ojlzhh4\r\nYG2QSf3kyMnPMCOlXMWLpmzbl3gIkEqqvDVO/r0yReLWA3YzjByfTlucThJP\r\nEGiXvmOkacKglRIieBJdA+7qcn1f9LoXVN4x0BZLZD23KzVmDi9ROmnnxvHm\r\nbvMruJdeJkaSxjpidISIgrqgR5NYVP3aOsVLUNAZaUv+tTZdxOr0ycKPzZrh\r\n/HOWblLPKfJ46Ipa9ZKb9NOddX5EP8ziUD9Q4B5K+T/bstKwSxGRAo3XvLxC\r\nB5vLz7pPJ8lY0h7IpkPDpfCzq9eeWbSsM91Vcc+U5Y07U7VZEhSACq9LGD2W\r\n/4fQhOe0mkppNp4vRMfr3VBI6o+ssG0j02E=\r\n=ZSv8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.88ee055_1671545255212_0.10663084792014987"},"_hasShrinkwrap":false},"1.2.3-dev.f3c2181":{"name":"@usedapp/core","version":"1.2.3-dev.f3c2181","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.f3c2181","_integrity":"sha512-RbxQCph7ByKnWq89sR8R0huPw0NrWrQ1qX4DLn3Tb7Y2xf9QBai934rYPlkc3/eCtWmCZkDgpCp2Y/DxDj7BFQ==","_resolved":"/tmp/af89327f8cc5c54c3e6c1d39130c06e4/usedapp-core-1.2.3-dev.f3c2181.tgz","_from":"file:usedapp-core-1.2.3-dev.f3c2181.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-RbxQCph7ByKnWq89sR8R0huPw0NrWrQ1qX4DLn3Tb7Y2xf9QBai934rYPlkc3/eCtWmCZkDgpCp2Y/DxDj7BFQ==","shasum":"adcec9dab029e1d05348d30d002832ff35396693","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.f3c2181.tgz","fileCount":2163,"unpackedSize":3233677,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAw43GdbVTajG7OKmiVLAcwP2aPUucxw0wegOJdFh9XpAiAgvaQqkMgDCgFLLMQpWXtd1sYXDLApUMKE+ieENU8Dwg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoe40ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJQA//fm0/c+3/x4iiTj1n9us5o7yqUYRK5liqcP+Uj6SGc3hnkLJ0\r\nPxdDBhh30wGlH2hxndcYFFVY31r6IhVn7gmcGpMIj4TJVh/me2uBUrKijhzW\r\nwCinG2RkAYHfhdR7JLpKB1UUIoZAvqjc7ushM0VrGgSMdDL/JzWL1KCqKkEU\r\nGd2aTL7FmeM0yjA81Vrkqv5fUN4Z94Vt5RcgmGrJo+x6W030VB1SEPrEvM2H\r\nkpLfB8oRHQoJPo3X4/HRzsFI+UWAzRip9vLA4Rfx0ldKEIYZu2jJBG/tobSh\r\n6KiDQeJ6QU03ToHuwmhUxriPBYeJkTOmNzesLxc610nVJYjqsChJ1YYfNSGs\r\npoHbwJD30j10pChAw3d/GoXSu3sO2LmTHqH/+CTNYFD2U7Xy9yRyRk4r2J9y\r\nw0tezmbEx03UdMzTrjZGaizGHrJ8IGfC5d4D6sb1PWHx8DksXU1CU1Osfgvv\r\n+cGexby7c4fkjBgBcV92HXZ5CciDqlu10/DMC62dK7LB9eN2ENSmd+ZO9SRv\r\nWLJJdqDPQEcAFy9CErFRGlmhyT1sDkhX9Wg4l/o2sZjVRcZTAv9gobnsGIRO\r\nkP0yZ3S9qVGURmxKEEtEXFhhvAwECXGnNvYxTA4hDbfrrqnsqPvv8eTIy/WU\r\nOCYC1laDSGHpudkLmd++RuRH+flWJqxl43U=\r\n=A36z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.f3c2181_1671556659892_0.5864121888234979"},"_hasShrinkwrap":false},"1.2.3-dev.9f4ba1a":{"name":"@usedapp/core","version":"1.2.3-dev.9f4ba1a","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.9f4ba1a","_integrity":"sha512-KBmpe7w8uctricrdul+vk3sYjYZVjqiLQcNNLX25x5bfPnho7CsUtKNOW9Fa377B8/Id2I4HVoyKN0+I5X4utw==","_resolved":"/tmp/dd791328415e38e7c5e33bccb4c9ae05/usedapp-core-1.2.3-dev.9f4ba1a.tgz","_from":"file:usedapp-core-1.2.3-dev.9f4ba1a.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-KBmpe7w8uctricrdul+vk3sYjYZVjqiLQcNNLX25x5bfPnho7CsUtKNOW9Fa377B8/Id2I4HVoyKN0+I5X4utw==","shasum":"094ba5decea944eac440d7e68505233bcf1a917d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.9f4ba1a.tgz","fileCount":2163,"unpackedSize":3233677,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCs0z5rtV2nH2blKmPxXUaC23/XiRBfu6zdUT7KZOzQ3gIhAMZQYpTA8s4kAWIo2DgLa1UKQ03XQAlE6fAzSQ3QTq9I"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjofGVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFzg//R3IXTqDDXUGKrbBDM6JFl+/Ae9X7Ma8V7yuqOqrSLgAA6HqC\r\n81hlbH7BBCwn4qLbqVjqxDOYulBUc7vXU5kGnaiO1dxJK3wlq1wRLLQB2JvM\r\n73NnAl5WGXORti8RumCCEwFUNYdVoU+EpVCADxfzLNmq35fWYFQllDECWOuZ\r\nw8Pv+WjJMWVVaJnnBWaj+vZydaeAhYiJ6u2ktmzpqF1I7Q0Ng+LN4w4aVjnc\r\nRw2RuNesFDc4f5+93/y6ZSYmoAGFQE6TjOZjcZojJ6GEdWyLJEZ0b2HVw5JP\r\ny/C6oGuKmoBsbaMyathM+Gt9UpQI+sFvYLmj8Oo1q5bLK2XjCtj+gJyCms5o\r\ngDO6A9oc9NsShILN2TZVewsvxYbN/WKIGnAQxKbQakiozvwb5hGh01kHdoXl\r\nWnxspZtvEVngM4pDmsv2xifzqK8XpsWTlV4TcWDcJd8B7vqmJAlI9YYRo4HZ\r\n+f6JK833cnvmndVu3I4NItpxnie8WI0XQtN8tc+qhrEkkMh6FKB5JsJaNAEC\r\niyuPLGaKC5RwfSwUdjGpYGSuU6iya6vYcDsSvnKUTB0eHnH+zpSJxb1NiTPf\r\nRvKY5urCF7vTBXWthUW4cbEqjIIchlhI2Zh9Lv9a7+sjYvFMyg375nypvpax\r\n9393g5s0Kl/9G1fwQLaMXMBuG9gdvGmZj2I=\r\n=//9L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.9f4ba1a_1671557525039_0.25262535795271224"},"_hasShrinkwrap":false},"1.2.3-dev.d51002b":{"name":"@usedapp/core","version":"1.2.3-dev.d51002b","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.d51002b","_integrity":"sha512-9Ai9PpldP00eIBaKSMOCQ7RGyeYhuRzxC4scLLxIAVYll34yc5asyh6879zE8i0mKvKZ96hxshhNKrx1wfkjyw==","_resolved":"/tmp/5708b90c2aac021efafdb19ba8ff6867/usedapp-core-1.2.3-dev.d51002b.tgz","_from":"file:usedapp-core-1.2.3-dev.d51002b.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-9Ai9PpldP00eIBaKSMOCQ7RGyeYhuRzxC4scLLxIAVYll34yc5asyh6879zE8i0mKvKZ96hxshhNKrx1wfkjyw==","shasum":"153c67d149526a4c7e8db266546bdfe1f6d96678","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.d51002b.tgz","fileCount":2163,"unpackedSize":3233677,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6/VFAWIAXTPbmPZ3Qi7C+ypRrDcxsW58NLbwvgB1hGAiEAwMEHCL6WFPYbW5uZxD33W/jcJH8RKDHDYuBOsO2A5o8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqyC4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8Vg/9EITm42itdLGQy7Pwx/bFztNrbEW8ECmTVLtFeJA9WJgwA/zE\r\noxHLsFFcApyADSb4f2rVLyxtiByMbppECW3VUKpddGUuAKA2zgoatJQ7Sn24\r\nkMHr8ddgh/SzQJgrWNrTfKbAP8IzT6zBA1/zJVC2gpN6gry9xfpsPB3uFjEF\r\nnGStOBrRSrcSy9NIMYBqPoVcyjWaTuTSKCL9gzG7IZOHWD4j8yWSbkdDuXax\r\n7Y1uDL9ltygVz2GcsruCwlCFQsnV4l42E2y3wdehOck0sw/xIqqVFDJUf1Aw\r\nICcjk02dQSbWffh9abal6KURxpgV8hGKLoCX4+FHFa0QNT7DyqyI50nDF1xv\r\nhWTyzd8Gyv2Xn4TyQvolHLm5bJohSjeDuFM7+QB+iHTZ6M2C993JNBH9rU3y\r\nmVSpdm6Zn9Pi/wdseT3nRnCsoVji9Dr3b78S5IawFHdBhCQTQljrW7Ezjrnh\r\n0vLUox+9b3hiaSPATHUS6pD/CV8KZMaeBUI1/rSi/Yusin1mvICqFMtY+HR7\r\nJ49E1WDZKxmToz1Tr/SD5UgnO9SfJHrF5OP2poILJ75nAqMj3A6Vvz6tswGe\r\n6qAyaacUQ2C7SYdNiPQc8sCsBTUDltvcbVSKj0xwBqCGq2sP5ktPCur/ZM6d\r\npcXTUFugYxr18Cau/9DGmTLmfy7yw4dUjW0=\r\n=aF28\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.d51002b_1672159416523_0.6882757838111175"},"_hasShrinkwrap":false},"1.2.3-dev.cf536a5":{"name":"@usedapp/core","version":"1.2.3-dev.cf536a5","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.cf536a5","_integrity":"sha512-dS+KBBKkCbsvq9C+ZbK/nFT4vU/8qel7qZsYuWOEi9Q/SBGK17P1c75V84ydfTy9FWxXvG3i3B6KNnsQSmWWeg==","_resolved":"/tmp/39ed19f714f2ad9b2de1f90f465c3672/usedapp-core-1.2.3-dev.cf536a5.tgz","_from":"file:usedapp-core-1.2.3-dev.cf536a5.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-dS+KBBKkCbsvq9C+ZbK/nFT4vU/8qel7qZsYuWOEi9Q/SBGK17P1c75V84ydfTy9FWxXvG3i3B6KNnsQSmWWeg==","shasum":"769c54cebeccd9445a4c317172d3b6069f74b9ae","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.cf536a5.tgz","fileCount":2163,"unpackedSize":3233677,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXrUjFxjztPUyBhZxjqI8dpP1efiJdBy6jrum+Wcr5XQIhALU+3+H247tji5jvnAu4xF9xgeAUwQ2zzW9OObP2KQr1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjts9MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBHw/7BGGBYHcWJRCVIbEf+YxxlmqlA9bzjmGJNf9L5ac1M4yq0TZ9\r\nnO9ARWA1W8HB6pYb0MhiOOYkN5R3NNf5QOlRQKHOkXhwxMu24Okd9NbkAKT0\r\nNKSLh+7MWvcmMKFCjzhpo0ERmizTlG8mtIG8whMCl2a9pMD6SFu22RMGzWfG\r\n0PlCV9dUAoi4HiBnhJakwXRaRBFvJYpyRNL0wkvM4RZgo9RbtiXbertD29k1\r\nNkKtShp4QT4LWanf2NgTfBB0ZzBnch9WXUBkVtgmSasro0G1+8S/jGzbDSt/\r\nbwtzkee1giqiT7YuuhOtHyiJd9GpRW0qoiWwheRGo7DbUqbZ1Sgc6ny5T1pH\r\nQclSwf4wc2uHuGstGmaaMtbawH3M0MJnq1pmaIc9oUTI9dR20dQp6ymSbX+b\r\nKTA3HV70Ep4YscsxFQksyxcXLI3ii9jNq01ZU9oAnzijESrl3fSEJ4BXzDKm\r\nK8qVirKPDmMef0/KI3OHQad26pG5ADxKl4U7hEoQN9FxgSUsOuDLGZlvBfNc\r\nL8NIPOSG/k4vRiJ8XkRkjvyMRZOMY00GkcXgBwP2ARHox6pTeonccm020ZS9\r\nQF0eE57TW5eG2JsrLlmqr31uNxoxyqcHfoTjYzZwreif7Ws0RIUVwG7t4KkZ\r\niFuP+35dtbvQ+uK//Z0pqF6UCD42L0aJoR8=\r\n=+ACL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.cf536a5_1672925003680_0.39933855658531736"},"_hasShrinkwrap":false},"1.2.3-dev.612a74a":{"name":"@usedapp/core","version":"1.2.3-dev.612a74a","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.612a74a","_integrity":"sha512-agJzKzMykNEsBEThrv6sjVZ7tHVQtLgx2cxwDriKKJh/fn67iO56yqewpCjzUQAMh/7vI4f2eQwP1pG56H6koA==","_resolved":"/tmp/b9f2ca2cb74ce299d7966a349e2eecd5/usedapp-core-1.2.3-dev.612a74a.tgz","_from":"file:usedapp-core-1.2.3-dev.612a74a.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-agJzKzMykNEsBEThrv6sjVZ7tHVQtLgx2cxwDriKKJh/fn67iO56yqewpCjzUQAMh/7vI4f2eQwP1pG56H6koA==","shasum":"928fcf726c4f9ca1f5f9e30e08c4acb175044e4b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.612a74a.tgz","fileCount":2163,"unpackedSize":3234267,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDOqLozSInA2nv9ULym/1dNdL2u8J/BG0ZHAG65QcJH1AiEAkByQmXvli60Gw6I/djTNVEI6wYz0NK4DsigJeW7MbTo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjttRVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYchAAnRtE9Dc09MgANqv4Qr149A3frelkJzst/iddUxhX9Fxg4fO5\r\nGlUDcl20BV9ywZOsi8S/8E9CN/pGsLHzAUndrCQ8pMog1tQblaxaY6AGXTM9\r\n4kAL8ss2rM365re+jzg4y6s6T6HQ5unw5pJ/z3cMgrwX/33UdDbWgGo8E7/t\r\n3+yHB/YLKXkrnjdjbognrpdV2tWSy+uAIaNL96P4ennythXn/zIi/zoWW6fh\r\nYAlAKt+4/9gIDlDFnaxkg5l3D6OamG/G/5x1oHfRlddIOJjXigg7l8b25ySj\r\nJJvHEJeqYxIuIu61GJfIKL1+8K/+ZNktOTS9raq9UBXUcQNsgMQ2cwfnQI8R\r\ndS2GGyVpiEXPKSmduktHOVOKxTmTdE3V8QapzU39bmK9k2+Spzpmp1XAP8XQ\r\nQNUa5LRLK3XiEQgy8tEosK7DUG753w59TRiJ4mH8J6Oq82pgFHyoZTJFbh/i\r\nnqQMJdnoXY3om7kml+cyOPF96CGsgclNqv9XgY5e4jhZnDqN6UtoAaY7zHTH\r\n+HqwUQvtV1PYKFeC2hM1sR2ikWeE1UeihDOHXlqjK8dxi3s8z9I+TYihR0pC\r\ntjTMq7rvSQD95XmqXRnUs4v2QUWC/hg5Eps6PAudBg8wDvrzAykB89oDCHwG\r\n3R+apDillEwWgzz0BdswFxpMQWQyk+MXsUo=\r\n=jams\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.612a74a_1672926293205_0.329305794656759"},"_hasShrinkwrap":false},"2.0.0-dev.d85bba3":{"name":"@usedapp/core","version":"2.0.0-dev.d85bba3","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@2.0.0-dev.d85bba3","_integrity":"sha512-Xt1Yh7yRK11Rf0trLYoXGK73WULlCaVFz1y6w00m7/tGGedHlMaI/Y3CpnWCyPJGd4s9rCU2Glb6Ko+TtTUczA==","_resolved":"/tmp/cd0e448a6dda478142ceac45cb36e497/usedapp-core-2.0.0-dev.d85bba3.tgz","_from":"file:usedapp-core-2.0.0-dev.d85bba3.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Xt1Yh7yRK11Rf0trLYoXGK73WULlCaVFz1y6w00m7/tGGedHlMaI/Y3CpnWCyPJGd4s9rCU2Glb6Ko+TtTUczA==","shasum":"7a6b80b56e6e73f54f4610342246358718491e0f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-2.0.0-dev.d85bba3.tgz","fileCount":2163,"unpackedSize":3239646,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDO8KF0YpH931XQfZDJuBWicPHsEQFBYEGiPyZsERvCvAiAkOoGMy411AzhhybbB2gKLSbapbaz7lNoCXL7+2Z6+Ig=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtux9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqU+hAAk2Q1IgL3C6LZA4qNtbxgNhP3lQ3u8lPufgT6GxIRlVHGWsfa\r\nsG9iD1EIV7wE63oXeJwFYeVUhxZGjtyMAu3JwG6RicwR/zGwpet6eqddd4j5\r\n42oUv/RoVMXnFfuSWAD3M3sLVUCkVyT0sBTO2ufPJPdQI5a94D+RsrmbKS67\r\nNtNw4lyzHGpyb9D0OAb3xxwuY+3SR+ZWsxisOKT3rI4wdwBIR4yVTVoMO0bd\r\nY/sVHDbtn8bjv/y9A0iG3SPCpZHDx8tr4gzYcn/9wlarvMgzZQV0WUG7mpWk\r\nHW+d2/N/Hv3+p4zE/ad72XUTsRXucKJDZTWSh/ZcXjLTHExgsjApBIk/MIyD\r\nlnEn32ZZK1aK5T2E9D85q7ENuZS+9BybtqUFM/2Sc79aEtALzFYD9TTEZYko\r\n2Iznl3rZBuLcU1rombrLJ0mT2X4p0uxaRB2HV4OJagXIXTeh1PPgx+hUfaAB\r\nsJsf9YqGRrFFzyagMYSGQ551SfcVUyoVf3ay3EbFLkunAVO9iMQgy9kMLRLB\r\nK9DFOFvfjhXJ3NDcMyCKGaPF1/gOayHx6JCs2TfRbEZe3z8J+naBl+0DP+1j\r\nYo1hXR7y9kH9/huIuHpcSADBJFaPiHsUrmaxe3bDIBbApAgaiU2NMq3gX3iJ\r\nOEdRzpTPxwL6ZGiHUJ4y6063aRjL0kAu3qM=\r\n=YZvu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_2.0.0-dev.d85bba3_1672932476774_0.29263785336764636"},"_hasShrinkwrap":false},"2.0.0-dev.a888801":{"name":"@usedapp/core","version":"2.0.0-dev.a888801","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@2.0.0-dev.a888801","_integrity":"sha512-0mJvleEfOXE1NybWElw16MnmBJYUnU2I2x/pUJgmA9BBLoFIx2vWyjI74ocPf1A3g9AFM+c/ZT1fyU4BvebwLg==","_resolved":"/tmp/3b95679590e3854ff9e3a35259782165/usedapp-core-2.0.0-dev.a888801.tgz","_from":"file:usedapp-core-2.0.0-dev.a888801.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-0mJvleEfOXE1NybWElw16MnmBJYUnU2I2x/pUJgmA9BBLoFIx2vWyjI74ocPf1A3g9AFM+c/ZT1fyU4BvebwLg==","shasum":"8394ce77fbbe307155ba76bbaa23350334dee8d9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-2.0.0-dev.a888801.tgz","fileCount":2163,"unpackedSize":3240350,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCY+qlpAsox0iJlQr7yeZn8OOgYZEtQqfT+b6tLG1fKuwIgQcvK2lZp9X+PrGDwknkt66Y1y+eATDnbYXLklhKcPpw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtvTvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoXBAAl90o8xZN23fzkLEmwPTefZHjazfOR9GQ44gPhCd+nzJ16mrM\r\nZCcwqEUyVoGJn3BGRy2A/G3ZIk0joJ6qtC8n1s7RoEGhwCE6A56lLyEuGj0c\r\nileKFC01OICBf90WB2PTALAPJVjOYh+hKMg4RD6fXIToEgQb7+ZwZaIJwoSB\r\nx0SWsIcwdH8nhHfq6gcDN6LNLTCIouqbirKJLGdalVd12COPSrMp23WOa5aY\r\n11QCY1YzuHqy481wCvcal6s6rhxeRgCFCdz6bYECxoyMib0V55YCC5hqBIVT\r\n20jmym7iNE9qp32M5bZDszD0+QJfNW/WjYeOPA5v3NSoPt/v08k2f5UECkr/\r\nm4vBpZNwh0JHptNdjytH4h+81eDgvRdlmY0576xzIGMG93yoAlwjMeV7H0VQ\r\nz2GiIF760nIuXCVJW1JqBFdmAhSbtaQRZDsk9YZSgHmh+Hjo6A8mZ6Q6j3Qa\r\nc16LdLbch/KTSaz1W81mUoLEpnQPhbr+UM5BJcGaZJElrAOw2cOAdTTqFHD0\r\nT01K5zRUptHU+/N6Pp/BbPnF1zIVECthQdHzxSu+0qc3mLQsX26ksH7G8g+z\r\nqATbWeYKJsWaW0DfZx+HDSK7WWzHFDuE3o1HP2sJJ7g4WpUkulIBub9RKp+i\r\nfnjYuCzBQAc+xwt/Eio+w39ZX5S3cGoka7g=\r\n=KDWe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_2.0.0-dev.a888801_1672934638989_0.08957469746685165"},"_hasShrinkwrap":false},"2.0.0-dev.bea1350":{"name":"@usedapp/core","version":"2.0.0-dev.bea1350","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@2.0.0-dev.bea1350","_integrity":"sha512-3sVz/OP07OKxNMJ67FFN5r8uLo+yrqMbPavk0fWDCG6VVCC0sENLy+qX8Ox1OlsDEOYJrvqq2brNzpNx49dK2g==","_resolved":"/tmp/cdd34b6eecf2779b4e71a36384867c0c/usedapp-core-2.0.0-dev.bea1350.tgz","_from":"file:usedapp-core-2.0.0-dev.bea1350.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3sVz/OP07OKxNMJ67FFN5r8uLo+yrqMbPavk0fWDCG6VVCC0sENLy+qX8Ox1OlsDEOYJrvqq2brNzpNx49dK2g==","shasum":"b053df2b4f3a3cbfd1cd541f3878e08c8810de94","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-2.0.0-dev.bea1350.tgz","fileCount":2163,"unpackedSize":3240111,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMk7PL6+Jm7Ht8q3Ln1xs+ly2TS6UqxND0UvrV7S7A6AiEAjKnSQ45SidS/V3RJnGYUbrl1k8bUY3j994TV+luR1A0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtxFsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp55Q/+IeIfSlsL5lp2kVAugjPW67v6kqn51wVWhwy7aZ3niIyuQb0/\r\ntptqbRR5XcdQeOjX+sW4Ei3rB9HbNa4jWKdiIAfqxjrHbD45iYY3CjdswIG1\r\nVSzbHehgvZG1XDZ6gtO7l9FTRwB1IHzWQWRvKMd0I/kjM92Dj6JRUJNeqEo+\r\n9yP/4inwwwhvxVS1C+ZONrpK8i3n9HPkQrjzl8tqtNMIHWiQuTdiFR7jZYPT\r\nIoHyhJAmKUT0PxXZqf1Y3CDK3hy9YFNnvDUBTaThCB+tfy9qYNURXPr4X5zO\r\n0Nl+6j5AsJtmr8keVaLvC0W7ALvvVnsH0TpjI9D/mspiuySgAzpGu+IoeO/w\r\n1AVFdNmS0vtWMBcPpZH7X75QTr2qQInIVu1yW4IPH2LGoJUUfAQZJCt7lpUe\r\nqHNOYpykp8aItXDMFljXHOLFKHevlffzyZhG8jE1JLLW9dTgHjoQ4L+/qVFW\r\n6c5EIo4H1PSMUipDjWZ0wwUC/k9+KXP4AiC6z6rZVOIFspMaqw29sDHphvC5\r\nf1SMLNC6n+hh0yIvsjA31Sokz6zEeG5p43KawurEBhrNsizRV9YtXQQjgrkE\r\nUhgac26f2WkDKXZoEBE31KX9KhgsRqZYwjHU93Wn7tZqc0iNDoVbXK/VM/vM\r\nL89tTvb0vihgq39HdwK7OrfXc9d8VGyfXgM=\r\n=DuC8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_2.0.0-dev.bea1350_1672941931922_0.6470228014142387"},"_hasShrinkwrap":false},"2.0.0-dev.843ba5e":{"name":"@usedapp/core","version":"2.0.0-dev.843ba5e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@2.0.0-dev.843ba5e","_integrity":"sha512-1tPVC7/DF88REbVKmwdnIIeKr/OW1QjQsxEJXbwT4/fx6PIPequtCxjf1SFOrildcxGbb0cdbiujXhFav7NF2Q==","_resolved":"/tmp/54923cf4856877b6e9dddf6fdc1942b5/usedapp-core-2.0.0-dev.843ba5e.tgz","_from":"file:usedapp-core-2.0.0-dev.843ba5e.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-1tPVC7/DF88REbVKmwdnIIeKr/OW1QjQsxEJXbwT4/fx6PIPequtCxjf1SFOrildcxGbb0cdbiujXhFav7NF2Q==","shasum":"a8aa1b9aa42e54201196d879f3d6f96dc8b6b327","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-2.0.0-dev.843ba5e.tgz","fileCount":2163,"unpackedSize":3242710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFchQQetE6x2g+YqX2WtoR040xbtCNWIqX60agz9oTFgAiEA7K78S7Ftc0X3X/qhzmjzKettAdDOw3gudZkNN274p7o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvDLEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoB7w/7ByVmW6T2FeVtyUDxgYsLkyKh87jg1BKje+tLx1CGbmLpiIG9\r\nPy5RFtwl33CTHX544PYRBzTXsSM4cAa2Kqm2lzIcAZev8py22zWpIe7B0dsD\r\nO+u7gq84/W8JzHTL4s+xPdvTSrkpqKVR2P/G39ZisVuPW6cbiO1EixME2Omo\r\nHLu2y2hLC6sEFalvx68EC+Z0aP0APWH9jDJhAl7nKq2SNXR59Eo4H6qr2lM5\r\n0Ie3BztUejh/5Idg6NX76rLZBTR0ARMkaCYeCVqATKhLqOEdVJYJOKAQsM8u\r\nYeFqZ0xGvPp6+qM7wYViMTqBrJcZWZnkoR/LwVe6U5bu+FGa4mfXoTSUpqlg\r\nz5EDqhYyMt+ZJzWawooIXg9qyE0tgaWJhmgSR/Md3CY56gAGQQZdwn7d0xE+\r\n1Nu/KBRCqP/RniR4eQCKZPuECWMf/u4Y5JqRlctIdjBCjUSd8oarw3jJk2er\r\nRFFHZ4Tsp2U0yy9AVIkGpKq+ySphoxUE7Dml9z/Kx74s8PJdzlSE3P4BHeic\r\nmeA3sMCCyuhmZWxUoghKjQ8ZtnRfMS7r2JE1X7P1tUzC7Ny5FuVBYyCgQuhT\r\nUclf9ftEgyuM0PwLCE9u0znassbuBicb+D3eXhGkeTlSsiLc5V7rgmx6SE5q\r\nVRrG1II/rVCn0i+oxJN1nN90HBZXke6YDPQ=\r\n=8FCW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_2.0.0-dev.843ba5e_1673278147590_0.4180070259834703"},"_hasShrinkwrap":false},"1.2.3-dev.f8e8c62":{"name":"@usedapp/core","version":"1.2.3-dev.f8e8c62","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.f8e8c62","_integrity":"sha512-Fp3RHBcpAuFSY2JinpsQfCNYYJy+VLF3LOgXg4iU3LuVIqCg143QYshEwuCIHIs44IDrqEx6KyFOlWY/U42jyA==","_resolved":"/tmp/0155e56f0e663030b895e58de22b1794/usedapp-core-1.2.3-dev.f8e8c62.tgz","_from":"file:usedapp-core-1.2.3-dev.f8e8c62.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Fp3RHBcpAuFSY2JinpsQfCNYYJy+VLF3LOgXg4iU3LuVIqCg143QYshEwuCIHIs44IDrqEx6KyFOlWY/U42jyA==","shasum":"75ee5712fdd0b3f8c82ece7ef751a76491517a36","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.f8e8c62.tgz","fileCount":2163,"unpackedSize":3242710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJt/QfwEYrR8AZol2ysFgwFIiwz2nvLjSNKgdozgLfxAiBnDHl+d5WlwXki1pDWV0JfDO4JP5J4CHQU5KY9bmXXBg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvDrqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcBQ/+JzSVrNaJCUWa21jdc/OgnPhgUWXV9t0tZZQ5kXmFVKsO+8Ix\r\nRRLo3V8LSavEKEsWWxOccX7J+2u3O6mWN0iGzo3c6efF9xTjOl+mpVqVDCYV\r\n7MWfmEzyIX6oFjGPVwGAmV6Qksbd8EWW46qVeuCJdToS/WaB8JS+vQVLVL1N\r\nGtaBXNBtsERXhn0U0+kJTXAZcR26b6nMOwt3gEGWq30c8EwovATkFQN1WfCY\r\n/khogiBxbRUT6OD2CH2Mkc56nRzB9pBNp1gYCZ8N2vNRuHGm779Znnn+PIzA\r\ncAJHoElK6NRNoHF25ULkpZ+6P7yUc1Szo37wdfHPCqUJOQX+0ayX1qSx7Q2U\r\ne8PSJMviQx9JZknHBFhEgBW10s0OKE3NkY9HYcGhNXn5e2OhdZwZTJT3Hs1k\r\nQZoYYqNJ99rZYMIGOlCSNrNO/5zsLcV6aw9Tiv8dxxDWyJZ4K//2bFwkYQCq\r\njy1WYoJMvUEpG/2dxU6bm6edles8vKcePP0cPtaVgSETxgDfiR9GuZTE5t1e\r\nqp1dIk/NcnI5fo7ZMSDteOkwPcrEXzDX28YXSBkfdSsz8EIQBQ5NLJejjY4t\r\nAwxPY0VL8JZSMmUt+b5XnHuydwrU2HXpUsoq+rvHOtt+nmlBmRfqBuM0rHO6\r\nEUxcQNVWCqV35ZulCZYa4fuIoBILoPjp1WU=\r\n=zRVh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.f8e8c62_1673280234192_0.7437418227306416"},"_hasShrinkwrap":false},"1.2.3-dev.20a3c13":{"name":"@usedapp/core","version":"1.2.3-dev.20a3c13","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.20a3c13","_integrity":"sha512-FB3xHdijrM9vtOwPQiVMELAjJnBaSPd/CCp8v/bAzLBI0lvYqPxAmdP0vOx4EerqHpr9YsWql9E6pzdH94XIGg==","_resolved":"/tmp/1dcf63f439c448e8a476660e1314729e/usedapp-core-1.2.3-dev.20a3c13.tgz","_from":"file:usedapp-core-1.2.3-dev.20a3c13.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-FB3xHdijrM9vtOwPQiVMELAjJnBaSPd/CCp8v/bAzLBI0lvYqPxAmdP0vOx4EerqHpr9YsWql9E6pzdH94XIGg==","shasum":"7e9bc07244235bfcc7061d3ce9c86c786feff3e0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.20a3c13.tgz","fileCount":2163,"unpackedSize":3241825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2jInXG54IhQWJUjRm9G/dHD2wkfoklQT800d5Zz2p9AIhAOxPbR8X9s+AEjvFl0c+Ukveq7Cg8Jk7yzO+KsD8gpU5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvWy9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmou5g/7BwaQoM+WgMNGzG4bONUn0z3zgrYmjE9OeyAJ69v7crCexocP\r\nVi2Ym0SWcQXWItO0EX1lVP0lbNqouJypJLhIER0uBumN9DEnuLXhr4PpFknq\r\nusUXeTruO7u4dCQBj09sXLo9eW43TdRluXbF3R0ldM1CbQMJW8tyKZF4l+5G\r\nEPJHSt96a8E5JfXZlOomjkSEEZuz9Ftj6/PqnoLOyH1GFLFQCzNSOHmk2ysW\r\nTt14b4r7g9M/KL4FzCUQZ3AghUVB/HVNbrccyr2VncUz6/918dOm95jFapMC\r\nzlheplNXg2PufMmW9KIYL4f5bfNkZ9uduq9isvfslDjJe8Iw0c7gPzlsgsdX\r\nO1OORqZTZoSynGT4pZB7RCjIVOmyp9tDwIO/nh1hosCPzV+ks8PavQh/xJlR\r\naYXf+M+ZFZCM9VQIv9m6IYnajmgKpPTKUoNsFthDFmS22pJ5C804+ZCVh5ll\r\nBhmbXtEPQuxaeqN+fttm2e8CVH2u/+IuSIZVaLv4XbSibYdYr6ZitKDs7gt2\r\nH25cd1AkS1HQ6y2s53ciJ6mgFIMJDlBOvr9ihfGP8iplp1bf7C2TSnLcGMAE\r\nrVyufQuhsEGf+jUNiT7RzdQvXiejjqE/BfI+oHhweMeTjQb569kdqxa9stxS\r\n6lXTKgW0MilYPfdEJvwkuorWB9/qxL1vFvw=\r\n=10bZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.20a3c13_1673358524907_0.7205295954645095"},"_hasShrinkwrap":false},"1.2.3-dev.7d99076":{"name":"@usedapp/core","version":"1.2.3-dev.7d99076","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.7d99076","_integrity":"sha512-Z3qH+rrAqoEY/UZXwsM2BEm/EDtZyBRQn9O6FfIhjkpYgkZV+fXxtMO5u6tHguaCIUV6XcJI5z/PvSpC0nm6Cw==","_resolved":"/tmp/54d86089bb94eb6a3e7bec2a7053bc76/usedapp-core-1.2.3-dev.7d99076.tgz","_from":"file:usedapp-core-1.2.3-dev.7d99076.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Z3qH+rrAqoEY/UZXwsM2BEm/EDtZyBRQn9O6FfIhjkpYgkZV+fXxtMO5u6tHguaCIUV6XcJI5z/PvSpC0nm6Cw==","shasum":"38a0aa7be02f54c8dd6137ddb475fe3f70860fbf","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.7d99076.tgz","fileCount":2163,"unpackedSize":3239952,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqwGLZz8r2tSx9/VSw+iNqcCflqFfvVd2/DbIE4Cp/dwIhAPfpgGUU/IU68VLgIaffbAIa5jkhoaH6BQdhC6ij3aIe"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvoZnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIpg//R6ukS7LEL4WyhPhKf6+EDhJ2ccwaSFS+mRAUHNIALkqndUxS\r\ncwBqUbghk4OZBFm9sz1qLD6rIlKXPNeJkHG74nuli3YsRn3pgir+rOcdsOh0\r\n79fa5raUUnPA0SijavG7V0UUKfjgnChFrDAHjnb7hYWAio7UMIJIpS/dhd1R\r\nBdn42Sz5CGxsdA8KWbWyc/cKwKGXz4Q8WZDrvS5cFvGs22USiexmlmAcagQ5\r\nmYv2E6Jnm/zpPTKuPR1RnPlmDHzP1Ja3qzqRmslI5TlQLBQSeEwbwqxYaZwp\r\ntaM+qjnnCjk06ParLPMMQYdxh1hQvjsbBFINGmiC2VaXkPdUX3C47uVZ8h92\r\nJusbQkMeb51t5bDdUJM3Zl0mvq06gMb+BsRvF3dMc9spduwmiWV39t4KVWfm\r\nDXJFiCE9QTt/zHXYKAr+A1FnOvxMAr9uzdIrbVjQL3S6JknGh3yf2RXROIUx\r\n4WMtuu6T0iIy2uVm28OXtLTzozPYuCo8sPQDTKKUBlm0WznZVy9ZxUBYpw7y\r\ndo+NBEMzD82sh0z9teFR5CDur7yRR7KgyMTnM6JcKcfXXty0jBcIJFyxqfth\r\nFukzOkzP9sDN3ZOXdKLdubaGEGLc4oHYPM1cMJF9OXs1iBnJXHnEI8G5K73i\r\nrYBvxN9VlgmlFRszSFBv7b5DJcUHZAyIf+I=\r\n=Fs3i\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.7d99076_1673430630708_0.9042908533453511"},"_hasShrinkwrap":false},"1.2.3-dev.24808c9":{"name":"@usedapp/core","version":"1.2.3-dev.24808c9","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.24808c9","_integrity":"sha512-AkXYh0UgvXE0LPGZqlHjWltLbyDxDJAvSvDm4VZ03bfKfhNzUbB7ViVUTILZeN9L11c1lGr5h+Hk53EY04SfWg==","_resolved":"/tmp/9903308fc86d8a5cdce1da7d52e079f3/usedapp-core-1.2.3-dev.24808c9.tgz","_from":"file:usedapp-core-1.2.3-dev.24808c9.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-AkXYh0UgvXE0LPGZqlHjWltLbyDxDJAvSvDm4VZ03bfKfhNzUbB7ViVUTILZeN9L11c1lGr5h+Hk53EY04SfWg==","shasum":"7afaaacc9ab8d6375ddd3b5dd136f2b11d430962","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.24808c9.tgz","fileCount":2163,"unpackedSize":3243550,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4tE7W+vgzVBX0rMLBIbgBnoNtGmABh++eqUQMj/SItAiEA9zD+37l281b4loMxVM5BxDXg87QTo6oa1yOJI/X/oi0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvsVlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmor6xAAld9ojKA7RFnQl6QIH9V0DXGwCR7TcR6bFCQ29d4LNf2gYIN+\r\nr0MU4sb9n53JG2wlppSVcfRiysZzDqZbcZdQfwwNgdLmKkhjZQ5j12xGsrPy\r\nD6q49OnyVBmDENaTS+EtoP1NrBIvdbPteEMGI1kfN/kNTeSRcO816XOvj1f0\r\n/B8Pr54BKFJ4n4eM6fZUA4Rm+5WimSu7sZ4EPvOnx6R5Q78RX1tyBhEPoZq7\r\n9h1OVHL0iveRWSiWO6UarTInpLMsl5/Uj5RjmXXWnboYQztJMkKY9rc+1HRn\r\nkvouqJEl8yyJ1nc93kk06YzGmtzrRXPUbn/ylCd3yYFREG+h7VkAa7IKgRE3\r\nyQioj01DdYCmJJscQqMQogfnH20NzHoL8zfPfkeVlHNZEEaabQAv2caDF3EY\r\nQVNy5kuisvSXQbQYro6QKIdCMw1iQTcuLqve+0SDkx+4jTX5Oe4Q/C4gVwvA\r\nIOzp+PQmFFeavDY5SUCOS0wg2WNdSGdNEDXGvsT3IqcAXWvijb8fOQ//OZsI\r\npeffzMgQf9OUoIh4qfvfBgVcOJdY6m6LBY1tp0df0GYu/YHCdFmpuZzQj9Ds\r\n16MsLyrV02swGl1D0ft21YRgO0opyRRrcT1eIS5mPFbXQcdvY2+8J8Ws7T2z\r\ny5gpHLI34J8eU5EvGu/JISwm3iCvM2N5n8w=\r\n=mzi9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.24808c9_1673446757152_0.9706659625425385"},"_hasShrinkwrap":false},"1.2.3-dev.239da7e":{"name":"@usedapp/core","version":"1.2.3-dev.239da7e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.239da7e","_integrity":"sha512-wYWQIMloG44UyF073GvHw/l3ki1Qc7RXnKWpWCR9R+3zfEBW1IzzsWrwOjqdD901LXj6BcZAF5N77BZrZ1VOhg==","_resolved":"/tmp/a5c5b5f6dad0fe0c0bb8ce179bbdbe69/usedapp-core-1.2.3-dev.239da7e.tgz","_from":"file:usedapp-core-1.2.3-dev.239da7e.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-wYWQIMloG44UyF073GvHw/l3ki1Qc7RXnKWpWCR9R+3zfEBW1IzzsWrwOjqdD901LXj6BcZAF5N77BZrZ1VOhg==","shasum":"aa2e52651c4ecf410513278562c4656579aec1a5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.239da7e.tgz","fileCount":2172,"unpackedSize":3249612,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdNi/9mvfASFuNWJ3lHGCv6wPaWcQlFYx+ulkuNVC9qAiBKuF+EoUq+Bta13LVvJdlJPFg1WYweBdyVyxiyIPpETg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvt2wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSGw/+PPJxqx6+SbZBJvL5BFwRb+WRf4gJ0sYtYTwa05FScaRXF/I4\r\n/4YnhqnXLDXJSeQmc4wHKW+B0an+Y2aYXSsWtzluj/DN82J5PqvGtft9n5Wq\r\nPLv8SDqJ5y+5H74xG3R3AIpqzmCH+sIP0wYfZLe25yuahD2K+i59OEubvrGw\r\nqgLxyXrG3YbsAc+fgI4rD8mtxlYLyPKUuG6jmkZZvh4EKrcKZ4Ml9oXCOGm2\r\nB1NLzhH0fYfhrkPN5W+LfjeVXu/vanpm9125mWLIqJ6CbswdQoGZSJERDqB6\r\nSxsv2GWzSHVKQPZeK0F3OD7nea9S6EUjzbaiAQa5tJoBhhBUPQdIpmpQcEW/\r\ngCS1MfUse0CmMQw8soqWunlIXgA7RH5G1vWpUsnzMdRivdsdeLjsYHCyRfXF\r\n3QUFWvhzrRFIlhvPepGAaUTpun8joJG38LI7BztWuLqzNkF1i3i6no7fmHSI\r\nimOPlBvzORSIErPYuyUL6sLvmCzrGztJASfrEJ3wK3o2BxuQnqOUXypeW8iQ\r\nps2ZwP8VquSceEEPZfrKTbyMVO9xpm7QlDs8bgt6O8KunJYRmdooBcwJSZ25\r\nF5uwnSLIRgDK7t0nFpXJWIbXZTtH+h0FiMGGKyTTUWl4VyOelQM1Tl3Qy3aa\r\nnxI0sF+Tqc2PSFT+Jli13mbcIxBlt8IExAg=\r\n=gClf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.239da7e_1673452976187_0.9805876935782636"},"_hasShrinkwrap":false},"1.2.3-dev.57f5fc2":{"name":"@usedapp/core","version":"1.2.3-dev.57f5fc2","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.57f5fc2","_integrity":"sha512-4VaVhVPYb0RiDpBaaG7PpA64ZPyGogqF00HTWHNyC1u9TqpOVefr+JmvMjTz/q+fs2SjWRFnMerj76PHfZpVqQ==","_resolved":"/tmp/dee20b3239e732b4bbe1ab1b7bd74d18/usedapp-core-1.2.3-dev.57f5fc2.tgz","_from":"file:usedapp-core-1.2.3-dev.57f5fc2.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-4VaVhVPYb0RiDpBaaG7PpA64ZPyGogqF00HTWHNyC1u9TqpOVefr+JmvMjTz/q+fs2SjWRFnMerj76PHfZpVqQ==","shasum":"cfa3fcd9af58d3d8f36aef164147ca52071a6236","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.57f5fc2.tgz","fileCount":2172,"unpackedSize":3249612,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWKlQ8fgWee1jMX1GvwVkcYhHZwWxCldk8jjdyyGQd9QIhAPdTcDEph3I56QJHDYa+Mw3u9QmejU6GKEN+sIjwu88E"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv/p2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmohjw/+P4fDaymsQTZ2k0V8eXKQqu75hU+5ubVh2O2z0Vkh6qcty1yK\r\nUg35K5T2AKF7hw7i0cLRbp4BteULm/OcR0wlbapPRmCop2+FN00x/3TVS/0w\r\nWwL0oIK+mWS1rbp5E505AF4nPMX0z8nMVd4kPewwCVVLZLRGHGWXlloR0n0b\r\nuWFpbTUs/AhXW3Nv0xIxLd9c3p+RKIopNXzGQwPxafS4Vj5/k4kBuPHH1XqC\r\nJNGTuxhJLT3qnkNDmw/iZYis/taQ4qMlkuIW+A8yY+VIaCO6KlwuTtanp+ff\r\n6ieOn0qFmJsoeVv8aPSYw1jMLEqDjue2/XrybQDxEjArCFPBnrBwXBAFnNkr\r\n56uD6dLIeSBdeC4IrxFjTRI4KaBSEldmONYuvj43j0u5V6LQQ9Cp15ZHE7+G\r\n7KwxZtcuudGPNnJEKULTBxHQ/n/FmEY5U/j7WZEiCSBuUxZXNko5ehWXrRNT\r\n71Ba8epjxXmT8bhJ5UFljvOXXhd3hSCQmXulzuvlhRDuU3kH00rG8yrJQlN5\r\nchCchQVp6MaoHpodGMxZWTYRWt56n0IYZXaD6k19wZJWIViJ3+KHske+eF3Q\r\n4UDkto5inQ/ioTpEY3Zmfcyevr2GaOtO3rXS2lfVVURgBCjwhnm409RAALGh\r\nex9w260gmeXhUBN6iQ/JAEQIEfucA11TnnM=\r\n=1p4Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.57f5fc2_1673525878349_0.1834858718497938"},"_hasShrinkwrap":false},"1.2.3-dev.788f229":{"name":"@usedapp/core","version":"1.2.3-dev.788f229","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.788f229","_integrity":"sha512-M9EOUJf7F4CQQRIaHDEt0xu1hpkFiN5ezpocC8UsGdx31PPRbrSE34BcPfJyIDB9Qs/l+rqJgQ5wd34Mkt3+FA==","_resolved":"/tmp/a5a2477ea18b99fb44b17a184c8159df/usedapp-core-1.2.3-dev.788f229.tgz","_from":"file:usedapp-core-1.2.3-dev.788f229.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-M9EOUJf7F4CQQRIaHDEt0xu1hpkFiN5ezpocC8UsGdx31PPRbrSE34BcPfJyIDB9Qs/l+rqJgQ5wd34Mkt3+FA==","shasum":"df8f31fb424e3132f6b3e1ba96a90dfe14bc8925","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.788f229.tgz","fileCount":2181,"unpackedSize":3256867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNaGJsBd0NLVMMLl3oU5J3v4ki5N8VcJHodTzoO58wOgIgNOUkTyZMlPTWOdt4aVqpIR9y4L/eTWNnnDuvIGKQ8fQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv/zCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohQA//ZWdwhJA3fpt8+IQ0zaI4Ip9UPy4OD4YnVc/ixv1Vz3tMk47+\r\nGqGno+jczjADd+hi5TL9/H4yOrOzUQ/TCtZxdIZlI/EaiiiOjgVOkFH/lG6l\r\n5hfd2vQl+sskJ2oG4nUIog4NaF85NmYZ5dsu0dc//PAp05cIWSAn9ySTS0JK\r\nfOKdv2r5s3P80Y7NRub3BGvBhvHxho5/LLAvRTHjUhF7OC+fR2fKHQoXSG+U\r\niisYT6OcSvS4WHxeTMLAhThZXAhvZlywqn5T4RNtgH4QsHPig2oN/PX1MR7v\r\n2yrFiCtv8X/5vo3DiUmeeEKNzgGZn9YrsSUPaFGXX44yR/pAu87c/ZoT+QsM\r\nW8s8NQGa2G8GzSB+vXyWhpY6uqKGvaqei4Q6OPCseynZUga4SsphsE2ch2mp\r\nXCUxy8rVsU1cClLixKuYyy5Us9jsl1XH3gBt9rFe6a3JDmulhbVshXcGGP69\r\ncPVvdQGvl49Q5G8VO4Dn3z4mCxHifUtgEBrFHwGSrQwDRda4FYnYZC9h6+VF\r\nvD7xcuNxh3eLeCa2VQSqJrgwiq43m4OkjFdQqCeq6rfHPtXXvWcjPHDhITNT\r\n8iAz67jN1NVCNpMKEtfW0sRsD7Q2wXv3YDotAm4cv/SjvDLfiT+A0md4BQ6t\r\nPjn4Y/jjcJy+hEq+F3vjaRXkdpxjcg6C1rQ=\r\n=bkiO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.788f229_1673526465795_0.8305673065130788"},"_hasShrinkwrap":false},"1.2.3-dev.c486104":{"name":"@usedapp/core","version":"1.2.3-dev.c486104","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.c486104","_integrity":"sha512-3x2P+ybT2MNbbkJAFJe8fZjTMpNoH5CPm/i22o8D6GPrMQgtU7AABFvFyzI4hVgJeFQURNFGtfbvLJ8NBuIdLw==","_resolved":"/tmp/6f000669fbcd996db66e5b9f7b9c61da/usedapp-core-1.2.3-dev.c486104.tgz","_from":"file:usedapp-core-1.2.3-dev.c486104.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3x2P+ybT2MNbbkJAFJe8fZjTMpNoH5CPm/i22o8D6GPrMQgtU7AABFvFyzI4hVgJeFQURNFGtfbvLJ8NBuIdLw==","shasum":"b78a1d86a91b14112c063a87984fc60828ad344a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.c486104.tgz","fileCount":2181,"unpackedSize":3256867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGhi4/3QiwiE/RnFphh0ZRPiYGhgWdnh1zNOqMGeYnKuAiEAt5PJG4h6mGrJL7ekZOX078QSV0CLZONYND92ugIGgDw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwAMhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqfA//cv3PnEXIvnJRvd6+/4KAEKb/16483d+/p/+EgLjGQwe/D5pj\r\nkL9q04E/IeM7iCzpoKP6NqhmbBDttqMfJKqKOZaygKScXDf6Et3MnXALe7aI\r\npusLBI97K7KnkAKE3jaQeKBEiwMtTGntxtBu8fQiFbeFMOySJJ2/sVDexyUY\r\n1NRoTJwkCUc5u5ufDMmbAjLoEvwbusrVmJPCl+mYDIDZp2AQkUBsFRewOnDW\r\n9Oc396Iuuoml2yCMvCf/8Lx+KZAbcP84UFnX1vQblbpaSd0JDgfLpy73o79u\r\ncPP4Hw8uhrb8TG0mRU+SM/yC+7Xkb1BsxsAGPx9gvxGGhZhUVpP079pRxGXY\r\n2TJJinVepbq1sKRUwA68wQrdmUa5hXn61JhAjKWij/ZuAAaDcDoPo2JgpN77\r\n1pgA1fLC/9zFRtc5A2PUFZ0zBfa+TsAUnFL63bYJR+j5OpG/bcM9eP89YnFA\r\ndGSipSNu+va/Fh9r/ahkrwmuEL31j3oMAXaHMj+uiuaMbMYd2HGFqAL6IJZ+\r\n/WrkrGK9B+SKBm7BZa0xGwq0coDx1w5ozq5qIIsbXhMGu5jGwG7laajqEgqE\r\nmQxctrjbscPAw9lPPJmCVXVV/Ss6ivsz7uf1RPUZupXHQhZyiOZdXYf3+Phn\r\n1QGX6x+TXeAOU2E8Ugz/Awa0oR6E7sO284g=\r\n=jXs4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.c486104_1673528097455_0.978247312509257"},"_hasShrinkwrap":false},"1.2.3-dev.88695af":{"name":"@usedapp/core","version":"1.2.3-dev.88695af","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.88695af","_integrity":"sha512-/nqf/59Gc5MR5BLzEXgCcZPZuYO8FUvUlPTarTEE0dMXkEywlZPZFztmtXlc02SzoMuaa0pe8FOZRsRgiMe3/g==","_resolved":"/tmp/efb80c223089ee46332098dff5822d26/usedapp-core-1.2.3-dev.88695af.tgz","_from":"file:usedapp-core-1.2.3-dev.88695af.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-/nqf/59Gc5MR5BLzEXgCcZPZuYO8FUvUlPTarTEE0dMXkEywlZPZFztmtXlc02SzoMuaa0pe8FOZRsRgiMe3/g==","shasum":"a15e1257b53cf1ca70eddaaeb55e51d9eb520214","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.88695af.tgz","fileCount":2181,"unpackedSize":3264282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCojCjeFPGS4F5l9tSK8xbhAm/ap1rD3PrX/NFRtAtFBwIhAL6ZHUbgtI/Ix1asz1LbDCfY4TrgnOOi55uNM9piyJm/"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwEFlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrcfw//cTLH0LSJ7y2h04j4BBhLXs+exWUoLdMscc8JTbnI93AsooSl\r\nalCLnkjduzZueE4AaItnq22YLGTZWkOIpbr9QJx1RePglkXtFxjz8XgWBWnk\r\n1/mRr3J8qJx2i7kiZf1pLzPe/CVmMbYaHWs/9d297sognOPXgc5k9/gvwsj2\r\nAHVQqXOI+OK1YtOATTGX0/TpZc6s9d5+BdxYgS1Mm/lOqXhfLTIB3xogVt2H\r\nqyE1Vb6Pb5ngZdfzgbOYCuQTL6n2Q9/Fa1caiHTspWQYJhSFVy4NrirDXhDB\r\nCKn2S9xd18IAyCdbzwPIP6K8WILutDQDwxK+7hKRHjOQaXYWuO9Txm3e5ych\r\nOhnIodFnwR3BMFqQkGorZuvx4r9FXxaPXRPSc3SMH8HA5XT3appdqxwaTeqE\r\n7xqljBC96r4pa5LhJRx6cfCFTfUKh6BIqSQpjJvIkSi2ZoKf5RdNXNA5ZSQI\r\nOBlj+YVTjwN5zSQNG1D4Jex9D8NO4j2EPbMMj8XIegwEoExhc8qX3PXrfLtH\r\nWVjGkMrZtAlJWcIkq87jgIreqpbVELtgz/bZ0RWFHfJ+URk1hwUWAYnhpvGm\r\nIkUGEj9bAw2CSPV5m1s+pYliLaFEbu9/g0If6A+sjYVLy3eUBqmJnkwTexdk\r\nJeXm9UkQSUYiucYoKlxTbqZLqgYxLGwg7Dg=\r\n=ES0G\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.88695af_1673544037267_0.8116758028718782"},"_hasShrinkwrap":false},"1.2.3-dev.51dfa65":{"name":"@usedapp/core","version":"1.2.3-dev.51dfa65","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.51dfa65","_integrity":"sha512-1AEXH+oEmC1SpJTB005zWxnByWM0ufYG6hNGyTqtmX/rFsH4Doswbm0u3WneSKk/cMobQgD4wa9tCSZR7KWBtg==","_resolved":"/tmp/16b95cca8b426ba7d539d89c5374d0fc/usedapp-core-1.2.3-dev.51dfa65.tgz","_from":"file:usedapp-core-1.2.3-dev.51dfa65.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-1AEXH+oEmC1SpJTB005zWxnByWM0ufYG6hNGyTqtmX/rFsH4Doswbm0u3WneSKk/cMobQgD4wa9tCSZR7KWBtg==","shasum":"e5c9ddbf72347b1c45234c6d0132235ead9ec302","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.51dfa65.tgz","fileCount":2181,"unpackedSize":3265871,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBxsnuSrzLASEs08BymWs6eyeDYRiRwo/DejfDZWCFNwIhAMbS3x+4qAh8eZ92CeRJ04dxOrTuA+57fzE6yHtNp1zP"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxUg+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr02w//UM00suIudr4JywBGtpfFX46WZHWgMc8lXLYysRFS5PCHctdd\r\nHIeM1kYn4vB8spJnQgJHb9irN/k6kTZMKd5I8QxNWSehfwkg8lgY6PbTtA0r\r\n/HCKGT7c4nZ5GFwCxEfG43UHzK4FY9MlypIkjsoNLTlzBnkVEqLz6Ab+zG62\r\nbmawqEMxl/t5UsJOCVXvGjYkUeb8nRluwqJ8racvfQ3bTpwNqHyt5T8tSI45\r\nKI7I9QsU4NdEqpVctzluCaroSHpi86ohX2CjXsjIKEJhyIMyzvSuSOGdjgVB\r\n6ESInOBfe7/ma0a+B0Jg5NLAX6xwOiXjG18H/FM72C/LiMFxlJr+WjY439/X\r\nAvjqjFLwnwwpK96Ltv8Tkvj3rmdt2+tVI6e5hK1uWBBT9+5JE/3aB4wol7W4\r\nGuhhcwP8IadQl3PPRRYJFteWtUCAPz0tg+gn++c4tZDpBYlyF7i2r39euCSU\r\nzwSPyBO/QwF1jxxT2ROfpgA6tWMge2n9XoGGDIqPgCIfpJMWdtlK5TjGF0Tj\r\n4YfyivsdttXiz28tz5JbJKlkIFl/kO3VQk/Kq2W6SyaE7LVv+aevrmfnuWy8\r\n6i7mEJLV/h0sjXrKTSv2eWaze8TIIXg83VzZPwMUwZ52gCERaaJGcRfZapcS\r\nCKf+vkM6E5ImcvZU9uHm5KKFc4iYxz3aPw0=\r\n=VC1h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.51dfa65_1673873470362_0.6477164335988388"},"_hasShrinkwrap":false},"1.2.3-dev.d248864":{"name":"@usedapp/core","version":"1.2.3-dev.d248864","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^1.2.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.d248864","_integrity":"sha512-hlaLuERJ0p34g4cPmQDnC8AOQTFXEa+AsMTu8Uwj1WwpMPPUJdv9Xb9H5hBGuJkG+PAQTAv44VdfQ0LDJXb02w==","_resolved":"/tmp/1b121acbe98d8962c2d370cc3b08cdb8/usedapp-core-1.2.3-dev.d248864.tgz","_from":"file:usedapp-core-1.2.3-dev.d248864.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-hlaLuERJ0p34g4cPmQDnC8AOQTFXEa+AsMTu8Uwj1WwpMPPUJdv9Xb9H5hBGuJkG+PAQTAv44VdfQ0LDJXb02w==","shasum":"e87fac9ac43ed005f25c04dcceeaf78fbebd8161","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.d248864.tgz","fileCount":2181,"unpackedSize":3266213,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOFYQwZq3CSS/oVVN8br3qceAIBxxX3hy0dog1JPC+tgIgLDk61lKftnkV2Sx0mSywmXNqGW00v1EebYsON9rfzDw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxV0HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/fg//ZFMEHKNM1u+9nGWJkb+WP9e5j/S/m1B8ce8Q6KU3dOYj7idk\r\nUE5OkUssNxdu/JczNPPg26C9jwo6EWtWsePt2InVEJjFuk+/1fpc5I1UTIyR\r\n/c5dk8/ONJaKwhtc9jfjZKxWIHU/Wlt1caRk//W+VwCkmDlJV1/vlL3CZ9p7\r\nw5HkXOU6+PshYXsyBHE69g01YwIDFwG2Uwbm8LVghCOQUrAAtxGHrW1z+24x\r\nfcHaqKbT4pP3TWgwObhAXyCH4HhUBfLDcm+A1kSMsSEne/gBDETj4COmRoBd\r\ndFE0JnObxKyo3R3CgNC0OzruqzCH7iYAlER5l/2AEiV9B1jJfjkDw4CbcbrR\r\n/yMOf3+fH4IivH/5JfnmJmGdoPWYQ2NnI29jurPTRL7GJs20sCC24ub+V282\r\nas5cpqdTxtTxAeCfvm42cjVMWa3Ruej7Ad+DCX0o0vxozQP/fqkMyZphMyIP\r\nNZ4rpHStHV7FXe4R1RfK+9+5fR5Fv7sNUE+hbSGBH1/zFHtZ+hzmfImZiMNT\r\noRG0f2xOZAr+kxRbROV/paeJeMUpIBv9U/sPA9tH8oa88K5x53aOxqyv1xOe\r\nITyHRYT8yooQ7LEuQBQHmIJkr+4AfNoVDvGJXaYhzEM1l+08sWRhKlK5TQe+\r\nsAO6zxQvs0IB0ybhQzIhns4SZ9bXIyEH9Lk=\r\n=HG2j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.d248864_1673878791209_0.6580561703769825"},"_hasShrinkwrap":false},"1.2.3-dev.6f723be":{"name":"@usedapp/core","version":"1.2.3-dev.6f723be","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.6f723be","_integrity":"sha512-Bt1VwF2VPxhL1vZwTXjOi39/aAoQaQ7CrsbM+lceh0AVxOMwv3sgzjRDclkqX2aIGZudr0eezZCBaKRGXaNxmw==","_resolved":"/tmp/d005ad322c8ce873bcc0f3f25dca8ccc/usedapp-core-1.2.3-dev.6f723be.tgz","_from":"file:usedapp-core-1.2.3-dev.6f723be.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-Bt1VwF2VPxhL1vZwTXjOi39/aAoQaQ7CrsbM+lceh0AVxOMwv3sgzjRDclkqX2aIGZudr0eezZCBaKRGXaNxmw==","shasum":"49824aca58643d86cdc44037646a5e4fece06d67","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.6f723be.tgz","fileCount":2181,"unpackedSize":3266241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCBc2SWMA9xX70dF49Z4VAgdcdmxTKYOhfXnNt8B2RkAIhAKGWsGP1TAOORiw9F0cpSc4Qx2BtO+h/8Lo/+QfImipm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxYF7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdZA/+L2FKSJWf+wR92oNOFNauReYY0QSlfTYMbdXGrx739hpPPjf6\r\nv7rYhb3zapOnf6BJX2/+zRajZ5a3esp/SX10mr4hF306JnXKK+X8V0UUdCEe\r\nwEAcvvqm2sxzQRMnUOWfVTRz4pa/wG2yJH4jRfyBx9hR/dXVW6ty01rEd7kU\r\nlm9TFEqryTbF/BWFL3ISPby/kG7hPwJQZ3L0fySH1IxZldYFIbVRguhB4ka+\r\nii4TP6eHdqvdXcDo5Aj4crGx2/CB+EM4L02CZ46nw1GH/hxJA1KpQGeUlTJU\r\nTa3iXxNT/XFBy3/qaAXqwQEyM/UWdI6FvnXmRDz0I7Jfpbs0Zi7mWKhYT8vX\r\nsHoKW8qwWfe+7oPOpjl28W6tyhhZ2miTMHkWY1wR6XK/NFzMn20PqXyK8hQP\r\nPrJpu2ULaYsDC9Bw7a1NUKfMFqrbbP+N8LNHTJKlWPrAZtX8cWcEj1xxE0h3\r\nLJ/4x3whZhiZfzV6f3EFc99JtebwWcv9mTsaHT3NV77EMWr05r1197NmdftA\r\nGeyARiWfunFnrphzVs7QXJllurFalhn0+CIugAfzhWv95RaKuukiWxHpi/qr\r\n0odAn/uDYFKH12WCPlUJA9MWAjDy2+9PWuCXSCcxbX+qS1S3M27rD1oh365y\r\n2/lLw0idg1Otb46cvtny6o2CAv7SHOLIeEk=\r\n=AbvO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.6f723be_1673888123089_0.673099748897571"},"_hasShrinkwrap":false},"1.2.3-dev.d65c573":{"name":"@usedapp/core","version":"1.2.3-dev.d65c573","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.d65c573","_integrity":"sha512-RPama+xJl2b/95IJUgXZZOrrf8GYFkqoEHx03E9N56bAldnyrddtLoiHRzEUH5ZdtrAIfNfmlkgMcQo2PaKkXA==","_resolved":"/tmp/5ad0c422a6b6ef37a017e130a764d697/usedapp-core-1.2.3-dev.d65c573.tgz","_from":"file:usedapp-core-1.2.3-dev.d65c573.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-RPama+xJl2b/95IJUgXZZOrrf8GYFkqoEHx03E9N56bAldnyrddtLoiHRzEUH5ZdtrAIfNfmlkgMcQo2PaKkXA==","shasum":"97fadc82c7ecdf5e0c3c83a552b341f9696886b5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.d65c573.tgz","fileCount":2190,"unpackedSize":3271051,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2MLScb4k/yRsDS6eOPZ3HQimutXFrGsjHWaNEspFk8AIhAMmvipO52VhBV9mAio1pD+0tQ2M5sMTuxOgkzaIafnWH"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjysACACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpSQ//R3HkfN+zp8UhnsZLeXQ5BLn/sez1MPOZxLNa/CEx9hx7lAwA\r\n/7Sd5MAQhJOCkBx/Ei+hldw5Hb9hjsLCb+3A7t3bLRWXQDGUI1JgEw+B6I+t\r\nTZitqWaSA7OChb0YzOZ4cv79cS8tojXqUKFel9wup0K8M1aIT8lQdOxJdt3K\r\neEwwfVs7/7gVyahZs5rmjMRtCZSpLIX2W1bUKt6PaLpBMaKFrtOkAyrq4R4P\r\nyMlTb0+dCEHa17mHiuJCOTg2vIpCeGbhIX40fPAJ6RJe7diXoexuQMXiR2s4\r\nvhTPFVCvvXB6en9VBlAOUGWtsM5c1DW+ISp9MqaKcCtcVjSKugfwCK9Zlg4t\r\neMm+9GxZxrcFqPxCpVOrFP2oDXM5ewSkMukqyO0XQlqa3jFlPqKA/34qmd/V\r\nmEYShmDI7dnsmT7TES+nAmEWUJpuMiemCpg3/DioCDBvYCaZGMUC7M/cMvsf\r\n8UEM/P2tNKhIagK3GcDOuSUSw4ORzZhSytoou8s4DoJSdvjd8LYz/wailFBc\r\niAl4IVSxWYTtrpM0AXgx5Kmvk0qDj/uhRyH7ssVSkyGFE5yi1sLAl7F/Zfc8\r\nrlEddf1aeuFEjgZGUJ2Fshu8qHXB74PIE6R4x0IrmBPInNINwOUBGGjer+Qn\r\nUa+Y1E5i2f/qjmX3XCWw6FzzKMXsYm0Rvcs=\r\n=DYf6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.d65c573_1674231810556_0.9116223281802567"},"_hasShrinkwrap":false},"1.2.3-dev.befd268":{"name":"@usedapp/core","version":"1.2.3-dev.befd268","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.befd268","_integrity":"sha512-hUMO4QUnLd6Wzwt+6eZh/8IuXaStCIJHBatC+Yp3qsiab4xZF+BMmiVrjDhiZIolmdKr+fzZMP1NgTIwNMYVaQ==","_resolved":"/tmp/59fe79158218f5e6f1c3c4187a55382a/usedapp-core-1.2.3-dev.befd268.tgz","_from":"file:usedapp-core-1.2.3-dev.befd268.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-hUMO4QUnLd6Wzwt+6eZh/8IuXaStCIJHBatC+Yp3qsiab4xZF+BMmiVrjDhiZIolmdKr+fzZMP1NgTIwNMYVaQ==","shasum":"5024d7e96ad4546a6d7fe27f3ae1a5477d6ccdbd","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.befd268.tgz","fileCount":2190,"unpackedSize":3279031,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8A/fT7Chx5LEguk7pC2g5pGuMLBazBLe5QNFf63sa8QIgf41XlfUsw517kcyiDXmdWQj09BAKbVe9Xf5WdK+4d8o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzti0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrjjw//RZQT12D8d1q97kxaCW/NwsUFw1ZVsqst0xMihkYXe6bo8M8f\r\nDKVlGCoxs4vC6XqZ60CS0mdfme8v//yxUOCboUmw6oNOC/JmOovnrN3Tx94f\r\nc7RvAGTFo6AdYEi9urfXSN1ZjUdtOZ5usuEOTDsnxjy1dfT25V5MZGehJ8Bm\r\n1eiqKJvB57KvDzJNbZDW1zzN7OjcoZS1xBVpDCjHFD/cvSUUPfAoQv/ZH7V5\r\n7eSu7i1db5021FT0HpYKfa+ErmOZkKBpaxJ0WEQon+TbkG5iavKvkevOCzsY\r\nE/tDEOXhLtTuj/ymj9D7OrkXfTwBKrk4oOdXTofvDdsASzlqtSsadNmrw7K5\r\nXg4XxHAFanO7f+AHaqKk/L5QvpAP4EjLA/yQa469wRWL+7LWWc4D68MVTwuc\r\nxmGAytvQxJBFbyAhh84pyafTvgwDhGzVnRzaqlHnoJszHB3PmbRlnlkQSqJI\r\nSc2Jxvm2r9PMORySafImQV+I8MhzLh6GOYVXJVnPL1m/SOLwuUD+W4yX4oIj\r\nYXaF7i4mad6j/kzjxhGx7ZesaV+kD/9QrJwZ7qEeQMVIo3wyMEY+7KIDCyBn\r\na69jHVc+FgpCJ+t+ktljaChCG7z/0vPjAB5NArEvFEA1je9gvPYQin83LbKy\r\nc/mbXY1LxYiQb6Jtg3pp2H1NSPFOKpgWClY=\r\n=U4mG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.befd268_1674500276324_0.4828828610824847"},"_hasShrinkwrap":false},"1.2.3-dev.cca166f":{"name":"@usedapp/core","version":"1.2.3-dev.cca166f","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.cca166f","_integrity":"sha512-h3pE1R7E/BOHiRXlPpA5OZACYKsBB1jYeRy2XkIHl2Lp0fiV8T6kaWz769mrnbhPW7y70kO3uPwUufKarWvsYw==","_resolved":"/tmp/2214176438c980161cd505a5c4158c55/usedapp-core-1.2.3-dev.cca166f.tgz","_from":"file:usedapp-core-1.2.3-dev.cca166f.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-h3pE1R7E/BOHiRXlPpA5OZACYKsBB1jYeRy2XkIHl2Lp0fiV8T6kaWz769mrnbhPW7y70kO3uPwUufKarWvsYw==","shasum":"4f4cae283fb865d796083418e183a11347951c9b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.cca166f.tgz","fileCount":2199,"unpackedSize":3288112,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQfpUJLBLcgUs35yjaKPaoZk6EFfQ8mj+xF732CXqNSwIhALJ+P/oHLE5wv4XjCYX72VA19ebLfHjM6PloU5/60Beg"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0TQmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzhA//TdG+khaZmMFNMvMKsw/AFV7dYfsb9oevTznnoLk9X4nO+bhR\r\ndJIuLCo6ljXFnTeCpGuxKFWZC6l7MaHRzX2MNTT+cidLhxok/qFLckbZRXSU\r\n3z+cS/lZuj+3CgVTHO/HxKuEbUOPiZgZayal/qLof/74IptllExLOBaaJssR\r\nKb74qMwEXQjHnLvjdZhxOnWtyOGtwBuwYcYvmXT0YVv0VjC0ihE+ixqXQA2L\r\nCnrZ8bUaUd5jBSjDA8hqdVBpNtFRvdoOTPJZxdZOXnkEHw7kOP3ZbfXlyAWq\r\nYHsIz0YHGKT+hi6HsUBGgWHIeSgG14Tz6Iaxd0UNQ4ESSesDcxIRpLxmQb4T\r\n04wC+GMDzFwy86eftwm8zO/bYXPMhEUNHjgIowrB0UiU9e69q5i8rNjHx0Y1\r\ns/W9d9TOtaZpUkMHQx5c29SL9Pv0sapDF4vSdR2yjWEhee+uSK1jFTGO8+Vw\r\nEJYWUZ9LHaVVym8RfovS3YTHNHbJiDkPDTiCZM0TyPZYLyt4ftm9xtI14uZi\r\nrkjbVNLHVlSf+v6cbWFvzfvXH6CTfwI26O8Gjhfv+erpHz0l0sBrSEAQBO47\r\nfiIjc2i6cuSQI2nIScHsy+0SfjJNSjzmsCVfUYA/X2/3RDs9TAf3J/7uewrH\r\nuTHES2g8dqt91slSN1lSDSuQsqjwtwcAHFc=\r\n=KqWM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.cca166f_1674654758396_0.09804941791835997"},"_hasShrinkwrap":false},"1.2.3-dev.62ba1dc":{"name":"@usedapp/core","version":"1.2.3-dev.62ba1dc","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.62ba1dc","_integrity":"sha512-mJUB9PaqqPS6eaLMku9LCTr64fWfs+1zEKmUJwr7wVwTrLzGXFEAI8fCuCk11nux8HgZc++cu99klB2oxfWzbg==","_resolved":"/tmp/d9072eae384019df3aba780b679407a2/usedapp-core-1.2.3-dev.62ba1dc.tgz","_from":"file:usedapp-core-1.2.3-dev.62ba1dc.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-mJUB9PaqqPS6eaLMku9LCTr64fWfs+1zEKmUJwr7wVwTrLzGXFEAI8fCuCk11nux8HgZc++cu99klB2oxfWzbg==","shasum":"58cf33e2facb56e33fc988c0a2b9d8415db1b7b0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.62ba1dc.tgz","fileCount":2199,"unpackedSize":3288112,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGoAq+/U7lgk7RFGjXndH0ke9fQH+6cymaNGjq4N8k/4AiBtAd27XGvnEObo2JnBoU+orllb3IyXzpl5JQIM4yPNVA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2RLGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcyA//dOaXkvdkAEdPnxRaxw/b5isfQY8IXaYVOYC2wBq0P9JpVvlK\r\ngljNgV7EK/6mUnMhcFVGaMJ5embe/NBo26dUyTllkjpXB4RL51L30Y2i1rTb\r\nIEuvZ7NGT1Z13EIl+QEPWqiB7g1ocOfeHzK0zJh3VBpCS+//kLvVu8fC5lnb\r\nj5Sr7gdDlQzk+413fkOjxk1W3tUJ4qMfkJ40+ZF+3A0Ky6iaDa2Cy21m7p9k\r\ni/bgue3ZHq7Fpct4j3gUKNIq0O/xA1CBKy0QED524jlMGfB4OAZwYbsklndX\r\nVI8ZKZiuw4wOKjvIr2ngKYZqUTBCundi3v2tyMGAvPH1FbpmZQqXvpWepO+V\r\nkPTrl39Bp2AObXUqwN4kReDDcbRBEAHdeXVF2rNLVBEmvZHmCyYQSFEUmzAM\r\nMUMoiyP2M8YrUei9bgT9PskKZNbk2MWFpJU2m1DaZ8megkRqTEuf3n8GGnbG\r\n3JwJYLERcd8VMaO1Jv2TX4pSkATwdhtfRw76m40xDFifP9u8cPFyNRKzEaIE\r\n6xTTXPQes+MjDsxmhPnGlC9F7mesPx1k3R0xTBDF1rk1Lo1YRi2p7+Y1pkDi\r\njPftwhMz12qnx3V6inbxUrdoDJRAkXAQG6+j3kqf1m/ZqUTBcT80kQs0w7zC\r\nHx5P/lD77Lha1S4qwkCzKoHLhqHyVHfyjEQ=\r\n=Ld2v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.62ba1dc_1675170502270_0.5834538049387374"},"_hasShrinkwrap":false},"1.2.3-dev.7d51c1c":{"name":"@usedapp/core","version":"1.2.3-dev.7d51c1c","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.7d51c1c","_integrity":"sha512-kOhj19ZdGFAoD3T6fHCuPw2cTRVX/n3uybMrKtvy0kZNlzsVK+/2NZk+yKyHK4GaDW+x7oExor5OnSLoYgzfkw==","_resolved":"/tmp/dde8d8a0c0457d26740f2ecad1ba4506/usedapp-core-1.2.3-dev.7d51c1c.tgz","_from":"file:usedapp-core-1.2.3-dev.7d51c1c.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-kOhj19ZdGFAoD3T6fHCuPw2cTRVX/n3uybMrKtvy0kZNlzsVK+/2NZk+yKyHK4GaDW+x7oExor5OnSLoYgzfkw==","shasum":"8e02f2869e090befa78377795c903dc5d7460fe7","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.7d51c1c.tgz","fileCount":2199,"unpackedSize":3286435,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJQEbQgsokBcpElx2YY5YyzvfR2cEiJLJqcdndO50sUAiAF47c9p/EHQbNfTKrEP1mneqOHBzbg0waQQvhR+cS61Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2RdbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNlQ/9EUUMPLswi3CcRN7z39DreiUkCSYgQxsJdAc/K3MnUKO5lRll\r\ntsWp119an+u3WAjzMlA+9i30ayToURzCYJaTerIX6kkX3SQ9UK9xRwprUVpD\r\nGPGqh9pngFc68TIVJe5NMKU6uMA2mEpKNq1LjTQr0dvmokk1PbTxZ5ybC/Af\r\nnGvHmpje6j5ljZ8fo1QNQtTHG/VnqIBOxlIV4Uc9Ksq5G/vy5bTY/UuyKyMb\r\n3WOIb72ygBex68X9aS98SKoZ5os+T6wWIbzLym/rc8ew5Di1VRIVKMAJw17+\r\nC5Ef2stlbcMAG3d0wwVMAhi35pM8G0gGC8grI44w0GHvUSmnWymo+OzcLlJh\r\nYJ35qYHQyXVxawLz328YfvBcKJmGje2jTBE1/eXqGbS2CWq4tVPZqrXvlzsw\r\nCov/x9Ge7d8b62FtMr9DJT6FGwb97ZPveuCwTfcuCMrh3riqeEc1dcK/sewH\r\nY6WRVJiSEEGTJwqIM6vAaN1wZhsdu1E9QIY7I3z+Xnm1NAEx37HqQNLvEUvo\r\nMTPnISgpjCu19v7QaCBsbwk9b5y/ZSiSA1QhtPGu4z8b0nTn1U1svqGLEK9c\r\nNadOAa21/L3SaqREuUnlJN7TKUEaaEeqgeAOQxZTFYr+lQyBigvAbDsY114l\r\nEE6btK5utB9ds0aRJLUAMQXJEFcdeTxHTRQ=\r\n=3ylQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.7d51c1c_1675171674907_0.9719463550464993"},"_hasShrinkwrap":false},"1.2.3-dev.402d4ab":{"name":"@usedapp/core","version":"1.2.3-dev.402d4ab","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.402d4ab","_integrity":"sha512-6bDLQscC5ZCdOBaTGpelo2WgmiuIndDIRuJ5VKmkLlm0zCvxVFuu7C4IQEgH/o3Ba9SYAugcCFh2HT558HDFUA==","_resolved":"/tmp/8b13bef52d9c5c1c26ee8605a7699d75/usedapp-core-1.2.3-dev.402d4ab.tgz","_from":"file:usedapp-core-1.2.3-dev.402d4ab.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-6bDLQscC5ZCdOBaTGpelo2WgmiuIndDIRuJ5VKmkLlm0zCvxVFuu7C4IQEgH/o3Ba9SYAugcCFh2HT558HDFUA==","shasum":"78d71f5cf7a14a8fc9eb61e97f95da5ee98182f7","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.402d4ab.tgz","fileCount":2199,"unpackedSize":3286423,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjw0rI89dS+W1YYCFyUCHRPA/2FJtEoeKThj1ID47bMAiArbwTd4sV5WWWJsscDTTfSSfGp34DPkwWnnjYWEhSLzQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2YlNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1tg/+NlXbHbeUE27un4o9NQOrOBEPPgr5s5wOiUjsGlxI58ig1TRZ\r\nJ4EGyWSXtas/EyWyZx+ch6aGN93iRpcpk/s77/CsUEOIetqQ0GI30X4w8ozU\r\ngSZM/yWXyS4hglak5VdPtHd7f4dv4IXAQL7iDS70V3CNoEOUkHNI9CwuDEtd\r\nv/BcYCeC5QX/ayFZclAPFhbkteCEiCW7O1rRfW7sWDCkIJEvfMem1pCaAO4x\r\n6awi816Sqku0hm+/WgCwRYGcWcGzjIwyx53l/UkqIoyJodzUhywdZa8GJ/O9\r\nNLO3ALUwxKXxalKZqVssNZ9y7eGE/zwrurAVaCAYTN74t1mqvT6S9nkGOhE1\r\n/CQrpWV6AWfcDnGHXE+WqjW4x24Eug0rvtUcu206Vp+IFEZ10YY5G5B4ylC+\r\nh7KMjUuY6y2WqRSF4MK/xfCswv4cWIgCYVAPW3Is6BHqJKaYFfxjuRd2hlIs\r\nfMozaYhxqvf037P3UVj2S2XTcnjQPDHPby58+cqQjanzTCGWj4stMt0ZfdvI\r\nm99ODSJtj7q4x0CE35USPskLuXExODc5uP6vGy/RTAFN57nYUJQpdg5EypdM\r\nmGlHLA0tAaqfAEZWGtRnLTBncT6Hb0nTzMvkTXXhAxDYoF0u63mVa517Mh+n\r\naapwkewuuWcvcuA9YVogviwlOfnk9fdKeVQ=\r\n=/z6W\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.402d4ab_1675200845400_0.8702016605250771"},"_hasShrinkwrap":false},"1.2.3-dev.8cbbb28":{"name":"@usedapp/core","version":"1.2.3-dev.8cbbb28","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.8cbbb28","_integrity":"sha512-uckINqKVbQopQ1XGvDLZPw7SMbtOQ5eJiG9tSC96YXiCz5JyPu8Cuw112DR/BSaDtG/GeALrp6wrI9zt/l7uPA==","_resolved":"/tmp/918578ccb317bec08bb30f0edfa2cbb9/usedapp-core-1.2.3-dev.8cbbb28.tgz","_from":"file:usedapp-core-1.2.3-dev.8cbbb28.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-uckINqKVbQopQ1XGvDLZPw7SMbtOQ5eJiG9tSC96YXiCz5JyPu8Cuw112DR/BSaDtG/GeALrp6wrI9zt/l7uPA==","shasum":"1c6c438494b69483b3c2858724de1377c8707a7a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.8cbbb28.tgz","fileCount":2208,"unpackedSize":3295248,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTmBT7SLtioErNgjxGSUi3T8s3DXJnaK/5TWwPZtB6YgIhAPV6Zlt/OrybuOwKBlRaE0JIzH7rQIDxfy1H1IpYuwZ4"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4SHSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpo6g//cbDXYkGtculN3QiGEDszflsAuRod/20czQr1o3tFMJeuTXNA\r\nBZGkyM+Jesx6fgCsmnx/3XCzlMpa+HAAPxnU2UG3bXeWpCqjeCCPirtRJqTB\r\nnNwUmmag0srtezhfvFO6hQn7DNjcBLn9ZallSO6opfvSAzNNxssQ8dRDvrAS\r\nkqSJKaL4IPLLOCUIkG8P+eOccna3QsjP6iZIyuxUJJxK0EkCwp5feFRxKx+o\r\nDAds7kpYie8CmoIPvknJUrlPpNK6fsWyvSOmevbizGBPsPGR3EASrZbuFLaz\r\nff1njrBh5bOWGaM+w/15bxGMxZcQ4AUxnCAsf/K0f4xhzw94WYkZPRxfsucZ\r\nQDeO3LVHgvAaPPy4MKR0PC9XKtEJ4uEz5KhcvVL1SUUpHOr9RcVGb3S/92sE\r\nxM8d3U9juMDsSHGU7jB9zm3DwWc0cOgWcv7vymPEq13fLONQrkvXwzoU8XlX\r\ndHhqYS80RRdk/1O6uAUuf5oHOYMngv6fqfHw/phbTUt2PeMnTacd5Ke6W15J\r\nWZFSaGB2DmGDfYtnT55C2i4yz245jTOC+zgpZptRkbY2oGpCJJphehLMQgo8\r\nzd//ICptO1JWMuYof/eToBgrhCPJ8DQ1xif/53SnGh9X0xtxRUY6jdtQj5Xz\r\nK7PStR5WHNXcUNEcl5FcdaFMa6Q18YwN9Qg=\r\n=djGk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.8cbbb28_1675698641661_0.6993098511030826"},"_hasShrinkwrap":false},"1.2.3-dev.c4a5340":{"name":"@usedapp/core","version":"1.2.3-dev.c4a5340","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.c4a5340","_integrity":"sha512-X2R8To+rQj8FhNdgxNLvRxWxdqzJ4WmOWzbqu0ocCMzuF2DMaEAxGK0+X8rW/G3503otA2xYkjOK5V7sw5pkjQ==","_resolved":"/tmp/fba277fcbc41539bdbca47b7b3e1eaa6/usedapp-core-1.2.3-dev.c4a5340.tgz","_from":"file:usedapp-core-1.2.3-dev.c4a5340.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-X2R8To+rQj8FhNdgxNLvRxWxdqzJ4WmOWzbqu0ocCMzuF2DMaEAxGK0+X8rW/G3503otA2xYkjOK5V7sw5pkjQ==","shasum":"50658d96500aa5b53fede80a514a36bbaa24f65b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.c4a5340.tgz","fileCount":2208,"unpackedSize":3298985,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCI7eeggOPFxo9XHOCDwG/KlKt0PYsYE3jpGF3seKWHsAIhANv+ArHFJNJITQ+6AR69bffBlAsS8ymKbKD1GpOG3noe"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4TOWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrK1Q//UVxd04N9FKj/1sQIAyeftT2+vWDTR6dYCQS/AL2ZeslnRxfK\r\nOLZ6rDiEA5zMXuG6+Hxs/dUZ3VtCXc28NzvSSnjNgmHn/C+2e4U4pcGwLmO6\r\naEPAy2/duvUy62J2c3ovonXkrQWXp6xmYd83IJ58Zya69wxsmfX6O/4ZMkkU\r\nFkSpF2QivCgBwfSro6P0vxrxzlbPXaRPGjcHyfPsxmIeNayk0A7zZ/B3mKmk\r\ntp7101uUo/2Igf08sPVSvgyU5eqzcqFi7vlzDA1D5BJGLFDOlxHmnbFIivrU\r\n2IaoQmGunHFsA7JNPm7eACDYI0yVYFoQbbcZDBSKJdkhBMoggC+fXkVAZWwM\r\nHKe4FbdZstITg/74unvNwUyK3hJKtx6P4hv/43GpgL6SqMKmFujfxmdc8Zep\r\nrzdYeNMQg3xhw2e8ABzDQeRkF9vaKAZtCm6eteo70RzyPsnl4BZFrqFYqv9H\r\n/cihGhTuz/ozIJohdlo2Ni0G3ZsIfsMfH2JGpwpN3SGQRcm+WYJhkrJ4kyc+\r\naWPJCUjrvebJWr5Mf/z3SslL1wM+9I+wDpQCdcaSKWXNQNWiSNaxj0A8rGXq\r\nc7W4Ag+Wfu9W4ilqJAnxd3dFr0j+8B8bjzRgDOYZ0yMM7jy9VzI5crjYO+XG\r\nC0Avtdh84eyw6cHpJfVL9GAKDLNPk9LVpV8=\r\n=10ek\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.c4a5340_1675703189689_0.8003635915885114"},"_hasShrinkwrap":false},"1.2.3-dev.374944e":{"name":"@usedapp/core","version":"1.2.3-dev.374944e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.374944e","_integrity":"sha512-YVUcp7oLptwz+kWnfo46+6VRmwGnESUdSCL4CyMXV8skHoWi/Ia1EVzTYzMTyybA/6c69UI2rd1JPv7zLljBkw==","_resolved":"/tmp/83098c1b24d416aa03dc807a6f0a9cbc/usedapp-core-1.2.3-dev.374944e.tgz","_from":"file:usedapp-core-1.2.3-dev.374944e.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-YVUcp7oLptwz+kWnfo46+6VRmwGnESUdSCL4CyMXV8skHoWi/Ia1EVzTYzMTyybA/6c69UI2rd1JPv7zLljBkw==","shasum":"f7be02b4e47bc8d9b77a86a230ffe1783926fd09","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.374944e.tgz","fileCount":2208,"unpackedSize":3300221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQZTvPfp1LcPVx7tekjXFk3IrlIMfrD99NMCZuSOoNGQIgL1OePMxETwPU0Acv1v/5ymzwFVkWZpM9q01VUSh20Ig="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj48WsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqC+g/+Lz0SqjZM//RNOvFs7D14WWJgpWlDFNy2ff3QYWSopxqjcqIP\r\nDsE0YSKOJ4odo9L8Xe8zLSbE8/ZtO//nUHqh95aH8Y0BvqygAhadxPPqa3HT\r\nlbc+WPVT5RPRMKQ5RRpK1rRC40HcR7LmZRioUOBS9OBRi4Cv5F439QkHjO21\r\ncnCYLVcqSfrtUR0lEEYshnONPA6CjyuWVx+pltn73zjlyhlR6KfovpBTwjeE\r\nLydrJce30sSJEu+Ov/HHzvYJXZx49qr0Wr3XVVqfPI/kQxheOXak7BQntyvV\r\nCo6Io/LxQEG9ohWyonFTft12DUTOLzTNtV9U09YQLJId9eHIuHJALJKqvwY3\r\nQN6g4PRjGIFQ0u1P4ClBsJ2M8WwuS8p9bI7UZVV1zvPwiwQNfCNPROrzOdyT\r\n6jpduMr6AWnfQBBA9EAwZOcCCSqf3pj+NwTduWXmmV0bBD02W7zHXXeA50tp\r\neWDQyCPfu227tXSe5PRa3A+dz1zL68W9q4Yr3/gHHJYtIn9kLRYvuO4z/+H1\r\nTsQs4wokxhfvreoMBjSIKYzTC2n2yTDUgZbFdsjO+qUQa2TwlUS7PUeOmBRq\r\nEQ2TTBtRi8xOWsToQcrKPv8drZ+m6RC69x91lYWBlWPrjBA9WiDC/UdPC23f\r\nvVM94z5haGxMluEQPxvVLGUobALXSpivVUU=\r\n=5MhA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.374944e_1675871659833_0.43284774123905767"},"_hasShrinkwrap":false},"1.2.3-dev.dc1e084":{"name":"@usedapp/core","version":"1.2.3-dev.dc1e084","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.dc1e084","_integrity":"sha512-SzpIt+PhPb9MPFgoujI3XPrKZTC3nDtT/kKOLqp02lgkhyp82b+dLnUjW1vHhP3M7jmMqUIEACjhgPCNNg0myg==","_resolved":"/tmp/8c8cd4a63ec1761bebdfc394b21f1ee3/usedapp-core-1.2.3-dev.dc1e084.tgz","_from":"file:usedapp-core-1.2.3-dev.dc1e084.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-SzpIt+PhPb9MPFgoujI3XPrKZTC3nDtT/kKOLqp02lgkhyp82b+dLnUjW1vHhP3M7jmMqUIEACjhgPCNNg0myg==","shasum":"092cee5145ae43f8e142c39422f4537bca0bf93e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.dc1e084.tgz","fileCount":2208,"unpackedSize":3300221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/9ByZoHvGK0XDtv9/gMD0n2/Rn1YmwmsyRH8rwjtpYAiBJGmcmYVuS8ieKD7FhqVRo4+cf9zRa9AsCAD4Bcwll5w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5inKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppahAAmromA7wDEExocOi/GRci7qkbprNLqAbjZL5ogKVGydO48G1x\r\n92WV9EHx/kHKS5swSzu+gLcG48NP8bZlM0WYch9yT+w9p9OE/Jx+H+t/kLpP\r\nhjhxzaXl/c2z+kzy3mrU6H7+B/Zm/87h7cw9LuuBn0gcAq97qOuQpOGjAd1M\r\nirOb0Og/NgQ7kaebHDTA2j5g2q1OAhGomNWVKWMQEk/OOKbYG8HK6MHAruCJ\r\nvPK69TJZlTSaWz+zUaPXX4+GTMeyB6XBFkFBF5u/bUMKes7YvRDPRo/pTDIj\r\n2xaUhAAgfSOitDPEPt5YTqgnn/LumGR4W34ST6z+x87Pw3BIhMMGzjEPqW8h\r\nLhD+uYMSF655n/dbVH8VYvzA1HVFG3ESYfa/JSqIE0wtloRMKFs9+IZzRjdu\r\na4Ya5IWitO6Fvhb3/ctNOyhrwumRztTefE44k1iNApohzArTQuZzJ/vsX9fo\r\nwcLDcPUlBdalHugUsjfMyZfto2kfk6qKWaJ7F7pyV6s2iUTO/hpyCTjzHNvx\r\nwZTypIM8rRa/opPaOn7uTUoFjwiYdx/CyDrg7fhoX09ucRaPLBMB9QbEihkY\r\n0iJ/so3ZN2GWCKoi2zcl5OMa4CgtIbkaR4yZLh+Hgcv4rLO/9EWeSxAzPABL\r\nYhUWnpyUKvZnWTvbojauFUSlrju+lzVKUEM=\r\n=nrqD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.dc1e084_1676028362043_0.2845519938859373"},"_hasShrinkwrap":false},"1.2.3-dev.309f607":{"name":"@usedapp/core","version":"1.2.3-dev.309f607","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.309f607","_integrity":"sha512-If6iDF7gHwROfv94wT/QzNyytHw0pyG08NJ6PDuSbC/czNZePIy14CZxoxhuU/Wr2VQfF+MufThT1/RPgYlxeQ==","_resolved":"/tmp/25f9a5420bc543704f44e6f4b9bb4206/usedapp-core-1.2.3-dev.309f607.tgz","_from":"file:usedapp-core-1.2.3-dev.309f607.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-If6iDF7gHwROfv94wT/QzNyytHw0pyG08NJ6PDuSbC/czNZePIy14CZxoxhuU/Wr2VQfF+MufThT1/RPgYlxeQ==","shasum":"46d46230c36b0adb192fea904b9ac7a9fb32452d","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.309f607.tgz","fileCount":2208,"unpackedSize":3300221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcoy79jKxKBF5KM8ilZidWm9GPY7hwhaqmMmrITRgmsQIhANewWecnEwaHjahHNgPH10miGjfz8q5SWGtPaCzOmXmw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6h5JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJmxAAnTBGna34lJj+zDCrV0ZBbin96mhFIIM5frW/rhy+bemPyvw4\r\nP50fzEnJL0DD7sP0jPfBXwkTx/MpZ9kHwN8qBNqY0cz2cuB3q6JnpbXcAvaR\r\n+VzIzu3hLxZ9WZFzI9BWahSSEURGWFlHdLD2XKzN2Y57OJ55Q8T9yQY/rONR\r\ndOKlyWfMSQUYWPxJzq2v88GvArpOlrWJiLz1E+Y+WDJ1Wl4y2PU5kOrgDeO0\r\ngOjbsYWzqWgXihmiZncV6WAV1kARiLfVHZimzdl1rsuAnfFj9LEHBjIB3yg1\r\nFvz52QxcZHGNcOCQ+oqwGboQyDjnWUzpWkgRkgxsu4gLCmtNUk94dsw9UB0g\r\nzsXhCFzZ+2BuOVajlaJ7ODsrJyaMgFuskK6Wn9bxvv/BYISd96T0XsA928Uu\r\nJCG6R61cbRXU0YC/NwWiXvAEoWfqUQI9rV1inke4OLbIztFFaAcPPZYk6O/3\r\nd2x8MBAqMokX4D9cPwgFQM+YQnPMAZBngXgbBfu3fMzh7Y6U0D593NbG4gyA\r\nwGrtXFUKy39EBki+HkYAxsIGytnHr/s+PW+eC/iBTjc7noZkcSwg69RMfSaP\r\nI4krIwgD6cLKoz1GdOFcERqui7FtYr+Cck1iABhjSOM9VjeHbIDAdzc9v2lH\r\nrKZw36EqVzdIrbpj0OrGCvASs4ywlqIqgK0=\r\n=4C72\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.309f607_1676287560832_0.6006166302378613"},"_hasShrinkwrap":false},"1.2.3-dev.438b5db":{"name":"@usedapp/core","version":"1.2.3-dev.438b5db","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"*","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.3-dev.438b5db","_integrity":"sha512-alKegg6L7aYIzVgnOUYnQ/1Z8AR8BEqt7/epKwi7jrtQ6axLN+2WrGVNThbarzQEtXiqzChkxJNfSFo5NghKvg==","_resolved":"/tmp/af07f17c997a6b694892d8654cb0cc63/usedapp-core-1.2.3-dev.438b5db.tgz","_from":"file:usedapp-core-1.2.3-dev.438b5db.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-alKegg6L7aYIzVgnOUYnQ/1Z8AR8BEqt7/epKwi7jrtQ6axLN+2WrGVNThbarzQEtXiqzChkxJNfSFo5NghKvg==","shasum":"8b17c0dde142bd83e94133548f0cddf98038908f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.3-dev.438b5db.tgz","fileCount":2208,"unpackedSize":3300221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm/vNM6Ok0Cf6MsdOh6Puzv0H4MlJItOpl6JavFaAfnwIhANROT3J7g+r4DNAf7yBiiZaZMISriE/0sY3qFvexnde0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj62W5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmquaw//TIhepmGqf5Yu7SWNa2eX9pYHaHAppMH/IRmiXSU38oSXxWga\r\nMsiMOfYVEBdIRKgIEUaCqGx9d2PlxUtuwZ5JX2sNZ1IVm7oSsV4OIVH24Oy2\r\niL2t9ZQjIPqCUQJ/faZZeyXNgTFAODHY9hMz5/GRSFAnJcSM2r8oDKQdfw1j\r\nXf5BYbpNQ1ib7KZUEF3324INAy+vZCvvzmBCdlGB9PoxiTbLyaMy/Pf08z/0\r\n/CabkH2jvJ9dCJSAMoLD6PU9SojGXNOD+Lkfd3Fbi6jigX5UvX3sjuydpOSe\r\n2WCfViQZxltrIzJ3z8DywuCpwW2ketb5bml47un5mYyJN4OOSHyh3QPHsVAs\r\njbKkwYxkL6u8Z7lsUBIz+aIi1q2gRa4vDudbs7CWZYdd4tXOVcZmgX6da6Mm\r\n7TzcK35ETAabkeF6zfwuAKC/OZ6R/ByeJYVh1caHMl2tn39Re/7Wat3mBUh8\r\nzR2RlmTGZg772A32SqJ4MTjqg5h3bGW5iGzXSg4U3keVAORS5Kgh54mVI7aq\r\nagUp0XosN1D52BtMosKb5IFaTWCj7TP9JXcQfPjqx2ai/1BGXwPGfPnrVQBB\r\n3czVyNFFpczzLCWtfOwoLq6cxTO4LSUEt+OCEJZx0TBcgc8TN15HAEEp+6Lp\r\nrgSVo3IT7VA8HjI/+XMVkSL3ASOQn/6RDy8=\r\n=Z07A\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.3-dev.438b5db_1676371385286_0.4180024699933689"},"_hasShrinkwrap":false},"1.2.4-dev.6085121":{"name":"@usedapp/core","version":"1.2.4-dev.6085121","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.4-dev.6085121","_integrity":"sha512-63y8zdrq6m09KNqVz90yQI6NTgg1IcgzePqmNHgmQvtOcNzWE8Kyst+J1yiGkzppbzxVR6v2Qk8w5W7VbFZ31g==","_resolved":"/tmp/9f5db8328da3155ff317672f15cf9d26/usedapp-core-1.2.4-dev.6085121.tgz","_from":"file:usedapp-core-1.2.4-dev.6085121.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-63y8zdrq6m09KNqVz90yQI6NTgg1IcgzePqmNHgmQvtOcNzWE8Kyst+J1yiGkzppbzxVR6v2Qk8w5W7VbFZ31g==","shasum":"15c2ff36c099c6b322f73df0afa20257db38fd07","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.4-dev.6085121.tgz","fileCount":2208,"unpackedSize":3300222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQSvTVgvzWoMOU/PqD+Rgi/CbzgfPRiihMmTsV8MrVBAIhAOzSaCVUB/e8VDiwuyqcfBsd/OlT/UbdfrV6mPD9hCUE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7lUMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwQQ/9FJJ7npN1F+E413o9YTI3gZpj6jwdkH0OMtpWBdWlNhRr1nsm\r\n/c5iXaQ+Ylc/zH+gXRarsfqsCmKeAjeVvTqR+UpxGyPn9mt30/pn5beqxqLi\r\ncHf1cFoumTsGySkNkTKZxXdSQXuAGNJhJ3I4AeyLb7aBOmK5mpd0FpTAXiuD\r\n6u9fftCHpNyh9Tsz6BR5hLF9F4WWXyCA8VkSUhSxgm5FQ2Nw9sBNKu/E+s0M\r\nQGjO/xq6KGrYMLgOZSh3Ry88xx96L55sBR4XFT4Yg1USSOzo7M8AuTealQeg\r\ngqLgIRzwUCj0F7qqrGtHoHKMi5RG1BsLm6BEtTT9yhUcRUghrhcK8j2JWgLc\r\nv48OSdt1XeCgfz1P/XtVEUI676Pij+z7cXjM52uTOt4n6iq2Bk90s5PLa1d3\r\neoG6WmzRrat/m8wifFLfGSzdum+Jx0Y3CXhysFQIgTI4fLgQ99WCcvk0e7jW\r\n+h0jNlHgHHvZECCOMaRPx4RX54+m4P5uwVqLltOXOOgYZIxnNdrCX/+Zzr4z\r\nuPbrUdEHk+lVCe6dS+VEe+aI692pOUWI++3Ht2XmDbwDV0m7VlFctLS3ZWFU\r\n8j3WEmcM7MLf1wtXd7bjRMFcya8ytkmQEly4K/d0WXFpvmyTUdCyKZT/wdDc\r\n+OPx4ARPu1L8k1wuu/kKnHJJRBhmkGacio0=\r\n=DC1d\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.4-dev.6085121_1676563723975_0.6581642606903599"},"_hasShrinkwrap":false},"1.2.4":{"name":"@usedapp/core","version":"1.2.4","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.4","_integrity":"sha512-/E3viM+y4QBUGxW62lP9HKQcy8hlDKS/0b8j8Sqb2nyx1QY3vmayQKZrq6EN9CUjemQTpS7ncZU96lZSHfYeKw==","_resolved":"/tmp/7157fc6a4ae5fc7bcb03a76124caa603/usedapp-core-1.2.4.tgz","_from":"file:usedapp-core-1.2.4.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-/E3viM+y4QBUGxW62lP9HKQcy8hlDKS/0b8j8Sqb2nyx1QY3vmayQKZrq6EN9CUjemQTpS7ncZU96lZSHfYeKw==","shasum":"f6eebe00260eb7d5c73125ab370b90fd0d970975","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.4.tgz","fileCount":2208,"unpackedSize":3300192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE3TwnIlSCCg1H/3ZAq+IDbza+a6gN1igALqjzlkqOifAiEA7KyIV0RM8czjh9nPp1tRyYr8DKfBz9bITr3lgr080dM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7nCsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTiQ//XhVtE6p/zM97af4b8BPXKHigpQ3mLZYO05Qj9TGpNmQWaZta\r\nVcg19mOC8y3DFfUJdpWMtulvhr2B9clZw5vnvsjCGAllEZ+yKdEvRuYOEWLY\r\nrxn+ekC9wkg2oKrrIHmtlXbH3VHMwR9nc73B8TL4C1CQ440UGhXMR7tk5G7O\r\nYlzb25+puZqle6CvFq7vCabUuHfD+QQMbRjTiEZMKvgM205Fe5G5UAPMUFPs\r\nhZxhBDS68iGXqUANm/02AURwnZPvv7hLHR8StOFeG27iZZBGF1VQr3J5ZdvZ\r\ncbAydGTgSlh3uMsZFshusvCYhwvQ1a36fqMmDRH1LRXrLG9fTwRXCWnJKuu9\r\nC14WI0c8Sd+Mmy3jhrecjzzFYJd4z8bQS7XjtVqzjML3gloasURfNzRRkC6g\r\n3oj5mbAPVlzy34ZteeGCoVTuiIVkZMzMJLkiLLHoLLummTE3JfB0Fw2hzIUN\r\nr2nuejklkKXmIGjqy/LsDkYO49F8Qve5iYL74j50fahf0+DjPzeXiT8R+Uij\r\nJGvIxv6F4QFZXbcOFL4SjVXIv/RtgeHXbzfxnU+ArKr+NtaLoCEZ3Eya1DV4\r\nzHztWb3GHBtVKiyazpNzfsW9dzzIoM2tsQlebgsv1QXqWSq0niOhoPxYkmYW\r\neT0+QHmWJDrO5IpU/JnVUV4OeIKVd8wK62Y=\r\n=cfyI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.4_1676570795758_0.6802140387888531"},"_hasShrinkwrap":false},"1.2.4-dev.94092d3":{"name":"@usedapp/core","version":"1.2.4-dev.94092d3","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.4-dev.94092d3","_integrity":"sha512-UZwUgXY4OEOYn7Og52JBuxN9JnEkKcRpuNR448rP3bfMYhBvFyeLEAl/8z3H2U1aIH+8AR17IHFEuvU4jZA44Q==","_resolved":"/tmp/5a718c73340cd2c0071924ad03a8f515/usedapp-core-1.2.4-dev.94092d3.tgz","_from":"file:usedapp-core-1.2.4-dev.94092d3.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-UZwUgXY4OEOYn7Og52JBuxN9JnEkKcRpuNR448rP3bfMYhBvFyeLEAl/8z3H2U1aIH+8AR17IHFEuvU4jZA44Q==","shasum":"05989043d06c10eb5ec71396c38e635c34eaed9c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.4-dev.94092d3.tgz","fileCount":2208,"unpackedSize":3300222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDx+/no8rg6d9Yq+MdVPYYgQy+egNmv+662lmxGcKdC4AIhAJe5VDDLtMG5Ep0WT4CV6zDHeS3rJU/mPhskpaLE1sj+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7nFOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGqw/+MoF1jnUY/5g5JSIxxhDMVg5GVinA9axbH5CuiK4USsg6a0QO\r\nu4+cUpqrwXOivrtRmYbe7bJr+8BXHkL43/pbfHlO1iV3fDKeOO+HZC7Ju9J6\r\nLN0DEz8y+iT87Ifa91QMpGpiEBnrFz03ocPB1+l4EaUF0f4IlEN/iStThx3p\r\nSCsHm8QmR/AGDh04osQj0BFY/AAAWXThl4G+ihjvb83Q8fLpGNxgUsYSUm1a\r\nYNT53qHZ+mOm/MbamjnBFaBlKVrYwAuqEAHva9OTvzCo+eruBuANuMVcPAg/\r\nd78KoCPc/Wo+UJd1o6dr7GNVGj7u9w9M4V2md5oKmS0k5C1KnkmF4uc+zZJq\r\n5GHy936khGV7FKDEOZRWFkdQkM+Z2mpJeZFqqJgLnkpSLMJPQq8jKNjnBolu\r\n0TayUBsF4aAi3h2H5409EeCVvGKmOeiMe1ipeG7jMWoFkWwpojc8y6GVYuVC\r\nY1pl3ngaiSCfPSVdQQWU8MZum/MBScdVS2ydCq69D9tj82ST0FZdrPE3n4he\r\nl4wo8BTmRJK0AnHsmjMSCwpf5OXv/5qngVzGWwqE7xIO8r7nTtuBq4cqcwY9\r\niWF0mpmYkyubH9zD/H/pjvrbWHMGH4cTb/MxkPqrFqeq6ZL/c1rw8evJS9Un\r\nddn7H8nG7L266N2nRA7OGZMQyOYac+uJhR8=\r\n=jJyA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.4-dev.94092d3_1676570958316_0.29529781866629"},"_hasShrinkwrap":false},"1.2.5-dev.85f1b4e":{"name":"@usedapp/core","version":"1.2.5-dev.85f1b4e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.5-dev.85f1b4e","_integrity":"sha512-GthoqNBDxNCdHcDjVGqeqc+7j1BVUw0rM9z16r88m0nAGPguQQ6aC6bUTSb2Sot1ozzB5hISvEN1vuiIYNViPQ==","_resolved":"/tmp/2e64bf5d48064d569e071cfb8f877080/usedapp-core-1.2.5-dev.85f1b4e.tgz","_from":"file:usedapp-core-1.2.5-dev.85f1b4e.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-GthoqNBDxNCdHcDjVGqeqc+7j1BVUw0rM9z16r88m0nAGPguQQ6aC6bUTSb2Sot1ozzB5hISvEN1vuiIYNViPQ==","shasum":"7bab119bd4b1b9fec71e6a162f0931f297cb430e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.5-dev.85f1b4e.tgz","fileCount":2208,"unpackedSize":3302990,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHu5laO2h8TTUpbyV/R3IIu5Fq/s135IQhkw26C0NyTAiEAmGtJ9Fjqwi2SX1Sp5LVjVjM9jwuEAgsFX/V9/fDI7fE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9OsNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/ug/9F8ukd8XcU4vY2pdh1lsj0eM9l3zNqX+nQ7BqOE4i+Y5s38Cq\r\nnfbeqaMeqLKhFstiGEmrt0UNHqf2aCLnHzCYxw4ewU6G/IAzKYQUaCk5jYVh\r\ndEkyQLmU4+UgImK5B+eUxCyR/Yh5iUMAhX0XbGPeBqOOE4DsMa/wSq/3bDfa\r\nLNR4XDxyEdOMVYIy0wqUG01syv5dr/SBz+ZqwbIyEGE3ymHg33uEjrPhUk7b\r\ntEzoCKYV+zkfsoyrkrwiO2EHw7/vl28Bw7+sDpFmWK+paisLt27vYzB6N+uM\r\nhQHRa620c3Qt8K8QGYxbMV5esA/ii0mf55K8jOnp3Ca+Opsk5Koyr6VMhIys\r\nHmbutKYyGZjnp5EEEUJ9U2fhOLvDlKfOhL0oVewTKN3EtbHy7mvElwuXatGd\r\nIRfr6ed7POxmgKaCkW0UldgVyX2KIGwMzij18NjD0byyLiiqXyY6y0J6b3Zd\r\n+sOzWnBgaCh/lDWq3hAgOvDe5hAA2zw4Jixx7fKbsYqlmNTyIFaRq59CFpC3\r\nFGqvwuiBMcH5D22cCjQICPWbUG8ozXxY+aJzLWgKFE0T4M+xKllgV4ggueni\r\n+8Ix9Hwfwj6P9kJpx57UoSJOIRn7nu6AoRTw8L2D1oVBeubGKSmjKQx7P4ox\r\nOUZM77heX/Yl3nEh+zfggIT1eosFQ4IbZts=\r\n=ecfl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.5-dev.85f1b4e_1676995341643_0.8940213399432624"},"_hasShrinkwrap":false},"1.2.5":{"name":"@usedapp/core","version":"1.2.5","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.5","_integrity":"sha512-KYu8bZ4JoDSsZN3E/coRIaIQv0+wjadDRk0K2WzXdNYWQ/eHJjhBkMRxEDqFryEN1Zv2I4WV7yD5nvxlOfy/cg==","_resolved":"/tmp/bb774719de23a432e612e5082bd5c54d/usedapp-core-1.2.5.tgz","_from":"file:usedapp-core-1.2.5.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-KYu8bZ4JoDSsZN3E/coRIaIQv0+wjadDRk0K2WzXdNYWQ/eHJjhBkMRxEDqFryEN1Zv2I4WV7yD5nvxlOfy/cg==","shasum":"7e477c51c03e7690ef55973c629837a205d07410","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.5.tgz","fileCount":2208,"unpackedSize":3302960,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5qMhI1gVTX4fQTP/bCJWXZzSbqaUpuyrv2a7jj3QMlAiAUbBHRBTN1YJtZ3JAj0Gw5g4+I8VJnJoXxiZwP7A2xnQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9PHCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4FQ//bfLeJVUnJa3SDwzHRruiIgPNPncZtJcLNBKgum8escMZXqlo\r\nDCG+3jdqP9dyjLRXv59LLLCSMveJkvuX9ZDto+avPnEDCNBB7x01JaqL6Mql\r\nNCcxMsRwjEVUB5u3dPmhSEZ8oMEbJOGc0l0tr3K+QB3HJrLXr6ze8vtEWOgV\r\nZlFJkVQ3XofJ+FWtr5/M/83PON75z142t8HRukKHqfTGipph8QZaE7rQA9wx\r\nO8Ve69NFB8FiKTndZdz1jMQEgZ1t5nGy46yx+ZJBTRu2m+K0bhxLKSGnMNj4\r\nQrspIQi6/sT0MJ8tLedTfBWecJPGp6DuNSQhb2Ox6qzRnPyoOmhhifcR8IR7\r\nHU2N4rw3A2HmF3MP1xFCPz/7RRtF5rPBLTBd8GCpNCemgRjTfW9kBwLGv1Pu\r\nXXC5D46P0QU+Re0DYyvuelS6m+1aGqMIC9kDhilkryH6k8LsVAu5yXdAwgqa\r\nkhItVPxJrThQOjU5d8lcS9FJXZxtA5x3+72SGpJxVdQCMbsSeey9IMGs6tjx\r\ncL/7EIw4qxb6WQh0gNhQQPYHlXhtrLL/FA7evgWITHOkm4iDxjDdW+ITYS8I\r\nqtnLhpGPIfka934YGpoEPd31P65VOpFUdrUqbIekzJUNOSwOj4JUaH42pzbp\r\nFYuUUCPBlBtdz+PrGGqdZy4uThw32ozS+H8=\r\n=1xIU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.5_1676997057892_0.6282511723992064"},"_hasShrinkwrap":false},"1.2.5-dev.238c82b":{"name":"@usedapp/core","version":"1.2.5-dev.238c82b","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.5-dev.238c82b","_integrity":"sha512-cSUgMK2pl4f/VJdbR9SG9EIogV84BOSlG8ZSlJ2GZDxDlyf61RdTn/yIA39mRPUSRo5YVsRZh1SVxHPKVbL2wQ==","_resolved":"/tmp/88f582da8e89af8676b7c8be42074959/usedapp-core-1.2.5-dev.238c82b.tgz","_from":"file:usedapp-core-1.2.5-dev.238c82b.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-cSUgMK2pl4f/VJdbR9SG9EIogV84BOSlG8ZSlJ2GZDxDlyf61RdTn/yIA39mRPUSRo5YVsRZh1SVxHPKVbL2wQ==","shasum":"e72d264c4786212c81bf43fa5f749ca668d3eaf9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.5-dev.238c82b.tgz","fileCount":2208,"unpackedSize":3302990,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3uUjjBCAlNGV/T26cauHfO1uyhM8YFGc46aJXshTtEAiBvakLxQOhBHh9CL9+gprP7mdcxn2ny6MYA/p7NTNJfnA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9PJXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDRg//eGRbc2qdJcdy3Lg4sWBRi9UBRKOE8RcwD+x8WuUIowv3GMhb\r\ntzLxXxzGFtVEz3u1+SzUS7ZX9P6azfK/EG2/r5eGsg49BhzgA7m3j2pRO5/7\r\nWaGjPrlE0gy5nUPGJvPJVfqlUxIgYAwgb8L3vvV9oQND+o27UD5ViHfRiw4J\r\n83WZI59AUL9mA85wNHl0vQTrBKLYOhPGCx+4tCp6JqsVmObXMdTM84pq8by9\r\nFXbFothTewFNZqrf5llgLjy8EEFkb90ZkDue1Ymbm3DpErZvnB5Anro6XmmZ\r\nUtIZX0ooxjrkJBVRJ7SVYys2LSzGkZz/ZkDCDKbXxculhcioWHghdAfYiiif\r\nmUniiCesFV1ES5/8Dsu62p55sCT5mC6iwe3XqGMJGosyZeTxEn1AcJktVbAf\r\nzvq22LoIRzT8QRQGSkIhTJaTKZ07+bruJEFH12HjHWYGKSLQYdPLqgHsCEdh\r\nwM1YYjCftodJA5eX5u4IGtRXgWq1+5CdSXllPv8ffy7+ZuuICOrHkX0HPjOB\r\nBcNncbaHi4WPpCnKt0/2rKDctIWZ9/kM4YRFLhRFjPL3efjultJHKLaf28+c\r\n1M9fLQAylLgbYFDO8VvXRob5wlEnMhKpPb2TuGsxnXN05+rux6+wQ0+c/TyZ\r\nRTuTDMTkWT8EBTbpd7prnMLkv4YG/aIy1O0=\r\n=2Tsg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.5-dev.238c82b_1676997207172_0.4093271407778123"},"_hasShrinkwrap":false},"1.2.6-dev.81d1d8d":{"name":"@usedapp/core","version":"1.2.6-dev.81d1d8d","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.6-dev.81d1d8d","_integrity":"sha512-1H2ZTrYOVTlkW0jUYN7TiLnNiIpP1rhvKQBGxTV/T1ZaDnX7wUDYaYnGLrSSZwLh9arC2NO5EqO/chRSElVKZA==","_resolved":"/tmp/d0dfbb9427c6033f025a77f8a44c151f/usedapp-core-1.2.6-dev.81d1d8d.tgz","_from":"file:usedapp-core-1.2.6-dev.81d1d8d.tgz","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-1H2ZTrYOVTlkW0jUYN7TiLnNiIpP1rhvKQBGxTV/T1ZaDnX7wUDYaYnGLrSSZwLh9arC2NO5EqO/chRSElVKZA==","shasum":"95800de7e13de550d78000573b2eae17d7f5aad7","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.6-dev.81d1d8d.tgz","fileCount":2208,"unpackedSize":3303022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO0iz2nadUFgacU7/zQEUEYrcZ2ssLsukj/MfCvjCqTAIgF+MAdu0IVratZwIjHYEu4vRNmlgM6OfRRlDuA33OxUo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj90M+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoo6w/9GZ6HGPE6rfcHqme66m0Qdkd1tXzotIw1TzpbWXU12k6CokYv\r\nLXXWK6Rsx4GbO7Xv/oqe203Wtd9xs9m+JYyvra0MFUF0W4HEQafuxW73dbPU\r\nOGiR2jPhppHI7NVAbqNqBlpncoHEn14VD9NPnzcNLYaCgXRvFzn4KMXz/gtu\r\nzmHCnajEFpOvQbUwJapBwOekFv1swbYAqhC7i3cT+jpEGHHXSlQI2XeWKHNl\r\nVDreI5d262hBKR5GX+WMCmbYk4CkoolR86EiRCZwJGSxiNzr5lauzpp1TUbh\r\nft0d4oGbWjjBzxyKIA8QZ/YGQ00KkgBD+JSeKWFZ8/Ot/EC2A7wRyCD47zQQ\r\ngK5c5J1rypAu9U1s/g0VmMrp/1jSKG0INZPLfZ9WkuTlKyG58fOP3KsTsKRb\r\nC4f1SVVQBfux3k1NguBs1mtbcpTXNepT4sMBah1IaatnFkRq4l18j2w0YK15\r\nkAP4/tVAXV+Os9CleZMWEqvdMsIXpGbElbXto6uU6Qkzb8v+CbOubD2+Al61\r\n8RdJDpsuAk0UZizYhhHNLXrXDePuN4mVo5rBX1xz8SW/fQexhVXBvEUhSECi\r\neMigkhwAoBD2sfloLCmtVC0+3ZBa4oueVLS8Mwq5JOnSF84xMkWqLX6Bjkke\r\nrVCk6jmT4NL9dkV1akUXcl/TILmiHYYX8Ck=\r\n=NQ3J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.6-dev.81d1d8d_1677148990168_0.6859973454881036"},"_hasShrinkwrap":false},"1.2.6":{"name":"@usedapp/core","version":"1.2.6","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.6","_integrity":"sha512-j8Rnx3qQ1eQSFHiPwZjuAwCs12z5RKmv0tOnnIwsgJqXfJF/ZYIOOgR627x93mblWj/Vbqb4mNER9P6OTYn/tA==","_resolved":"/tmp/c6da2d764d7b99fa4392243e9e57b0ed/usedapp-core-1.2.6.tgz","_from":"file:usedapp-core-1.2.6.tgz","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-j8Rnx3qQ1eQSFHiPwZjuAwCs12z5RKmv0tOnnIwsgJqXfJF/ZYIOOgR627x93mblWj/Vbqb4mNER9P6OTYn/tA==","shasum":"6ea9637a063e7315ece7ff3e79401aa42a1816be","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.6.tgz","fileCount":2208,"unpackedSize":3302992,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcjdMaFgjH/Kn6dO/M3yswy9kyW5HmQcDlMrbbYDlGNwIhAOE26c4SAlw1B2/stwMZ65W6QECrSSKa94/8+QWVOJ7m"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+I1lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvOg/+MUzdOIp6JHLh4r0EcVtbYFXjANAaX7Fr3JESSd4v+eZCYtjl\r\npkLhfyQjN3hkO/VIYQYZxajL708EP3cbkLtkzHkn9rzuH19fy2lR5DX1wlHC\r\n4G2IQASU1EVcedH+JOAwsTdSuGz1L85yU3DCgEb8mxrOE3uJq8tuKbsd63mD\r\nFfyPFmu/Y4U4UxYKx96AggsBn9wml99NPBgknqGkRKtHCo/Z25M8tsQ7pTqP\r\nuVuTOHz2RTM85GduIxt806NQGJ/9itC/uZA6w1MWbqeEW7gkAeZ/k/Oj9rPE\r\nxxBitkfwXE5+PcREiMBTNJ9pWg2+TaAUYuvB57c5FyD/dtSVCm0ehTYFJLI4\r\nuX5X07uDu2DBp/PlC6OCa3D3FndjUh/MzJkTcseqqN4KsiExam9wqSbarydD\r\nYqFCqCQz5jxQGuonyH71cOnstuVAZwbZnhEiJhgX7rA9Z8IyUvAygnlJ+e4g\r\njWwNELefLG266rdWrydJUNrHwoB1cm0V1TYvR0fdXcB8Z7Vy3yoxuHBAolIy\r\nLd4dohjgeIrOGOmJg+YTxXwXjmx7IJdZOPShsfcUbqK9A03+hRl+meGXFpEI\r\n01UWs/J9MlWlCrUPuIf/soAWn1+i2vyyP0g0WlbaHeqtnPb0OlZbpwW1Iq/Z\r\nBrkKZr9a18cpH5NKNeBG366V4njY7F+3res=\r\n=LTf8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.6_1677233508707_0.05739024998904263"},"_hasShrinkwrap":false},"1.2.6-dev.aab8430":{"name":"@usedapp/core","version":"1.2.6-dev.aab8430","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.6-dev.aab8430","_integrity":"sha512-C8suUjHix1eSmVMESLNOffH7hYMsIV8kYE6gilIDsH4uBBrG7dBZhko6+7d0OMtRwIpzbdG7m61YohW8dro4nw==","_resolved":"/tmp/075918f3d883aa943e505ccb7303ad69/usedapp-core-1.2.6-dev.aab8430.tgz","_from":"file:usedapp-core-1.2.6-dev.aab8430.tgz","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-C8suUjHix1eSmVMESLNOffH7hYMsIV8kYE6gilIDsH4uBBrG7dBZhko6+7d0OMtRwIpzbdG7m61YohW8dro4nw==","shasum":"8eb15a5173ac2c3fa909eb7cc1bd8942933029dc","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.6-dev.aab8430.tgz","fileCount":2208,"unpackedSize":3303022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm6xyMyVlkKK2yDlkeIJvSaPs02Tp90JHvAWSTv5DlLgIhAMmf/pjQ2hIGzxtz4RMmGrnpLWIQzeCJ2Xjfc53M0OAy"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+I35ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUgA/+OMPLh6m0H+eJQwNOjtPNCEpgQvIufHA/KCSKGPmhj7i3MZRL\r\nJUEJozxIcA4fLNXwdcfReBv/OfWjEWGt5qfvwJyBzpuuSivVNzJ2Erapg8xD\r\n4Mr7DDoZ9i6ueI1+QeqAuoFwFnz66VoLmMYYergBCZFuARiArs1C18lJiV8c\r\nm2XySJceZSK+nWKPOOAgikKfCA+jrNRNz8tizSw3qB0CfPcZbDPb72cnNDoi\r\nAfDh0eBzYczHJOUQt0sC+lF6RJig6A7NTMTUY0voXYcM7fjvlBnhwtq8liaA\r\ncE/gERflbifn5Dn2uoqO5JMB88szbwbl9SNZhOHYz3s570fCNxxs7wdeVfBp\r\nqmZRH1+Nf0lKUFC+hmpaZRM32+CmWEosOCImpS/i5+nm9SFAFmYhtwnf1N38\r\nTLdT3U38s1CfuH5EaTulqalJ+uVKaIUmrhuBT2igesBQgyy1pSd6zkXPKGRs\r\n613ySkyGOh2Cb5uALbY3fNlzUV2uvb0PZ2STRmVbLcUwkFxiIYBaFVtm6Sbo\r\nFcOD39TCyNdJK87AUN+axQPHIA5VAImAJBRMLUo+Q8XWIc5JM6rTFu7Sye53\r\nC50GOQFjCoZSKng0+Gh3G+jHbIsBc73RNH7MFafwCDYzZww1pCC0q9khTDv5\r\nHHtANM3RKZvDjBHl1uTJoF3PNl+C+fDkbWA=\r\n=setp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.6-dev.aab8430_1677233657453_0.6140799838678477"},"_hasShrinkwrap":false},"1.2.7-dev.0ef421b":{"name":"@usedapp/core","version":"1.2.7-dev.0ef421b","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.7-dev.0ef421b","_integrity":"sha512-4ol0oIN5NSV9eKaW5r07H5iWGWLqVISJTe+sihSZLNKL2qQjQq0XbMUFlUp3K/hiTkNPWrbDTxGmsq/kwFku1Q==","_resolved":"/tmp/6ee2fe551d2377b628cfa3ae41c83597/usedapp-core-1.2.7-dev.0ef421b.tgz","_from":"file:usedapp-core-1.2.7-dev.0ef421b.tgz","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-4ol0oIN5NSV9eKaW5r07H5iWGWLqVISJTe+sihSZLNKL2qQjQq0XbMUFlUp3K/hiTkNPWrbDTxGmsq/kwFku1Q==","shasum":"6c7cd8543a3c9a794d28cb56f50c5aa26f087c89","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.7-dev.0ef421b.tgz","fileCount":2208,"unpackedSize":3303010,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEm0ysioAlIrgVmb4QpsX2+SaY1ingNE17dP8FpwpgGrAiBfXRTkixPKsSpGJSJLkmBmQYwAe4WqvizeSmsnNByuGg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/3H4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRow//eJur8Wmdgpzj6eQQJ11qxVdNGPq9zwUSu1aOcEfVWU8h0SZ/\r\nahQ5C6HhWdpFkWU8XS9zAoaa0YEyAfSh84qMTvyDBpy0AUu8A9R3ct5XnrNt\r\n1OyIMLeIOFNXc6qLbpBlFJSdGNCIp27YgvIv+DjfBOJ0Rv1ISa/9Kfp2TU6A\r\nWWocYpvcd/bPccmG2+mssT0bR9RNyleIuwiR8QUQZZR+mHNDjeBiB7fiqRpH\r\njGlcpT2dDXS9YL8dPUmCYws+1ktvVmxWHVF4Sw0HXPthedXSBhWb7Zk18kTb\r\nL2vObmjZLrwHjWWgf5hMs+F/j56CPLoXPempjknwPlNdoSBKkS8kMqRQF8pa\r\nFlZJwszmd2X7ONJz7a8JwrtN54vdnpniZblboNkDf/uzplZc2D3wr7vzxfk8\r\nPjb1NAuQqPGWa4heI7vuh4KcWXgEKnteIdktsHsO2NvY8QiAU1AFUHz/Db0Y\r\nP/RdLzFAOlzKz8n9g9g0A4oqy69rfR7uxdA2TsATkUxl5rszOVCo7d9IzyP1\r\nFJlDUsbfj+f9JUZB5GMvbJPIL4zKqKhNwK/4RJBpv4tKce1usgYPPkdlzYqI\r\nnltRn5vKxeeLmmiMnna3POvu4js0bYnMFb5W2rLHPfIq0jWv+3Jq145rCQTq\r\n6f7R101C3gRTSJj6K3kirNojdETWqaiIqpA=\r\n=yXXI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.7-dev.0ef421b_1677685240033_0.9385121731264958"},"_hasShrinkwrap":false},"1.2.7":{"name":"@usedapp/core","version":"1.2.7","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.7","_integrity":"sha512-izqa9eXmMeqLq9vg1bX4xU8LOFDIlyfwQnHNuaYM1QuJ2IU3cRSBjXbcahzGZS+aUgW2ue3/wNmOZf20OWZhYA==","_resolved":"/tmp/523bd606333cc25735ff41577e564db0/usedapp-core-1.2.7.tgz","_from":"file:usedapp-core-1.2.7.tgz","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-izqa9eXmMeqLq9vg1bX4xU8LOFDIlyfwQnHNuaYM1QuJ2IU3cRSBjXbcahzGZS+aUgW2ue3/wNmOZf20OWZhYA==","shasum":"c1560ce2577a518de6ed367f7cddbe48e6d17127","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.7.tgz","fileCount":2208,"unpackedSize":3302980,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZLyQZDRyUIkR++iWJm6Bp0JTKa1eGdXPJZCiU7+6+2AiAXcXCMz46nN9G8VvbqGWw1EVjYjZdMb77N4Qsj2yIsDQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/3lpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpURQ/+L/uh5bId5stH5Z+GpLTYvHLQL22YOh0vAmr0wFMiDehYFC8d\r\nGvDL3YMqgO97+0+tzjREDAEATq6B25/oDNfngXugwbvhq/DGZxviBpevRoVi\r\nbSQoWQU92MBulxsptFQEw0sbeLKhNLF2L5CYciTU70M5Ds6rDIhCWzTl2v2o\r\nV4IN5tWirr/aUPYKpFkUI2D2p7LkCwNou+qy3AXpsI1EvPLolTZ8dfrS3Kqn\r\nXrjl/NUWbDPbJ0nm/Znb7lydUt8kKaQFdHKik5Z19t8p7I9pIrKx2tz5K27I\r\nO511GVMs52c4nGkhAuX401R0Pe3u2IkcmazmLxW2fW1Rj/jUXzudCDBNsyLJ\r\nY4QpR6NL36cFKN1FXbqV8y5kIq8SKmUqVDhq/tMoJOxtNifsxmtYobpJMZEk\r\nrBzOk7bRQBH/0+G1Q4yVvwcw6nAlI/+M+TPyrRLGZn87lEn8aF2y7IMYsVKv\r\nOQa3kkvfGVStT7sgb2ufYiPO7fqGqACnSGJqAxOwfExfGzmZ2nRRVHAuMNj4\r\n3PggsdUbjbVwVsntMy53eSx5MNo3y0s0i372PC+z9dt7y6PF/eqaX6VPHxY+\r\nKAupTHPIVHzDsS7GFIPB2J0GN1oji9X235v/CbWZ2wjXfgxDuI13OhF/Ahk1\r\nlFH0Ds0NDOP7NEAHRX8toYybhINVH0VRAzI=\r\n=zBRZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.7_1677687145539_0.4218238367438998"},"_hasShrinkwrap":false},"1.2.7-dev.5e31dc1":{"name":"@usedapp/core","version":"1.2.7-dev.5e31dc1","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.7-dev.5e31dc1","_integrity":"sha512-3hutIbCztcQgyMrh8YcWeNYUKbCkuGnGjR73BLDWEtLsQeNUl7BfQmCQQB4Ly2/Ivz2h643IP1biQ2hbE7qBiA==","_resolved":"/tmp/5372f00a7d43749959cf7d4b25cdf5fb/usedapp-core-1.2.7-dev.5e31dc1.tgz","_from":"file:usedapp-core-1.2.7-dev.5e31dc1.tgz","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-3hutIbCztcQgyMrh8YcWeNYUKbCkuGnGjR73BLDWEtLsQeNUl7BfQmCQQB4Ly2/Ivz2h643IP1biQ2hbE7qBiA==","shasum":"4969c5be08707032f048becfa1917124ea2a0f1c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.7-dev.5e31dc1.tgz","fileCount":2208,"unpackedSize":3303010,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvByVBuRm8qNXwanAwdsSHP/jwQVJMNRB24HNKD8JkdAiBbvm0T3sddR0QAL565VmVAjCVImLf/ZJjxMn8tJArcMg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/3oDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLdw/+NyNDJZzX68c51JWRy1lAeyhrmENsaQLF7PegAPGygMLKBUj1\r\nU921J9qUYytITq3KOUgythXloO3l63yNScpqwBQ8oqy5qj/b3DwHj5J+tVF5\r\nebBWRUtVZmqIFIzqSSw0ro13DTNxbIJBF7DT7ajQacET4tVNjfC/iMXwRftj\r\n+ihp0lCHoQ87Zz16f7fn2ZrieLSnNZAmvZ/yXKeqDMBxTj+wiwcCQoWU4B+L\r\n4y5GcqFc/nC0tUTezp8azGoIxrFEJurknQVyiSzkWwuIhE3Lvnqh2ymRTJL5\r\nPUo6UE5TFmOPYeBVdZQhFf63nVFONbuzPt987LSvdX1y6EgkmFgfGT4vNPhU\r\nbND0l96RbpSd8059LqUbtQnVaQoq0CM0VTWmw+j9N3uApRtDjNu1YJ9SwJTw\r\nWwt3zVrJGslAqtmj69/inP2zjSXjleqwImOynaAIV5syTzwGopQOyGKXV1HS\r\n38xKaAqFs055TJ174Zo6e2ZlTpQRzfxgGak3AWrhmrJsUw4FZSvZqTDWG6Mc\r\nCWzkShZhDfReRlVd2ytsir+08agnEQRv/kzAlbbcwHF3n3Ku4LYUQ8vECaVU\r\nDmXpHITDxTMgeFDUCpd0ARAyBz2dTYMnhsyAAM/YO5u/Rgr5oKYRoONVKkTm\r\nl3LThU34PDciSwaQ/nxaxAftI5aB9n4dtS8=\r\n=0wfq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"code@trusttoken.com"},"directories":{},"maintainers":[{"name":"ethworks","email":"code@trusttoken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.7-dev.5e31dc1_1677687299179_0.9797783538079017"},"_hasShrinkwrap":false},"1.2.8-dev.5473fd5":{"name":"@usedapp/core","version":"1.2.8-dev.5473fd5","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8-dev.5473fd5","_integrity":"sha512-dU0cEbOoAzDLg0UC7o5zQhktI6C37ocWEIFdD/kl3CM4seexG7guRKgMJs7qvkBwwIPZDk+6lqPaqDC5xasieA==","_resolved":"/tmp/33569df87be79cd879b8319ed15b1f88/usedapp-core-1.2.8-dev.5473fd5.tgz","_from":"file:usedapp-core-1.2.8-dev.5473fd5.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-dU0cEbOoAzDLg0UC7o5zQhktI6C37ocWEIFdD/kl3CM4seexG7guRKgMJs7qvkBwwIPZDk+6lqPaqDC5xasieA==","shasum":"6c6752681fa3d249cc09752bfc3ff62c20460c5c","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8-dev.5473fd5.tgz","fileCount":2208,"unpackedSize":3303592,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKnDCGIHkeXp5++n8CTRnhxtQ1TvOmIPn14FJ2PEDDngIhAN3iw7rK6frhUGRSFoxZ8q9x8Rt1oulXH3cpnQoCajdn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPV9YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjBBAAl2GBCwHCeTOr6YXynrsLz47EwWSAda4c45q31X4jOkRFirHD\r\nNlbU09fQhXTJ5V2YxlNDlACO/iiEaEpZwvm6IbblaXgvM53ZIkRxfGhwAKd1\r\np+ShedkbuCp1ztHGWrjFFzS5bLQ9oC2cvachyAFQ0Oii3nV4pTzufL/F1YDE\r\n/eZfjP43jIVO7y1/gpi7/V+ysG+VWsZfehNdhvLLnvw0rxMr24zaxU5SAfTr\r\nm4V8i52SOqx2BtidgV8FIlLQLlzbsxpCeZHJnpcYKUQs64YMo1dKH1MVigfK\r\n/Ti0ph5FHVde6hRMb/dwgS/Gh8OBhwB+b2PyUClwTIG+4D7CpIIQ1oCnsy4j\r\nHXtsxLDzE6vS7j/YTjtzYgIhpIxlNLsz84SHz7DWrsZO5jPYLVJN2ErgUoBP\r\n/Mw8aA1KvvzXWexpUTPGc67uVwZzV0BZCqs/GLYEgMut70fmss2flDc9zZUj\r\nQtIobSi7ChRSgjWNLvfM/UwI/Bi3XsakaEMYkdr2KAGc4fTO1J2+1JJhtL7n\r\n2hYMJWz5m7SN/IoS38O5VG+gpRnx+VH/V1Ah54LKNNUFo7l7gWrGC45xnAgc\r\nP6jMgzm0f9b/oc+LYnAJzk0GE/HGbN+34MyVsaU4gAtY7CcLj7cTVestwK9y\r\nQRXsLEyipLq/l+hQcPYZ3t1R7flkY4r3y8k=\r\n=0zu4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8-dev.5473fd5_1681743704041_0.9803413163699155"},"_hasShrinkwrap":false},"1.2.8-dev.4d7918a":{"name":"@usedapp/core","version":"1.2.8-dev.4d7918a","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8-dev.4d7918a","_integrity":"sha512-h+cxQ+m8m00V/qFAyyQXWhOi5X3Lcovlvr9W1LKnsckiJPCzr6vFIjTTtkzyYh3JrytE7Dv+UglQ0FtfxbWlAw==","_resolved":"/tmp/b61ffe3f847b6b10b8ca4a4babaa158c/usedapp-core-1.2.8-dev.4d7918a.tgz","_from":"file:usedapp-core-1.2.8-dev.4d7918a.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-h+cxQ+m8m00V/qFAyyQXWhOi5X3Lcovlvr9W1LKnsckiJPCzr6vFIjTTtkzyYh3JrytE7Dv+UglQ0FtfxbWlAw==","shasum":"23e2af0c98f8ada2e40660425992ec2650952758","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8-dev.4d7918a.tgz","fileCount":2208,"unpackedSize":3306185,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEek3p6+0DZnXPGwSaQl+TkrypS41CtLebOfCfF8bVasAiEA/wUzhjQKfQosrmTMt4MzsiM7vR/u4oVccICM3C3DF2Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPnMKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrfLRAAkENMYevdqbxOJC7lLfj4v3qebi6ZPPuIdWghuE79c7lh11NF\r\npZlxICyT+Mn7zrjUCZ70Os+l51ygjaJEWADNWtRGNfrAfIMzOuUTxSsokB1S\r\nIebb9DfqL2Fckzi6BAChBMYmuIIMimbHEKKPyIogp2XSbyTl2cyOMZ4vhI7K\r\nei/Ax4VHbFLDtBB0G0s65nuKJ5yW18CGhnq8hcLOcLiLBHxbXWMUi+1Ed2M/\r\nHHvnaQWWUFE81W62RtWJibJBsueftOxyb8baaPj5WvkusQS0tEQw5Y3FqXLR\r\n4kOCQ5t7fohCEjo+kildBI+lBusU8K4mGgtuNEP6l+kEmNA/HcZnOjxBXz17\r\noRZ278OfRJc6K9kw0Z4QxaQYp/CqzKE/d2p3JWLZdzmlStabDKf3453Piaxp\r\n39sp6Rm8SXhPocXekTA9rZm/dm+jYXUH681sfuknwuWLzZ/ZFupTb0pEpWeb\r\n3bICwx9Gr4YTRqJ+Na005nEtbmEAdltdfjRg1UsafUfI+qjQSt5WaBji2ax9\r\nPGvERCQw+/BF+4lLOru33hNXZnjHHqG0Gam4g7yDL6mZbz899UtJjNiJvQbQ\r\nbqvRm8R8k8nuLCguHTmpXp4F0eUOaJGHV64L+bkB5H+7cGVGEMk/xbE4bbhx\r\n+K8Uo1IFu/JWLieGzKZIgZzbTUFMd4wltDw=\r\n=7sgZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8-dev.4d7918a_1681814281721_0.4537351478892899"},"_hasShrinkwrap":false},"1.2.8-dev.2aed013":{"name":"@usedapp/core","version":"1.2.8-dev.2aed013","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8-dev.2aed013","_integrity":"sha512-5w0OGupZhqehQbJ30Cl27XDscfLW1Vbep/73yMSM3Eu+0tCBFXlN3VOn5V+CFb+Ur5jJ+8MOFOC4iFFVJEt/QA==","_resolved":"/tmp/d882188dbd75cdc1b7ab798a36f06e49/usedapp-core-1.2.8-dev.2aed013.tgz","_from":"file:usedapp-core-1.2.8-dev.2aed013.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-5w0OGupZhqehQbJ30Cl27XDscfLW1Vbep/73yMSM3Eu+0tCBFXlN3VOn5V+CFb+Ur5jJ+8MOFOC4iFFVJEt/QA==","shasum":"c5ab34060eed1c38f517deaa8ffaa6eb1a355e81","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8-dev.2aed013.tgz","fileCount":2208,"unpackedSize":3306395,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxy8ks5kLA05yZyWhFLD87cRRUHcTybYkpNymV6b1ohwIhAO98Khsc1AMfnMOPuWBBGA/PptSWLpUvLoBRcwjEeLve"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPnt9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjNQ/+KRPIhvpyXZ88FizyqljZYbibcnLH7nvOpYSDW1pOwPmzUsCo\r\nEK5OfkeKI19ASjVCRsDybS2bdg16FgqMk7rkuHqOrGikbFQmbJEkXtmHysC3\r\nYw5iPQ9rpucavbkOpWg8W/Z3XbCge97VJd5nKSchPZ9G3gbe4qI0re+oqDEP\r\ng1+U2xRcyE2+2aLrdpMUWr4TNfekdYuC51e2GkUW4xp+pFhqSbEC4Dr9nPuN\r\nriP8piduZiQD2S7TZfMaVxM+PjCHXvYNWRuMMfOP7DPQXGN8NGQGV1paX3eg\r\nDFp0QT1t9FrD7c1B47RhDfcLiVB6ISrBbPr1Iz6FCwmrP70MXsHb1j86d+c+\r\nrRb5CyePeugzDWcPDKyu15wmYy4ewe/MdD+0HLzq94fzbT2OdzAunGZ3Ngfz\r\nokLSjWcj2CnW0wOLU6K2FLAZkZ4qLCL1CvBivaeg9Ly0l3VOr/cHsMw9B/zX\r\nxFfqwZy23/pNkGNP9NV0+lSBg+B0ANv7lYutekAuLfhoQxVsR02GykGJyhRh\r\n0tLu9TJYHu4vCd78AKbAOTYlHQFKc0XfC27wUJ5/f93zVhBqKMuBEUTbRA9C\r\njwVnJcIAyQ9OpanBF5Br1HCwuLhs3gOWsLFSVwEN35Xu8RQf8uTKD8VkK/TG\r\nR3dr3cKyLV1KQC5X6nO/Ojq3hUz9LliSbOA=\r\n=qahN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8-dev.2aed013_1681816444917_0.2500569868715725"},"_hasShrinkwrap":false},"1.2.8-dev.502e825":{"name":"@usedapp/core","version":"1.2.8-dev.502e825","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8-dev.502e825","_integrity":"sha512-VHV+SoQSXtlcOqmOLpm406C7zcMEbjhkhwGPv2mcd0c2B7FBAUJLsaKZVmZd/vDzXxXkF2xENJVIzvg4J7UnPw==","_resolved":"/tmp/f0c212a241c56cca7e9c66e9e869662a/usedapp-core-1.2.8-dev.502e825.tgz","_from":"file:usedapp-core-1.2.8-dev.502e825.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-VHV+SoQSXtlcOqmOLpm406C7zcMEbjhkhwGPv2mcd0c2B7FBAUJLsaKZVmZd/vDzXxXkF2xENJVIzvg4J7UnPw==","shasum":"43a01c5c6b71605de427d07303e3807d424cdcf8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8-dev.502e825.tgz","fileCount":2208,"unpackedSize":3306984,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGObhNwakKdIsoAFXptvKPx5qyOGkELLmWyU32wsT/BqAiEAg5c5CGDK/HZgMgFb889Pj9PyGhPxPb/LoMZrvst/RI4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPnuxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcyQ/8DmJyijmKJ4dd/DZj+7uAwJYwLJlFms63wbXFrC/Q0AwHE8K+\r\nd0DhsZSXVTrve8YHGJzaX+pW0Bz06vcRcjxbP8GgrE1wk7KA5qakdQKI5Bhy\r\nw2a5PJcaGpYc1eWVtn3ZLp7ryPLiGqK+vBiVPUerD7krZ1xqMPwZfDMju3iP\r\n6cWhn1xt7E+UezYdjLRNhU3yBWEb+O16DSzAsRm7awRLaElRgpRW9fctQr7/\r\nGnWbVq5p8mBP2GQG/reLGuNxRHUjEGYkzI7n7GLp0gH84tUcH7H7wrp6uKEG\r\nNOMDdWAodwczreX6SjUP5CD7Dcffs4XPMyVbmzaHn/x3RCIv63P7C0fW02AV\r\nTqm3gFHEv9KZ0mWR4tn44U+AzKV/my6YeijbeU8i/45Z12kQoCQcSqTEdSnz\r\nz2y7BqzPNZP/zGvZnRW3AOXWd7MzUzs8gEGYi0sC4QEwJJSLcKFkhDhGDLF8\r\nVvp9EsG0Ib2OI+tRpuCvwEjga8ADfHU3+cA72px1uUvXmjN+ciPPedgsUeHa\r\nYa/doBPFyWWpu4017BPb7Au3v0Lgkt0NentQ3EimbFncSakCbUGfMdbKPD/r\r\nnd1IvXqvLRc21EYj0BDi08zMT5k1Bpslq8tixDi7QVKjmkF3bPbIw1sofsLJ\r\ngBP+wR3lmGtAgYOT1i/tzkPOIifPcSKyLJU=\r\n=sbjC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8-dev.502e825_1681816496772_0.22768639693856718"},"_hasShrinkwrap":false},"1.2.8-dev.404ee1c":{"name":"@usedapp/core","version":"1.2.8-dev.404ee1c","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8-dev.404ee1c","_integrity":"sha512-FAPjNRzbjN4oDfkUH7O0jGkYKZp5Z1tO9revfJOi/ZhcKbiS+fX8a8s6quFOudtGX3VokW4t/eiL34VRoV8JJA==","_resolved":"/tmp/5011e72964b84f2685ab193641bb8974/usedapp-core-1.2.8-dev.404ee1c.tgz","_from":"file:usedapp-core-1.2.8-dev.404ee1c.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-FAPjNRzbjN4oDfkUH7O0jGkYKZp5Z1tO9revfJOi/ZhcKbiS+fX8a8s6quFOudtGX3VokW4t/eiL34VRoV8JJA==","shasum":"9b4bf869f50f9d830abef5c12c787400734cd7d1","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8-dev.404ee1c.tgz","fileCount":2208,"unpackedSize":3307303,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDl2GHGcwCmFOkAIqFb/sLE2i6A7Dgk+YMdgg2Qgmq9NwIgLVpkcbJJCBneIqJWfjGqDeYaH2oA62vGeY4XnJnItOA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPoPiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrnag//Y5YWXFZVMkbSw8vPvi+kOHa7JM+7hCGk0Balkn8wCXB6XZEK\r\nfGLOZp0W8si7JWYAcOauTGYpPWCOD8ZEGgaAuU+DbbQQ0L5e8yWzCFwDcdDq\r\nVprYjUQzfy8BFtonoW9nW+uZyTf3KSUJE+iZtTmZBN7qSOGY/rEXlDVbvflC\r\naCpQyVGiHPCGGjkLrYFymGGISSr96JGfsoX+oH5NxHr+/7wO7ni3pVhnH5z4\r\n+s49lMjBCX0N2mSHhgkSW5LZNxNOThD5m+Nl9oOfnsDZeevzfVRh3ucKZCum\r\nlx7AbolQvLyVQOTNsJkDPHqR/hzl0bl2SrOAmlIoUA8moOVU33ikyzFU1CIT\r\n1yqGikExbyaYyl/cBusdvPV/otzQGFYK4jEQLHMkX/u2Ruh091FkFtjz2WZ5\r\n1N4bhN3juqr29wECkxWyLeDP/B8z2FmUbiNDmeFsKumz6qHXj0YuwuQd7Sna\r\ntSRSMyo0jvCS0cC90L2QyLJk9fGrnJcDL9VvDBuNsjKJGyGM6pOHeDG/sI5o\r\n4zi65m6ur/fpetz/edpW7y9QXDBch2eppGx3LaW380KutLas3wBi0F2TzMha\r\nLtYvg2QzzJDrE1AgExV6d804FMDGCwPKxGIGX9DBH2kjTOMFuSAERlsbO6lA\r\noOV8+pau4+zxiYfdWi0n8COTeuNwUN8fUC0=\r\n=+WpZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8-dev.404ee1c_1681818594261_0.8704536837275911"},"_hasShrinkwrap":false},"1.2.8":{"name":"@usedapp/core","version":"1.2.8","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8","_integrity":"sha512-Tsm2ZgR4PyTlqDiwcNdV3S+qfAPz4+jzGzK8SpTIWVaE33Yi0HWFp2F7Ti65nkuh1kwKtjkuIMzQ709P98o78Q==","_resolved":"/tmp/792aa711c6ff0378f5ceff5835fab313/usedapp-core-1.2.8.tgz","_from":"file:usedapp-core-1.2.8.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Tsm2ZgR4PyTlqDiwcNdV3S+qfAPz4+jzGzK8SpTIWVaE33Yi0HWFp2F7Ti65nkuh1kwKtjkuIMzQ709P98o78Q==","shasum":"b1ae6ee1132b8a1c26c7aefe17a5e22569e388c3","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8.tgz","fileCount":2208,"unpackedSize":3307273,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzXadYph7AwFF13Ge/sTrwlaYC53yGozbUr6jU4+8WuAiEAvm1HkzSjqoB7Y09nBR1JVxEshtZ89M09SJp8ma9M/5E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPrLEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoy3A/7BCLweno7OzhoDCKQlcxJxKBNlmT70vFmdNYGsaPvj7rKkZty\r\ncOyT+39C0BX4fK4oDuWSoKEMODMwMyY8edn1LI3GIm2iTTVzkpQ0KHl3O452\r\nTJ43TYWwhUltwySEsuu8XjRRqOrd1P3KK59n0R1IpKZ0vCb2uRb+lqkkaZ49\r\nMswUr3pMWwfrM9o5qdyyInJzPxF48dJBYm/FQ3lLB3nDnpW3Yyp2ilOnJVc0\r\nAmapt9l/+JgbUR81WeSm7Jlmmenaw1tgM61UDDLSKTci+/KMDFGFubUSedNm\r\navSLqQuXedyAGWhTO+v1eMUtBVSIwlnDuMIhAk4j/YJ/7SEFDyGTQ/1llyso\r\nWRO8fr0D/zLvjTRZ404OjURdqV2UqXWfBAvQFbu/H1wGsG2jDTfTOA5Fo1Tr\r\nBWKD4U+1N8p0gEKp10aQ39NNVVecRkrdFhu1ktNyGvkMVEOtfqx71OGyMXeb\r\n3grR76PfL2AwhF2r0gmt+eRG6CqT3a2AxX8Ne9u8nlop36IgogCEJb/0n30B\r\n9u1Z8jD8QxF3078dSJlSzwSTbLvgq4jp54fCJKxHkkZl79zyYf9kzQRplNYr\r\nfUVXlvujyXb3sd8U5cSIHtBxgVUsjKoJ4UEpk5qfTUau3u67vLp49RkUE6mI\r\nOB/bs9y2Zlos7oObxvB0VlgG/1vosL6XsSI=\r\n=wn3C\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8_1681830596173_0.834630549361056"},"_hasShrinkwrap":false},"1.2.8-dev.31ef9b5":{"name":"@usedapp/core","version":"1.2.8-dev.31ef9b5","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.8-dev.31ef9b5","_integrity":"sha512-dpw4DC0bUot+fdU6Hy2OS9Wbld1mV0am/gUaUYnN60d6od2NBWsS2cwebdwucvbOAgcpaIzBBsMpFRIHYwXRmA==","_resolved":"/tmp/99c391b888831d76195b394616b9f32c/usedapp-core-1.2.8-dev.31ef9b5.tgz","_from":"file:usedapp-core-1.2.8-dev.31ef9b5.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-dpw4DC0bUot+fdU6Hy2OS9Wbld1mV0am/gUaUYnN60d6od2NBWsS2cwebdwucvbOAgcpaIzBBsMpFRIHYwXRmA==","shasum":"bdba0c02d0702e8aa9950941fc43ed2bf6aac8a1","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.8-dev.31ef9b5.tgz","fileCount":2208,"unpackedSize":3307303,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5x0/+ycQSt0MPnMEc8jvt1XqyDolQ+LcYlPxxsr15DAIgfe3qUyic+NL1u9Xic89rXtUdVj7UzdTjCAvsqMVRtNo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPrNeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxXA//XXNI4g5XwC6ROkk/SeIxbh7B5Bc2pRPtdF8hGm1jiTzAJ7Ca\r\nq2o5Qj+q3iSUTUs8+dDpBYBaWUOlAfBSoTa3yBePI4KfDSHbXVD+GjJAxdo6\r\n/gc7UD6qrVAmPqzVWz7BYVbd0Xdel2LLl0R+rBWiM8eNadi3GvZekVrKumzM\r\n7E5Dyw4PUeMxl/vQj55uS0QIqWqQt44xnT0zQBudOnvQaspZWOMcLvJ8SUH7\r\nhljjNApWbFSry8porSVxRDGBTbAexWQ2oG0b8OL8jvaFttRYKAhfnZWRrtQR\r\nPNVF3iXmnKnjjWluSkHrhCPOb3rzV17bio0asud0h1IQL+hdJduPbpcjIGx0\r\n/PGCXEpnRxHJgvdyBYG5aDqBp3l1weAG6xNg2bz/NgR0owPcR891z11EDKgz\r\nMd0jbOH6wJc/SE9MokMLTxyau/nUJOAWSQ4jaC34DDhlO2B6XfFjy/eiTWzN\r\nymMRgtfjr5uoRs028B8yyqzkjbvEhr+CMpZGG1mGiKf4SIw3gF/QcLGDCuQB\r\ngMtlG680GSIXZ5wM64b2e+VFiRx7NNX2x/h90wQmf9k+fhYue/Q4btumvf0g\r\n7pgVcIPH3FDN7NI+IfS8wVIWu83daeROPDEp1kH6n7iu9MlLkfFu/MWshR0D\r\nym9z9T1WyRt33H1gJcIfoWWDl/xCxMEfjyE=\r\n=P65l\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.8-dev.31ef9b5_1681830750194_0.3337814765293736"},"_hasShrinkwrap":false},"1.2.9-dev.9130c43":{"name":"@usedapp/core","version":"1.2.9-dev.9130c43","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.9-dev.9130c43","_integrity":"sha512-ug0w3l/qzdg1suL5XDdYJsZJ+GK15C5wyFIaJ8saOzCo15QsxeBWENTCqgbvj2BOJDYgB4B6RrU0K55gcuyd/g==","_resolved":"/tmp/1329d0ace06b9785c860813520dbe310/usedapp-core-1.2.9-dev.9130c43.tgz","_from":"file:usedapp-core-1.2.9-dev.9130c43.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-ug0w3l/qzdg1suL5XDdYJsZJ+GK15C5wyFIaJ8saOzCo15QsxeBWENTCqgbvj2BOJDYgB4B6RrU0K55gcuyd/g==","shasum":"fb3434dfd986116d000bd6cad0e8fcc0bb629a8f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.9-dev.9130c43.tgz","fileCount":2217,"unpackedSize":3312510,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHho+FGiea7S7+hFr813bWaPb8HI4Gt8nOQjoDO0bealAiEAtMvWcjAxsqmiQy3Cx1Jn2dqEW5Eysk+XaPLt+gotl4U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUUwGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOLw/+KbVEH9ujG3n9ddLn6J+2JiN1Hdkjvu8DhJg3mwSfj/pRuFYc\r\nQdW6oF3/dwUotBYri0PS1W14NE/ewqbLONp6qPnkywBWRIB8r14pw27X6auY\r\nR4l1gY4r0jysuGUX8aNV/lcrgEjevks0OrNn8QVH5fuSNVWeGIs9k8oGzTJE\r\n+lK06r2G7g3XtiPIRaX0nq/f109HYXNk5KrBl1EL5L4aj2fCpRbICk8Fl8s/\r\nVjozEs6jN4sPU4hXyK/EvY4Fq3Z2IN8nIjiZnmZwfYgWw6bEt3QHCVg5hPD1\r\nwAORrOmDrSZbJdluaaKaMABK6JhUjL1j/RQkC9Tbc2Tbfl3D3SWTc4McVYNX\r\nL17BW4NQp/IOVTVwFBW5Mejm7x3O2kY25ROybAurTHqTC6zVQcW1qcd0dN86\r\n5dV4RD/wDbjQ1YHmaudVqlhEZaIKsPxIHfQHEmvAUyyETeWuF8PGtX8oZTh0\r\naSei5gIx8DiZNVOAZpeEXO29zqYq8hlaGEge+yFWS9L2iZ/3PVfl1SXjJbdw\r\nWaBi1mvA7YPjZws3EWDVWp3jheY3FxklbeJF5mOUBsdpVt6Tw0oZEqxbnNQb\r\nfhnkoxzKawm26O8aJwSp1f6hOOOmNnC5H2sNnbGsS8Wb5E8Sg1gGHxjmnG5j\r\nUgHv2Fs7hvaMG+Kpxnkgl72gUHPbj7Y5xwI=\r\n=vMPN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.9-dev.9130c43_1683049478256_0.19587348412388006"},"_hasShrinkwrap":false},"1.2.9-dev.6d4d22e":{"name":"@usedapp/core","version":"1.2.9-dev.6d4d22e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.9-dev.6d4d22e","_integrity":"sha512-I68Tqy2TkKSLunWFmZkDdW6C02f071wMaig/MFjqz9Fh7q9n34N2mUoviCErkE6ESbtFHK8BaiEn8zJ0Uwzmeg==","_resolved":"/tmp/5d6465fd0bba68e722fa859c179ed698/usedapp-core-1.2.9-dev.6d4d22e.tgz","_from":"file:usedapp-core-1.2.9-dev.6d4d22e.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-I68Tqy2TkKSLunWFmZkDdW6C02f071wMaig/MFjqz9Fh7q9n34N2mUoviCErkE6ESbtFHK8BaiEn8zJ0Uwzmeg==","shasum":"1b9e3c02ebdaf20ed4ebad2b6cf4b7e8c05c7e1a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.9-dev.6d4d22e.tgz","fileCount":2226,"unpackedSize":3317916,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCe47p9X6LLb2Aj58jN6VCwFkCWRt701aRlTmcrzVvDugIgf13Y+SsxEAYmaLFk2BvYduliF8OzZ46gvw0bW7Hr0xk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUVYmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOVxAAjol1Ytm5zjWre0SPFiMmjbxfPqzgIibVz/msUzD5BppAyUJq\r\nkaIafay23jpDbO061nfwsfpULlO7drLu2vqsECtqavoQZ7ECrrAA8K2Rzubu\r\nis4E3v1hhKTiw6DYO1JxmijBorg4Hw4FmQYS0wBqVMs1S7uIn/eJQc3YAvpt\r\nPaalcL3LyaBpLVSF8XRIiQ8EHVJong7Pz70qQMn8A3JW2AZbbjWLuxrv7UcG\r\nGPKD5xVVs4NbXE3vpBxNYCObW1E3BijA+qA/eRHtVTsM2cH0vNbCMHadGqcs\r\nljVs3NmXupj49eBhPnc8aTK2vvYzm7CECUq1uqSwSJ3vf7WXTVkqUa6cjaQ4\r\nebU6VO246OPOHvl0aHlXPKtFy7F8Ls9J+ej5xc9PfFz9AhQXOD6q3vAZKzuf\r\n01eoqnD6RNyJ1sKJSgONfymo6NtCaf8JKhm15/OPH3/lsXRZ6K9LLe+MbbsT\r\nqZy1wruY5JjI+gOzg9FsBCin4k9RlDkg4DH7d3nJsTci47yWLqC1UPhL3O++\r\nKg9PJZb5K8bXNlvvtJGHaoa74prTBjHpe7hWfWYgJuRmCs8zNFUpdy/vKIqk\r\nQW/zCEpv+Xy+mwLFyAPVh3SBJWp74ZUHJlcd2HShesC/XAKAjpfdYEMQ6lLE\r\nA3uiVf/HMDfjG6e9spQzqyNaeUf5fiu6WJ4=\r\n=IVSO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.9-dev.6d4d22e_1683052070163_0.9785492399180391"},"_hasShrinkwrap":false},"1.2.9":{"name":"@usedapp/core","version":"1.2.9","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.9","_integrity":"sha512-7HUaQ1R8FUM32dn0J8c1a+/B8X24BOxloOyzt+WbMfWL/ODOKPtmLNDIAClqjY7mMYz38cBr7ApzLfCbiHjBSQ==","_resolved":"/tmp/1e3c35323af7f3a778fa145d233a1260/usedapp-core-1.2.9.tgz","_from":"file:usedapp-core-1.2.9.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-7HUaQ1R8FUM32dn0J8c1a+/B8X24BOxloOyzt+WbMfWL/ODOKPtmLNDIAClqjY7mMYz38cBr7ApzLfCbiHjBSQ==","shasum":"cc83b8611daf5ae2d8d2a6148446ed1d4f583477","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.9.tgz","fileCount":2226,"unpackedSize":3317886,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDM5hSsY0CF5OfWC9s6/4obRvnDN/c4N8OOZB5ejFHaIAIhAIyzlSB7+Ar7CTPvsxHsevh9uPbgN/O8OY1Pu6XaSLNE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUV3TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiQg//aRvw8QcGkw0jRbKG3ExsPle4k9WIuGLJx46Gsy/SyQ84cEla\r\nkxwBGX4BGyGCra4RWkXrueqkG4DZ6pJafh8KtlmdbW/sbRhYp8gywIHylHzz\r\nfTNiGuBCsL04U2FNGHIi6M1Xqfm3FRYL3giGLtd2TVPbv675qaJ6rMYwnEZE\r\n/s//e5l9cexvXl76lv5D86yb1X0hu8KLi7sjG40y+irHVhu8BZ5HtshG699a\r\nLOQraazhYnDyapfTFuemu2pwEnYXsMvYaIwyTKHlFnpR2/iItqvjVL0vTttl\r\n70l4LapsrMXaOEoAI7Ie+Y4UHS+pCosCTV/BjjPJOmbnWyHejbTMOB0QEbrF\r\nCGSGdWRtl0EAJ+5v61im3BAVK0oMw0kBl9h6F1Qhz99hPB5kpRdPMjyKE/9E\r\nflqkjjQgHmHRtI3BrPieEToTiDVezHWiJQOv5gY/oF3tubVcZuot8oReJmhs\r\nc9RqOr9vYV6yxloSYkljwyopv7tGiI37AOb9Tt2xedCmqnLpErb+j8+FvCGy\r\nP8S8Qo+kta+IvDGL7J2uO59sMnIkW27C9TvOhihiyuWjo8k4HTNi0YeYBZjf\r\niDjQwimnVn8uAbEaUoRV2imVoSTGDx355YdQgLxxOiKL/CUS8EAO1ng7XAwF\r\n440UlydF3FOWCGQNAEeJ/S1oR4lxmYu32vc=\r\n=TbAk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.9_1683054035582_0.7444669246311146"},"_hasShrinkwrap":false},"1.2.9-dev.d74d6c2":{"name":"@usedapp/core","version":"1.2.9-dev.d74d6c2","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.9-dev.d74d6c2","_integrity":"sha512-pfnrqHVHSEndmHIincvdIkSITkVvGi+2aB+gvUI4Yp6D53PNl5Wx8VXkyCYWWZ+o2HCRe5LK1wpCO2aW5CYdRA==","_resolved":"/tmp/05bcc53022ce16765f0abfc0d46a4304/usedapp-core-1.2.9-dev.d74d6c2.tgz","_from":"file:usedapp-core-1.2.9-dev.d74d6c2.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-pfnrqHVHSEndmHIincvdIkSITkVvGi+2aB+gvUI4Yp6D53PNl5Wx8VXkyCYWWZ+o2HCRe5LK1wpCO2aW5CYdRA==","shasum":"e67146f1dbae5a23657ece229409823ecb7a1e37","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.9-dev.d74d6c2.tgz","fileCount":2226,"unpackedSize":3317916,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFS/ML1ccblvek/g7OipT2ekGWj+LCgGhzeUIz7AHaOSAiEA4rJNK5MOjtdUysiyekhVfMy88J91lvL7moCVY6bedG4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUV6DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYqQ//er3HZAJZrXnphB+J+i5X30Dy7EglHyFJzxw78sqhZlK9nffj\r\nVScTJ2CXi2us7lQIM7FrVlQP0viIN0vH0nBQMepeD94RsZzhb7i1JRm9RV4F\r\nD1d6hFESF+B8IhlU+UJ1xZDpda1krKKulq5HkpO+Ukg/voctekNw2I6n1d3Y\r\nExf5x9JNju5jGnnQqhDYmEm4SB9+y7nCwFetuLeTCnuPsqOQIv0O0d1ZHwrA\r\nyN6vvQKykwgM3hh/HBDA8HPjD13P3SYUoOOw0cfrsH8UemV8J+UJLo7+TMsg\r\nVWU9GWkQxm4xkjqpvXEJXF7eIi0BpzSY5rcPUkSc9DzMRhf8suvpizMOVhnJ\r\nVz5eqxY36pnE6rCQhSIbbxrFAYYm2bcFNmYFZApoXaTLJ6B2XZeC6/5OEhpo\r\n9z4QGIrYRyGY4delcQ+l/6wqOXArKNODn0fQ9NRqX+BLuDRaCJH49FebnRJ0\r\nXNoUMuAdfjAiDyiTyfR3v60nVNqmwkjPpo+WzoQbjIPZi3VVBTrN+XyRLD7+\r\nAbhyxodBJ3G3JCXwxWuN3KzWBdZhgHoMGJg9CanKQ+bbHyDZ5EbJXXtYVgcE\r\nFpPtL2NNNI8/QRp3tuoUSc+4H5kXJczuZ1zkpDJzYPf4Vye4Gwrlw8Q7PGoF\r\nu/kUUdRDZJhsWQMzY4oRwcoxlBDAxYqng0U=\r\n=AjTk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.9-dev.d74d6c2_1683054211092_0.4943807565804379"},"_hasShrinkwrap":false},"1.2.10-dev.3e5442e":{"name":"@usedapp/core","version":"1.2.10-dev.3e5442e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.3e5442e","_integrity":"sha512-PGtMOKV/4jM0h4Fa5CPy6T/c3wc/ICkniKoQCCtMYVQTl64xmj21YU6os2bKdTY3Z+DRb2t8JXz4iGZyzqD33Q==","_resolved":"/tmp/c773b75002e4bd7c08475036f06773cf/usedapp-core-1.2.10-dev.3e5442e.tgz","_from":"file:usedapp-core-1.2.10-dev.3e5442e.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-PGtMOKV/4jM0h4Fa5CPy6T/c3wc/ICkniKoQCCtMYVQTl64xmj21YU6os2bKdTY3Z+DRb2t8JXz4iGZyzqD33Q==","shasum":"39a0f4a0be8f904610671d38327d54b63ddf60da","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.3e5442e.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgRvpfvbpL+vExAd0YMPUUE9rYNESTS01FahtBLuKdVwIgeR84CWi8Twy5563Vszs7QXXfXKFdZ3KbNTC1dmhhigc="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.3e5442e_1684955528788_0.3734740251848818"},"_hasShrinkwrap":false},"1.2.10":{"name":"@usedapp/core","version":"1.2.10","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10","_integrity":"sha512-5eFgXGgLUCGPMXNqLlPB9XNc/PIv/h+eUh08gAwe+AhQEYre3K5uk39WpVQmBPsGxUKYZygbILhC4eaLgxDQ4A==","_resolved":"/tmp/2bba933bdec97d26f9df70d70550fe8d/usedapp-core-1.2.10.tgz","_from":"file:usedapp-core-1.2.10.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-5eFgXGgLUCGPMXNqLlPB9XNc/PIv/h+eUh08gAwe+AhQEYre3K5uk39WpVQmBPsGxUKYZygbILhC4eaLgxDQ4A==","shasum":"c6bd45d55af21c3a71454503fb40326c26a26fd1","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10.tgz","fileCount":2244,"unpackedSize":3332436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID/svKdnrZyJlPjPHjpg0f+4R8+MzXji7F1sdRrzm5gPAiEA9N84Ppe7n7cv68zJ6LBb0vqIc2UVpwWmGnesOTBMF4c="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10_1684997159901_0.8018063026153637"},"_hasShrinkwrap":false},"1.2.10-dev.065365e":{"name":"@usedapp/core","version":"1.2.10-dev.065365e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.065365e","_integrity":"sha512-J2vcc0lkILxZ5MhccGokm0Ywd2Wn6mdkyfl+q2kpa27tVTQ9a7AgzfLiNTyB4q485oV+oNeW0Bn6Ze/eg4206A==","_resolved":"/tmp/ef5b9bca780167e2acc76f2b6511806a/usedapp-core-1.2.10-dev.065365e.tgz","_from":"file:usedapp-core-1.2.10-dev.065365e.tgz","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-J2vcc0lkILxZ5MhccGokm0Ywd2Wn6mdkyfl+q2kpa27tVTQ9a7AgzfLiNTyB4q485oV+oNeW0Bn6Ze/eg4206A==","shasum":"f3058a510e083c6af9d1824ad78656faf5d1831b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.065365e.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDH0i0Y1D5apoFsS5gr6Ukn85HVwZYv7LrRNCdTcsNjwIhAIxZrMtWct9bLWCFAmycgZUpwDnsjkvCno1ESIjBAHIU"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.065365e_1684997320099_0.9860334373262902"},"_hasShrinkwrap":false},"1.2.10-dev.062ab0b":{"name":"@usedapp/core","version":"1.2.10-dev.062ab0b","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.062ab0b","_integrity":"sha512-ZxnocXP/sDZvDOGaDIxZvg4CC5Ipc9Dwc7fIXGCyyru/Yg7WBC77gJEkaV/wYs+OAJceRn/2ahNH7i3PO8bBoA==","_resolved":"/tmp/fe5f4505b1459b28f2e44bdabde77db0/usedapp-core-1.2.10-dev.062ab0b.tgz","_from":"file:usedapp-core-1.2.10-dev.062ab0b.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-ZxnocXP/sDZvDOGaDIxZvg4CC5Ipc9Dwc7fIXGCyyru/Yg7WBC77gJEkaV/wYs+OAJceRn/2ahNH7i3PO8bBoA==","shasum":"4e4f274d47c41d4d9c3e3a6061e1b0f95d9abb7e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.062ab0b.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmctx2F74T5RhX8CHR3MEZIJ4r8mjC9Ree+u9n/jSd2AiEAkpFvUnuOptIpjEZQ3K0mKr9X2VPjeoXOZcp2PM35IQI="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.062ab0b_1688474822418_0.8277160623280009"},"_hasShrinkwrap":false},"1.2.10-dev.735f2a4":{"name":"@usedapp/core","version":"1.2.10-dev.735f2a4","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.735f2a4","_integrity":"sha512-XRxZRfDp870jDr67DaLKUIjafw5Z6xo6wjFq4m7dd18NB+vOv09dU8rIPXDjbpX8ngOF/CtJ3/olbPZ0SczpZw==","_resolved":"/tmp/fdc0f8ddeb0acfb7f985edead8c61bf2/usedapp-core-1.2.10-dev.735f2a4.tgz","_from":"file:usedapp-core-1.2.10-dev.735f2a4.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-XRxZRfDp870jDr67DaLKUIjafw5Z6xo6wjFq4m7dd18NB+vOv09dU8rIPXDjbpX8ngOF/CtJ3/olbPZ0SczpZw==","shasum":"57c741db4af47cef5e35bc083147312a8b8b4363","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.735f2a4.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaNbUc3q9rMIcPR1JsyIdE4VuMKE1JOL/8+DWPc9XV2QIhAIur4oSoeJTM8gXBZvGUyrMFtO/QQiL0/nEo3c8VtRJ5"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.735f2a4_1688475981658_0.6570724845731848"},"_hasShrinkwrap":false},"1.2.10-dev.ed7e166":{"name":"@usedapp/core","version":"1.2.10-dev.ed7e166","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.ed7e166","_integrity":"sha512-j7CM8lN12LCeggikOJpgAv3TA56iEODdA0HKuFd5vuLWAQP63w94R/9Haw8bcj6Z3EsXgsL9Uxz6sSuHaMuCcA==","_resolved":"/tmp/8e14b5aa489d6a498b61263b5c58f326/usedapp-core-1.2.10-dev.ed7e166.tgz","_from":"file:usedapp-core-1.2.10-dev.ed7e166.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-j7CM8lN12LCeggikOJpgAv3TA56iEODdA0HKuFd5vuLWAQP63w94R/9Haw8bcj6Z3EsXgsL9Uxz6sSuHaMuCcA==","shasum":"393cd71610a58f3e73c8fd3caf3c31d33016be5f","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.ed7e166.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6LfHsb3QWR24lBGz/uihVvoXfw+ZR9HRYta9k2J/ZrAiEAxJje57aumsbcL1iZCpnvhuHV88B7/rBL+b+Y0Xfm3pQ="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.ed7e166_1688484144067_0.6309947099843716"},"_hasShrinkwrap":false},"1.2.10-dev.8ab479a":{"name":"@usedapp/core","version":"1.2.10-dev.8ab479a","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.8ab479a","_integrity":"sha512-j9IPWegmPnnLossMyTgoFAcIPib/TCQfqPt11mmwrnJCgjrCyfYpeKhqNHX5+SnlxyF58p6SmbuXPj9c7VUtsg==","_resolved":"/tmp/cac86ba33d6a1f4d0fca681269e87e5d/usedapp-core-1.2.10-dev.8ab479a.tgz","_from":"file:usedapp-core-1.2.10-dev.8ab479a.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-j9IPWegmPnnLossMyTgoFAcIPib/TCQfqPt11mmwrnJCgjrCyfYpeKhqNHX5+SnlxyF58p6SmbuXPj9c7VUtsg==","shasum":"d553ca0b68e20213beef6016c17b3e6d17f8cfca","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.8ab479a.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETZ48Cqz5STDNQwVyuUHQwuoHFZ6Rep2D1CLi9mYcN8AiEA5h7N9EPuG9ZHIojn+tDoJCdu1z29Tp0nlK9MHFLivuk="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.8ab479a_1688484821570_0.06794293495669157"},"_hasShrinkwrap":false},"1.2.10-dev.b135d16":{"name":"@usedapp/core","version":"1.2.10-dev.b135d16","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.b135d16","_integrity":"sha512-+qHVRGPIbKvbY+KpHE2v7voqZTK67vClGEdXsERbkefdy4XWbwrsG8x4qcINkQA6kcnYLHCj2Fs/kGtWEXdS1g==","_resolved":"/tmp/d553981f061125e6c3eb30a24aca6319/usedapp-core-1.2.10-dev.b135d16.tgz","_from":"file:usedapp-core-1.2.10-dev.b135d16.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-+qHVRGPIbKvbY+KpHE2v7voqZTK67vClGEdXsERbkefdy4XWbwrsG8x4qcINkQA6kcnYLHCj2Fs/kGtWEXdS1g==","shasum":"5d77d8c01c2e11a4c6d3517c0ba8cd37c2ae97ac","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.b135d16.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsTtrznF/fz4+PvqoqIzs3MIMQGzoHIKCM1LvqRo8OGQIhAKN3kIl4WpWjGfE4sKmdt4epXY4LAiQUyrTmcLXjYG7p"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.b135d16_1688487366720_0.5314945784837082"},"_hasShrinkwrap":false},"1.2.10-dev.2ef6b88":{"name":"@usedapp/core","version":"1.2.10-dev.2ef6b88","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.2ef6b88","_integrity":"sha512-FXuqJ3sL+eJGaWifDZgDjLhMlUAQ6goP7/BkjJwvO4gDpiNSNaFiXFUFsrUMmpbDIWvD+P898bjpaQ3NCvpWew==","_resolved":"/tmp/33ca3627c9f428234382cb667f73bcdb/usedapp-core-1.2.10-dev.2ef6b88.tgz","_from":"file:usedapp-core-1.2.10-dev.2ef6b88.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-FXuqJ3sL+eJGaWifDZgDjLhMlUAQ6goP7/BkjJwvO4gDpiNSNaFiXFUFsrUMmpbDIWvD+P898bjpaQ3NCvpWew==","shasum":"b8caf1ee5a4cda9d7d30a903689ae5fd1cc82c02","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.2ef6b88.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHAWvQkinVMP4x/km2LIKbo5mu0BzQZFM/JDbc4f28F6AiARW+O+DJxx8TC7J7C+N7yGZIX3Jw7DDdwKw2g55HgJEQ=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.2ef6b88_1688487833972_0.16503567659893204"},"_hasShrinkwrap":false},"1.2.10-dev.8adf05d":{"name":"@usedapp/core","version":"1.2.10-dev.8adf05d","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.8adf05d","_integrity":"sha512-OZcMwi2dQBWDu3x6BkS3cqOYyzY7nqbb8U6KL6Dpbqo4zEaJMZ053o5J2iH++iWMmONuOy2MxN4hjB3iUF1CGg==","_resolved":"/tmp/69585b8fabf793e8bcd2355a84f5cdec/usedapp-core-1.2.10-dev.8adf05d.tgz","_from":"file:usedapp-core-1.2.10-dev.8adf05d.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-OZcMwi2dQBWDu3x6BkS3cqOYyzY7nqbb8U6KL6Dpbqo4zEaJMZ053o5J2iH++iWMmONuOy2MxN4hjB3iUF1CGg==","shasum":"fec83f096725d917f1dfedb3a5ab1b539d1c16a9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.8adf05d.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOWmui8b8GtLT2JnDjf6uB6EiieHLRR3q5tqVA4c4gSQIgbsZw0Spz6Q62TJy7l25gJnwMiMaaaVf8xk66qcNmh8c="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.8adf05d_1688551837208_0.12894522808367026"},"_hasShrinkwrap":false},"1.2.10-dev.871dc2c":{"name":"@usedapp/core","version":"1.2.10-dev.871dc2c","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.871dc2c","_integrity":"sha512-vCwX2w5uoA8o86DPu0f8ZkXBbTm324KLZFI84zx3KKnF3U4pfi4hbjRjLzGuZYSsp/BSercUrTehGIoeiZcOrA==","_resolved":"/tmp/a3c8fa6a4f903b56f30040414e1e79f9/usedapp-core-1.2.10-dev.871dc2c.tgz","_from":"file:usedapp-core-1.2.10-dev.871dc2c.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-vCwX2w5uoA8o86DPu0f8ZkXBbTm324KLZFI84zx3KKnF3U4pfi4hbjRjLzGuZYSsp/BSercUrTehGIoeiZcOrA==","shasum":"f025258f98ad6718e89483c68fb9423abd9b9f3a","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.871dc2c.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9BujjY3zBPsWA+QItgg2Zem3uGdrFdKPO+aUDLcRN9QIhALsjyWB+m6JdMD7AlTe0SyLxgoEF3tTQ0tvThPM1TM4E"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.871dc2c_1688559646704_0.2847375919552404"},"_hasShrinkwrap":false},"1.2.10-dev.01ed172":{"name":"@usedapp/core","version":"1.2.10-dev.01ed172","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"yarn run build:esm && yarn run build:cjs && yarn build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"yarn lint:prettier --check && yarn lint:eslint","lint:fix":"yarn lint:prettier --write && yarn lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"yarn prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.01ed172","_integrity":"sha512-A4hSSC/Tn3CZc3ztOhxUgE6LmNaq/zPt4p1T48Qr0++r0aYyBTiQqBRTFjAh7IxFNdzAGc++xcOGd4oDelIwfA==","_resolved":"/tmp/c85ff7d2dec621869a8afa696c2834b9/usedapp-core-1.2.10-dev.01ed172.tgz","_from":"file:usedapp-core-1.2.10-dev.01ed172.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-A4hSSC/Tn3CZc3ztOhxUgE6LmNaq/zPt4p1T48Qr0++r0aYyBTiQqBRTFjAh7IxFNdzAGc++xcOGd4oDelIwfA==","shasum":"61891a9ba3521eed3e1e51fa09d5699ff26f451b","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.01ed172.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnk89sqn5vOGuaecL3h/TBovUC5U/64oj0cyY6y0qZ4AiBhbDcf2xYE/rrcoCmkzfWUTKJvKI2Q7++FUxc53YuV5w=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.01ed172_1688560875765_0.42239928498729706"},"_hasShrinkwrap":false},"1.2.10-dev.c1a8d11":{"name":"@usedapp/core","version":"1.2.10-dev.c1a8d11","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.c1a8d11","_integrity":"sha512-jXdZ/xtxVIbXldi33EFTuLx1u8gf6WgwWzYUtCE7fqTlaE5cDNR6xsr8LUxSfQ7nl8VrfnqJynVLY9iJVh9LQw==","_resolved":"/tmp/df4ecc4837f276fa9b7fba9db7ef1080/usedapp-core-1.2.10-dev.c1a8d11.tgz","_from":"file:usedapp-core-1.2.10-dev.c1a8d11.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-jXdZ/xtxVIbXldi33EFTuLx1u8gf6WgwWzYUtCE7fqTlaE5cDNR6xsr8LUxSfQ7nl8VrfnqJynVLY9iJVh9LQw==","shasum":"85377a58c4b4befd05b1690a010ef601388dc1b1","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.c1a8d11.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCBKR68Lz4yBNAwTg1yfFw6151+Mv0w/6mbok5T2FZHAiBj/et3NjT316o1JMvpDOL+dA50mgQJD0xfiTzlTGqYkQ=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.c1a8d11_1689948477107_0.7019700231921173"},"_hasShrinkwrap":false},"1.2.10-dev.3f02a75":{"name":"@usedapp/core","version":"1.2.10-dev.3f02a75","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.10-dev.3f02a75","_integrity":"sha512-BSlWDgGubFzJaowI7r4juqmSVQNsrrZmesO84dqxZSBmSm98VmLFJPy9e1kKnUtzH3X3s65SRrLIrJrDJXuL3g==","_resolved":"/tmp/edc7ea76acbbe6e61ce5455897b86af3/usedapp-core-1.2.10-dev.3f02a75.tgz","_from":"file:usedapp-core-1.2.10-dev.3f02a75.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-BSlWDgGubFzJaowI7r4juqmSVQNsrrZmesO84dqxZSBmSm98VmLFJPy9e1kKnUtzH3X3s65SRrLIrJrDJXuL3g==","shasum":"9d778b50acd93bf2bf13896e6ca5be244d8f8a99","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.10-dev.3f02a75.tgz","fileCount":2244,"unpackedSize":3332466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9fDBmM1VQWhMaIot8puJpOuqvAmGQujZJHVSddXOItAiBvAXNJFMqZXYREt3+q5xQMZgnq8Fg2B+nXcz2+JNOtZg=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.10-dev.3f02a75_1689950266440_0.9144564700618398"},"_hasShrinkwrap":false},"1.2.11-dev.9686190":{"name":"@usedapp/core","version":"1.2.11-dev.9686190","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.11-dev.9686190","_integrity":"sha512-mBCYXnzjLaJa6z0HjV9ApHEp5MIYRNSECokhezEK9DtgN0ZWZBdOaYWhyOqEFXmC54jNnSnp/N2fDIEyxnw5yQ==","_resolved":"/tmp/adaa729761d938d6e851e1249ac37b84/usedapp-core-1.2.11-dev.9686190.tgz","_from":"file:usedapp-core-1.2.11-dev.9686190.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-mBCYXnzjLaJa6z0HjV9ApHEp5MIYRNSECokhezEK9DtgN0ZWZBdOaYWhyOqEFXmC54jNnSnp/N2fDIEyxnw5yQ==","shasum":"5830e1a302fb03199f11fcf269188a2b949c1064","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.11-dev.9686190.tgz","fileCount":2244,"unpackedSize":3335436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/qbQqgKpYMOuNr2crRL8jBiH4geoBuiDDYOOTlk6pBQIhAOQXC2iuxG/p3CQmBrEe+rsowRiHkNte+EmIGKS+r6uz"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.11-dev.9686190_1690894018746_0.9385592723553671"},"_hasShrinkwrap":false},"1.2.11":{"name":"@usedapp/core","version":"1.2.11","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.11","_integrity":"sha512-BMjSy/vBMtdcpPp/GgZq81vslPa+LIdNTYg1mXEibqA1RG87zBR2eP+9iuKFusc6sRs6JorcJbLnM7qWKR9vuQ==","_resolved":"/tmp/cd5f22012dbae62e03bd39dce4332bbb/usedapp-core-1.2.11.tgz","_from":"file:usedapp-core-1.2.11.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-BMjSy/vBMtdcpPp/GgZq81vslPa+LIdNTYg1mXEibqA1RG87zBR2eP+9iuKFusc6sRs6JorcJbLnM7qWKR9vuQ==","shasum":"77563f0bd9a47615ae6579846ebc4395d8445853","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.11.tgz","fileCount":2244,"unpackedSize":3335406,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbusGQU/5ef11AaAMcBBmiJCyWhnqE4kSQpAJc6GrGrAiA+9HmiUkhIaPUqHxFcrnqH07te0r44ULKybHwa01fn7g=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.11_1690926901141_0.2707181478316767"},"_hasShrinkwrap":false},"1.2.11-dev.b4b7b94":{"name":"@usedapp/core","version":"1.2.11-dev.b4b7b94","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethereum-waffle":"4.0.4","ethers":"5.6.9","ganache":"7.0.3","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.11-dev.b4b7b94","_integrity":"sha512-HmQn48EIGfnTKhGo3OSg17QdJr7WuP39q9tDN9/ctOj/npGRbXT36F4UotgQ9v3sH3UhPc8sAntk/GAifGspwg==","_resolved":"/tmp/875f5881950b4b6642f8ce92e2104643/usedapp-core-1.2.11-dev.b4b7b94.tgz","_from":"file:usedapp-core-1.2.11-dev.b4b7b94.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-HmQn48EIGfnTKhGo3OSg17QdJr7WuP39q9tDN9/ctOj/npGRbXT36F4UotgQ9v3sH3UhPc8sAntk/GAifGspwg==","shasum":"8a907192cb4e982c7d637bf4cff3171b67f2cfa2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.11-dev.b4b7b94.tgz","fileCount":2244,"unpackedSize":3335436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC38s39FeXHkP6wNhhet6Au0IqvpHq+SXULSr/Ea/It1QIhAJ/NFoqAcG6pXyMaQL844enmEsUg7kZm3a0TFB1WYT4d"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.11-dev.b4b7b94_1690927069442_0.39087385025154897"},"_hasShrinkwrap":false},"1.2.11-dev.54f7e26":{"name":"@usedapp/core","version":"1.2.11-dev.54f7e26","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.11-dev.54f7e26","_integrity":"sha512-FyTS9LgdjVvE4JrtqY8WbcvgmfvO1Q78Jr1ZoWLy2GRct22+NVzaboE09SMV7EyFq176ltq+RqiUXtbwNCcovQ==","_resolved":"/tmp/f1f419741108a354b854bcd16f269f35/usedapp-core-1.2.11-dev.54f7e26.tgz","_from":"file:usedapp-core-1.2.11-dev.54f7e26.tgz","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-FyTS9LgdjVvE4JrtqY8WbcvgmfvO1Q78Jr1ZoWLy2GRct22+NVzaboE09SMV7EyFq176ltq+RqiUXtbwNCcovQ==","shasum":"bbe221b4b6d8ab63c49c445083c14343f3f1db11","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.11-dev.54f7e26.tgz","fileCount":2253,"unpackedSize":3302302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtGmNBWIVRk3LT9meTcB3faD6q+GJuT/W796VMB6iqlAiAuSuDw4bNFaNJfYgM5HWK1+TBYh7c8nSRTUtX9XLwOiQ=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.11-dev.54f7e26_1691164399829_0.029479979233554054"},"_hasShrinkwrap":false},"1.2.12-dev.252541e":{"name":"@usedapp/core","version":"1.2.12-dev.252541e","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.12-dev.252541e","_integrity":"sha512-Im3IB9OuuQptY/K9B4xL7aeRuJXzLtRHcc71OWxLQ4jYcjy9PYQ2131xLttSn9T/A3feDMaZvwjhwWRTlGc/4A==","_resolved":"/tmp/31c31328a129d4c654b6b79bda90706f/usedapp-core-1.2.12-dev.252541e.tgz","_from":"file:usedapp-core-1.2.12-dev.252541e.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Im3IB9OuuQptY/K9B4xL7aeRuJXzLtRHcc71OWxLQ4jYcjy9PYQ2131xLttSn9T/A3feDMaZvwjhwWRTlGc/4A==","shasum":"366a8abb532c304f5cf12ec0fc4bb57c81f279a4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.12-dev.252541e.tgz","fileCount":2262,"unpackedSize":3315426,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBXGlj5pKUniX6xQgd/KUEjwO53p8/+id1aQgZnrv8w7AiAvh/6oS77Hw6r0x7+kZCHh/ficHEc/RpiPfwehn81RGw=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.12-dev.252541e_1693843819284_0.7926754901681055"},"_hasShrinkwrap":false},"1.2.12":{"name":"@usedapp/core","version":"1.2.12","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.12","_integrity":"sha512-3/5V1i11Phs0wS3IDMLzVUOO9AerewRAgS1N5gdz38VPJTGVwCPo8xMRNOEm/9UHRLEvDdQ32iRhWCFSzWQs1w==","_resolved":"/tmp/475d597a0a88181eccaaeb9480fa0e88/usedapp-core-1.2.12.tgz","_from":"file:usedapp-core-1.2.12.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-3/5V1i11Phs0wS3IDMLzVUOO9AerewRAgS1N5gdz38VPJTGVwCPo8xMRNOEm/9UHRLEvDdQ32iRhWCFSzWQs1w==","shasum":"1f7c018640dc5ec81d1228682df3cd138a9469e5","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.12.tgz","fileCount":2262,"unpackedSize":3315396,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkpuyfDnL+1vcPLsGQgOm5ayHiaY2we9CCocp9HZSzkwIgTy6IjUNUrvtvq8mYCAqweAZ0tvNeIASICku1DHMm9xM="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.12_1693844637691_0.2767547783225397"},"_hasShrinkwrap":false},"1.2.12-dev.179f853":{"name":"@usedapp/core","version":"1.2.12-dev.179f853","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.12-dev.179f853","_integrity":"sha512-k3hZ17SBw9kyjQ58hAnoWu3eFNq0dtr0RqKwgNLseDxhRnmMILBCG2/6MQ9+VCYsnCnTOM9PQmxJVpfHeAVySQ==","_resolved":"/tmp/ca1b61f43997d502b7b33308438c86a4/usedapp-core-1.2.12-dev.179f853.tgz","_from":"file:usedapp-core-1.2.12-dev.179f853.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-k3hZ17SBw9kyjQ58hAnoWu3eFNq0dtr0RqKwgNLseDxhRnmMILBCG2/6MQ9+VCYsnCnTOM9PQmxJVpfHeAVySQ==","shasum":"11674a4a2d13f0fb60fd05bdfd4d742e0282f600","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.12-dev.179f853.tgz","fileCount":2262,"unpackedSize":3315426,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGGo8MBHtokEGeREsBqA+fRstoUfOXvxzSKB268LASh2AiA6kTLKLoOsQuAtrPal8k1vI/bsQErC2RB4U/ueXse3Nw=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.12-dev.179f853_1693844796585_0.8312748798773204"},"_hasShrinkwrap":false},"1.2.13-dev.0aeb599":{"name":"@usedapp/core","version":"1.2.13-dev.0aeb599","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.13-dev.0aeb599","_integrity":"sha512-igBvtlXhszH/vbzKCUkqa9zAfOyqhFqC5N/46rBUBzcmOzHV9MQdewDZkJxRoCGIZYR2rjFr8sHemunqpzwDBA==","_resolved":"/tmp/69d014c25f7bb423d5af19c94f198e3a/usedapp-core-1.2.13-dev.0aeb599.tgz","_from":"file:usedapp-core-1.2.13-dev.0aeb599.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-igBvtlXhszH/vbzKCUkqa9zAfOyqhFqC5N/46rBUBzcmOzHV9MQdewDZkJxRoCGIZYR2rjFr8sHemunqpzwDBA==","shasum":"6c0bd6c45ac10e1eebb59807595a51fde7fbc4b8","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.13-dev.0aeb599.tgz","fileCount":2262,"unpackedSize":3318944,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu9ErSXHbLN0b2ZE0ggfEga5wel/Ky+lzm6mw55HYZFQIhANqYcxAKX7Os4KkFtE2Y3ZVLBW309J5ZHRkTZ/n8eP46"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.13-dev.0aeb599_1694722688736_0.7551862783573788"},"_hasShrinkwrap":false},"1.2.13":{"name":"@usedapp/core","version":"1.2.13","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.13","_integrity":"sha512-mlWIIXvWdu+f3J0DCNNiPd9blTzuknQvTNy0yX61x/XDoZNqoPfs+0ALMndvmPKN8VMNbo0fwTjoR3R8rNfx9g==","_resolved":"/tmp/858b8f56871ec0eb716b261d40399e37/usedapp-core-1.2.13.tgz","_from":"file:usedapp-core-1.2.13.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-mlWIIXvWdu+f3J0DCNNiPd9blTzuknQvTNy0yX61x/XDoZNqoPfs+0ALMndvmPKN8VMNbo0fwTjoR3R8rNfx9g==","shasum":"221704d2d239b38d8c4782a195607af9e824e6ed","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.13.tgz","fileCount":2262,"unpackedSize":3318914,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGdLv/YgA9qIrG9Ko/9UhIiv8lMpoYs7qa05of5f9iavAiEArTLayShyoHHCQk0Ug24VI/1yhNcEXetCyOymGFGXlCE="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.13_1694726339499_0.7714532614320533"},"_hasShrinkwrap":false},"1.2.13-dev.cd70dbe":{"name":"@usedapp/core","version":"1.2.13-dev.cd70dbe","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.13-dev.cd70dbe","_integrity":"sha512-w06WeWRhtmWD9DmGjUH/noBpFZWTbTUX0m2Lt9HEptOET+pKA8uwqTF0tMR0mtzfwY0vgoy3RE89gBeqKFtGbg==","_resolved":"/tmp/fd1cfde89fbe99bbb9acd964bb9a2241/usedapp-core-1.2.13-dev.cd70dbe.tgz","_from":"file:usedapp-core-1.2.13-dev.cd70dbe.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-w06WeWRhtmWD9DmGjUH/noBpFZWTbTUX0m2Lt9HEptOET+pKA8uwqTF0tMR0mtzfwY0vgoy3RE89gBeqKFtGbg==","shasum":"3e4d155ddf12e929f3d09e15eceb23614d0f8161","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.13-dev.cd70dbe.tgz","fileCount":2262,"unpackedSize":3318944,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLu9hVEB/sxWGpBVfySg62nmu57PRiQ/Cl2dMFzIbr0AiBgWbqZiFlN4iFAv16eXnl/XapKEYwGJLVlIXbmmzOEAQ=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.13-dev.cd70dbe_1694726536789_0.8336619011514079"},"_hasShrinkwrap":false},"1.2.13-dev.9bfca72":{"name":"@usedapp/core","version":"1.2.13-dev.9bfca72","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.13-dev.9bfca72","_integrity":"sha512-SV5qhs+eWmdR7NnAy/f/7Ytp+qX4HK6MwEgL1ErbCX1oJhZKIYNjlDzq/KtV8saEKtqZ7mJaL5T9XGuMrFANkw==","_resolved":"/tmp/ca9bf920d3c6cce53e278c5d96eb6210/usedapp-core-1.2.13-dev.9bfca72.tgz","_from":"file:usedapp-core-1.2.13-dev.9bfca72.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-SV5qhs+eWmdR7NnAy/f/7Ytp+qX4HK6MwEgL1ErbCX1oJhZKIYNjlDzq/KtV8saEKtqZ7mJaL5T9XGuMrFANkw==","shasum":"ece30e41607d612211cb0901e52ab626b615911e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.13-dev.9bfca72.tgz","fileCount":2262,"unpackedSize":3318944,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYEoJ/4vvdSCvI/pHKGhJDKJsyAucRB6l9WgSvt1WMyAIgJoxyhD2PbmnSEskCPcnUi+gIuVQp/hZ77Wn8pR27NDY="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.13-dev.9bfca72_1697109711832_0.27083578051355817"},"_hasShrinkwrap":false},"1.2.13-dev.3c2c07a":{"name":"@usedapp/core","version":"1.2.13-dev.3c2c07a","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.13-dev.3c2c07a","_integrity":"sha512-u/hwWQAvVojL+3XlkZNCalZULFffkZYM82eBxhrQpewL6UvNS+UbyPqJTweiVb0X8WvL2zDAerbDfPYCio921g==","_resolved":"/tmp/2a6de905333f76114d769edb6fd56cca/usedapp-core-1.2.13-dev.3c2c07a.tgz","_from":"file:usedapp-core-1.2.13-dev.3c2c07a.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-u/hwWQAvVojL+3XlkZNCalZULFffkZYM82eBxhrQpewL6UvNS+UbyPqJTweiVb0X8WvL2zDAerbDfPYCio921g==","shasum":"b0ff2b32b38cdc60cefb8bc2a4ae8aa8c4a8e412","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.13-dev.3c2c07a.tgz","fileCount":2262,"unpackedSize":3318944,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmDx5HHWPb8did6cBWQ9/KlmZfvCYPkST2OmjCwI8FAwIhAOyLhv6NBrIMrlGU9sqAu+hVAszJPsLoF5tgERZtawB1"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.13-dev.3c2c07a_1702563317944_0.5555751197629399"},"_hasShrinkwrap":false},"1.2.14-dev.7354965":{"name":"@usedapp/core","version":"1.2.14-dev.7354965","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.14-dev.7354965","_integrity":"sha512-SbPIcXUZXmYY2e7Xn+TjHBeGtvBKn7B3PfWyHOfsCNlEHBUMjXfX9lei8a7S5U5+hOEmZKn7eC0LxHJppkRUog==","_resolved":"/tmp/26f5898deacbcd2170bd8b68701e769b/usedapp-core-1.2.14-dev.7354965.tgz","_from":"file:usedapp-core-1.2.14-dev.7354965.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-SbPIcXUZXmYY2e7Xn+TjHBeGtvBKn7B3PfWyHOfsCNlEHBUMjXfX9lei8a7S5U5+hOEmZKn7eC0LxHJppkRUog==","shasum":"a34d55475da69943092559c6d16f4acd46b8d6f2","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.14-dev.7354965.tgz","fileCount":2262,"unpackedSize":3322018,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6FG0tkQlg1BGbzAAbnpEkHcM8gWmnZkUpvFCl2CEpnwIgBuzB93VcI0XbGeqSq/r+bdT0T1+c9NGJxrEaephktS0="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.14-dev.7354965_1715586575420_0.47971059901898583"},"_hasShrinkwrap":false},"1.2.14":{"name":"@usedapp/core","version":"1.2.14","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.14","_integrity":"sha512-y2BYBhuk04oGkd1YBK/ywgTaserE4UVsrizFS0wt5Q+yr9zzGGmREzwxVizS7ZvUZ0TIqrtz3w8uRiy/B1IUfA==","_resolved":"/tmp/5f68aa240533f6b49332eb9169e84638/usedapp-core-1.2.14.tgz","_from":"file:usedapp-core-1.2.14.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-y2BYBhuk04oGkd1YBK/ywgTaserE4UVsrizFS0wt5Q+yr9zzGGmREzwxVizS7ZvUZ0TIqrtz3w8uRiy/B1IUfA==","shasum":"4fe60bbc733ae1b8a3be1536903eed75de758024","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.14.tgz","fileCount":2262,"unpackedSize":3321988,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfLqqcFvpeD0G7htLGw1gJhocEHhDq0kShggXacDsOVAiBwMvb4+nsiFWtSlPoTE4tem7wV18zF7uSTCSbpQgG/QA=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.14_1715586768460_0.7019071595864979"},"_hasShrinkwrap":false},"1.2.14-dev.873b997":{"name":"@usedapp/core","version":"1.2.14-dev.873b997","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.14-dev.873b997","_integrity":"sha512-mK8lA73Xe2JmVyatGpI9y9M79dSFRVuzT9JLcpfIr466RZt3xjesupdaLkH+F3iTX5wsapPYV7M/iIFqIaEAFw==","_resolved":"/tmp/b076a99534e79b0b0b6141cbc195e186/usedapp-core-1.2.14-dev.873b997.tgz","_from":"file:usedapp-core-1.2.14-dev.873b997.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-mK8lA73Xe2JmVyatGpI9y9M79dSFRVuzT9JLcpfIr466RZt3xjesupdaLkH+F3iTX5wsapPYV7M/iIFqIaEAFw==","shasum":"5c1a067c58c4792317c93f5e4d3ef93fa58490e0","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.14-dev.873b997.tgz","fileCount":2262,"unpackedSize":3322018,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICks55QtWBZDhL1j6xRT/YwUFO1CB5w12xoGz4CvPXiiAiAfnTFkrDsMZhrPKTU5GYIyeYhdaqLZFDmS8RUADCtpow=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.14-dev.873b997_1715588938774_0.7864591382296018"},"_hasShrinkwrap":false},"1.2.14-dev.42eb191":{"name":"@usedapp/core","version":"1.2.14-dev.42eb191","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.14-dev.42eb191","_integrity":"sha512-qjOHsvNA+DrPpdn7SHvyN6P2fXaxCY1xWs7b2lsMf7Xm/702/JTxzq8MTOnrZyJH86cynP86zCqXQKsbgj6XIw==","_resolved":"/tmp/bade3e8a1853f51ac9b387aa21247860/usedapp-core-1.2.14-dev.42eb191.tgz","_from":"file:usedapp-core-1.2.14-dev.42eb191.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-qjOHsvNA+DrPpdn7SHvyN6P2fXaxCY1xWs7b2lsMf7Xm/702/JTxzq8MTOnrZyJH86cynP86zCqXQKsbgj6XIw==","shasum":"4b509600d032d37b6f38e5ef29f9128fec4636d1","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.14-dev.42eb191.tgz","fileCount":2262,"unpackedSize":3322018,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBX6ouia0XpsTe96tohZIdp4YwVLeCtLh0U/4a/s1sJoAiEAzIfzdIQw9D2/GQpRstOPESGxhtsgT6St1vl10BK8QI0="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.14-dev.42eb191_1715602747132_0.6612095305635803"},"_hasShrinkwrap":false},"1.2.15-dev.afbdba8":{"name":"@usedapp/core","version":"1.2.15-dev.afbdba8","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15-dev.afbdba8","_integrity":"sha512-wmfgSyGuPdm/lIkzf+5KBEDrddTfnUVRv+hVPURZweevxwmIFl8HdSTNgnPSd8AX1iMzxsxvmx14Bb58dbiw6w==","_resolved":"/tmp/e30c102efe50aeb6ad6085b964f1d757/usedapp-core-1.2.15-dev.afbdba8.tgz","_from":"file:usedapp-core-1.2.15-dev.afbdba8.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-wmfgSyGuPdm/lIkzf+5KBEDrddTfnUVRv+hVPURZweevxwmIFl8HdSTNgnPSd8AX1iMzxsxvmx14Bb58dbiw6w==","shasum":"f239b9a6d4c02b79af06b41c2d6fa171c0f71ce4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15-dev.afbdba8.tgz","fileCount":2262,"unpackedSize":3322605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNdMyxvJjzQxfrQSjllTJOS9ZXS13GW8zS5L7t/CebBAIhAI3PoqFzGJ89D+rBIvoQpYz8mmItZcQY5CXMTvAEr7WR"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15-dev.afbdba8_1715604538356_0.9282322897084978"},"_hasShrinkwrap":false},"1.2.15":{"name":"@usedapp/core","version":"1.2.15","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15","_integrity":"sha512-ztXGW+9UFsWUvTheE1ZYBKhhzTM0UwryvetHnZM6jgjsHNRXSsaODRDh/T23UcD790kPcfFa0i6evU/KzOeTsQ==","_resolved":"/tmp/d5619d4d9f2fc73a491523439bef589d/usedapp-core-1.2.15.tgz","_from":"file:usedapp-core-1.2.15.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-ztXGW+9UFsWUvTheE1ZYBKhhzTM0UwryvetHnZM6jgjsHNRXSsaODRDh/T23UcD790kPcfFa0i6evU/KzOeTsQ==","shasum":"cf556fa45b92c04156dd382d76b7fcddab6ce02e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15.tgz","fileCount":2262,"unpackedSize":3322575,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDSGG1XDrLcvNbhp7qkxXI2LM3cJI23y6Wfs2DikAU2tAiEAnRVEratDD7T3FRLJec6Y+SkS47VCow4EH+b18XTq7to="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15_1715604657583_0.4334197099708379"},"_hasShrinkwrap":false},"1.2.15-dev.4840545":{"name":"@usedapp/core","version":"1.2.15-dev.4840545","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15-dev.4840545","_integrity":"sha512-6WOYoVe+59OrdyMHprmbga7BMs7c9p2xmD64FafERUXa/ZK+/I2zlytxTiovW4YcJv4TyztIHlYvnjRpkdq1lA==","_resolved":"/tmp/d8f2e96cb18274ee5bff74a178d8ba44/usedapp-core-1.2.15-dev.4840545.tgz","_from":"file:usedapp-core-1.2.15-dev.4840545.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-6WOYoVe+59OrdyMHprmbga7BMs7c9p2xmD64FafERUXa/ZK+/I2zlytxTiovW4YcJv4TyztIHlYvnjRpkdq1lA==","shasum":"27f3206c84c9d018ffed55929b3372b4c0e0efe9","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15-dev.4840545.tgz","fileCount":2262,"unpackedSize":3322605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCASyr+POzF3GtXfd6UXvqXu7s7HOlILxIhNoLBjWnBQIhAPOBj1d873R+fjPDKmRR6Q1Q7t8zcBIPdhk1GxFqh5Zd"}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15-dev.4840545_1715604772789_0.4141985710390417"},"_hasShrinkwrap":false},"1.2.15-dev.999b916":{"name":"@usedapp/core","version":"1.2.15-dev.999b916","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15-dev.999b916","_integrity":"sha512-PZz2gfhysTMMkp9GF6ioVqzraeGpHb/PXrfU0aTz2X3E5WvzDcMKOZ1UsAF96lOkjtUtEtBycg+PcjnoLHDp2A==","_resolved":"/tmp/bde2e496dc8b36c99367997ec7c24077/usedapp-core-1.2.15-dev.999b916.tgz","_from":"file:usedapp-core-1.2.15-dev.999b916.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-PZz2gfhysTMMkp9GF6ioVqzraeGpHb/PXrfU0aTz2X3E5WvzDcMKOZ1UsAF96lOkjtUtEtBycg+PcjnoLHDp2A==","shasum":"011538bf0f1e63cb3a512b24f618a8ecb961b064","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15-dev.999b916.tgz","fileCount":2262,"unpackedSize":3322605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSnc5WVNKvUsNFJanMetXRqoCt89MYStuPSzc3FUl84wIgNiXB5Zg8vH3Qafp2GV2TsvqCun08IwZ2j29ZLVq2R7g="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15-dev.999b916_1715687656492_0.5894547114137862"},"_hasShrinkwrap":false},"1.2.15-dev.b9113ed":{"name":"@usedapp/core","version":"1.2.15-dev.b9113ed","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15-dev.b9113ed","_integrity":"sha512-ukiFLbE+rxcRXnlvuk8oJUEjNs+0I+8TR0i1kaXr+PR7xvib4qJwXhPLfmqagnTi34BEflyKTIvhbaFzkeKJvw==","_resolved":"/tmp/0d685886160cbc02967041251f0a2a70/usedapp-core-1.2.15-dev.b9113ed.tgz","_from":"file:usedapp-core-1.2.15-dev.b9113ed.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-ukiFLbE+rxcRXnlvuk8oJUEjNs+0I+8TR0i1kaXr+PR7xvib4qJwXhPLfmqagnTi34BEflyKTIvhbaFzkeKJvw==","shasum":"a10d38be53f0bd2fa42860bc2c4ba0b66c1a201e","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15-dev.b9113ed.tgz","fileCount":2262,"unpackedSize":3322605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFynyGKzDhSccsamK1QnhneEvoB3M2T5yIsehXknS7PUAiEAligp2PN9bAH0LvvueWvSzKCv8ZPu+l7KRUXQMsf3Nc0="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15-dev.b9113ed_1715694789216_0.43030814225761005"},"_hasShrinkwrap":false},"1.2.15-dev.bce5650":{"name":"@usedapp/core","version":"1.2.15-dev.bce5650","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.6.1","@ethersproject/abstract-provider":"^5.6.1","@ethersproject/providers":"5.6.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.6.9","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15-dev.bce5650","_integrity":"sha512-sRWaIghAwxoKMjvnDNhwA+J7rBQi5yeVaAmJ02Z4YaVJEH+sbgSbcNuY9YNN+r2lt34dyxdJ33FaBQOsRyzQ9A==","_resolved":"/tmp/c3a174a2090858b4d23bb4973ffb4ebe/usedapp-core-1.2.15-dev.bce5650.tgz","_from":"file:usedapp-core-1.2.15-dev.bce5650.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-sRWaIghAwxoKMjvnDNhwA+J7rBQi5yeVaAmJ02Z4YaVJEH+sbgSbcNuY9YNN+r2lt34dyxdJ33FaBQOsRyzQ9A==","shasum":"26b92059017b47246b51c7a3e13defdcd7c67751","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15-dev.bce5650.tgz","fileCount":2262,"unpackedSize":3322605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQwkHcJsAROCZ/ZWYiGhoqks2dPO5x2QhN1XjWZE5PuAiAHUyhZ4/YEptkKVgm314rJvdS/OGSDvCeKHABoP58OEw=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15-dev.bce5650_1715944801802_0.7933032665495263"},"_hasShrinkwrap":false},"1.2.15-dev.5a626b8":{"name":"@usedapp/core","version":"1.2.15-dev.5a626b8","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.7.0","@ethersproject/abstract-provider":"^5.7.0","@ethersproject/providers":"5.7.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.7.2","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.15-dev.5a626b8","_integrity":"sha512-xYjggEFjL0Zxc136UkxvJcU/JnqCYP/lSEves73pcioftpFExKZkVWTD+/N2V82HMEFqYwtBUz4gxjUIYRV+Rw==","_resolved":"/tmp/2a7d68b0ab5c05fcc84591d6ff0713a2/usedapp-core-1.2.15-dev.5a626b8.tgz","_from":"file:usedapp-core-1.2.15-dev.5a626b8.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-xYjggEFjL0Zxc136UkxvJcU/JnqCYP/lSEves73pcioftpFExKZkVWTD+/N2V82HMEFqYwtBUz4gxjUIYRV+Rw==","shasum":"8de7855101b3415f0075051907771c26d47ffbb4","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.15-dev.5a626b8.tgz","fileCount":2262,"unpackedSize":3313369,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0cGcHjO4ZakfLPmxxg5W+Nw6/PTyRitANHfIoxULXsAiBN3LZ7gSk+iwSaizHAOpXf4xix+UIoAJKBiaW+YzsdZw=="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.15-dev.5a626b8_1715946372974_0.5195195808658348"},"_hasShrinkwrap":false},"1.2.16-dev.38e39dd":{"name":"@usedapp/core","version":"1.2.16-dev.38e39dd","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.7.0","@ethersproject/abstract-provider":"^5.7.0","@ethersproject/providers":"5.7.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.7.2","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.16-dev.38e39dd","_integrity":"sha512-B3pfc1pHJLaTs0RyczFhRYeyopEhGixtnkQ880CpB9L9Q77TJBySPVEm3SyQ5NxN3Emqgb8KGaw3at3wxQSgOg==","_resolved":"/tmp/0d92e2afd042d4ab81b4bd35bde772e9/usedapp-core-1.2.16-dev.38e39dd.tgz","_from":"file:usedapp-core-1.2.16-dev.38e39dd.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-B3pfc1pHJLaTs0RyczFhRYeyopEhGixtnkQ880CpB9L9Q77TJBySPVEm3SyQ5NxN3Emqgb8KGaw3at3wxQSgOg==","shasum":"45e84efc72369d7486963220f0866128cd1dfd67","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.16-dev.38e39dd.tgz","fileCount":2289,"unpackedSize":3397479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIshtqkjQKO7MUTxlWNZD3ENh9MMyej1KBt6UtKoI95AiEA8H3+SExVUfwr6Bmnb/ByJut/0HfyL6wC49MUjhQvMho="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.16-dev.38e39dd_1716801869618_0.9248166517729934"},"_hasShrinkwrap":false},"1.2.16":{"name":"@usedapp/core","version":"1.2.16","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.7.0","@ethersproject/abstract-provider":"^5.7.0","@ethersproject/providers":"5.7.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.7.2","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.16","_integrity":"sha512-IgJzxItngsSDoVemXChFqiqqvV9gjp7OvEaM2ajZ3GZPA3JMBKw+tPBwhjjjKvnHgcIpE4kEBaWaosYqMzQG0Q==","_resolved":"/tmp/87502c4c91783ce1585ec3870bb5df88/usedapp-core-1.2.16.tgz","_from":"file:usedapp-core-1.2.16.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-IgJzxItngsSDoVemXChFqiqqvV9gjp7OvEaM2ajZ3GZPA3JMBKw+tPBwhjjjKvnHgcIpE4kEBaWaosYqMzQG0Q==","shasum":"06716542ceca419ea51f846e70318b8cf16bab31","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.16.tgz","fileCount":2289,"unpackedSize":3397449,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiBogOuGZV5S+xcGMKk7g2j6WPIX6Si2zTIkDWBEhqZQIgLF6j56QQ059oFWyep+DYzdeVWJdmDlOChOY+eHkvZa4="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.16_1716802846264_0.30486819268027143"},"_hasShrinkwrap":false},"1.2.16-dev.e0c8437":{"name":"@usedapp/core","version":"1.2.16-dev.e0c8437","repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","sideEffects":false,"main":"dist/cjs/src/index.js","module":"dist/esm/src/index.js","types":"dist/esm/src/index.d.ts","bin":{"usedapp-generate-hooks":"bin/usedapp-generate-hooks.js"},"dependencies":{"@metamask/detect-provider":"^2.0.0","@uniswap/token-lists":"^1.0.0-beta.27","fetch-mock":"^9.11.0","lodash.merge":"^4.6.2","lodash.pickby":"^4.6.0","nanoid":"3.3.4"},"peerDependencies":{"ethers":"^5","react":"*"},"devDependencies":{"@ethersproject/abi":"5.7.0","@ethersproject/abstract-provider":"^5.7.0","@ethersproject/providers":"5.7.2","@swc-node/register":"^1.4.2","@testing-library/react-hooks":"^5.0.3","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/lodash":"^4.14.170","@types/lodash.merge":"^4.6.6","@types/lodash.pickby":"^4.6.6","@types/mocha":"^8.2.0","@types/node":"^17.0.21","@types/react":"17.0.1","@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"7.22.0","eslint-plugin-react-hooks":"^4.3.0","ethers":"5.7.2","ganache":"7.9.0","jsdom":"^16.4.0","jsdom-global":"^3.0.2","mocha":"^8.2.1","mock-local-storage":"^1.1.17","prettier":"^2.1.2","react":"17.0.1","solc":"^0.8.12","ts-node":"^10.7.0","typechain":"^7.0.0","typescript":"^4.6.2","wait-for-expect":"^3.0.2"},"publishConfig":{"access":"public","tag":"dev"},"scripts":{"build":"pnpm run build:esm && pnpm run build:cjs && pnpm build:cli","build:esm":"tsc --module es2020 --target es2017 --outDir dist/esm","build:cjs":"tsc --outDir dist/cjs","build:cli":"tsc ./generate-hooks/generate-hooks.ts --outDir bin && chmod +x bin/*","test":"TS_NODE_PROJECT=./tsconfig.test.json mocha","lint":"pnpm lint:prettier --check && pnpm lint:eslint","lint:fix":"pnpm lint:prettier --write && pnpm lint:eslint --fix","lint:eslint":"eslint './{src,test}/**/*.{ts,tsx}'","lint:prettier":"pnpm prettier './{src,test}/**/*.{ts,tsx}'"},"readme":"# useDapp\n\n[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml)\n[![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/ppFxC3E44X)\n\n### Ethereum 🤝 React \nFramework for rapid Dapp development.  \nSimple. Robust. Extendable. Testable.\n\n## About\nIntroduces great features:\n- 🏗️ **React hooks** - Uses React hooks as your primary building ingredient\n- 🚅 **Auto refresh** - Refreshes on a new block, wallet change or network change\n- 🛒 **Multicall** - Combines multiple blockchain calls into a single multicall\n\nCombines the best practices:\n- 🔧 **Modern stack** - Employs [ethers.js](https://github.com/ethers-io/), [multicall](https://github.com/makerdao/multicall) & [waffle](https://getwaffle.io/)\n- 📚 **Extendability** - Extends easily with custom hooks\n- 💡 **Testability** - Simple integration tests for UI and blockchain\n\n\n## Example\n\n```tsx\nimport { Mainnet } from '@usedapp/core/modal/chain/ethereum'\nimport { useEthers, useEtherBalance } from '@usedapp/core'\n\nconst config = {\n  readOnlyChainId: Mainnet.chainId,\n  readOnlyUrls: {\n    [Mainnet.chainId]: 'https://mainnet.infura.io/v3/62687d1a985d4508b2b7a24827551934',\n  },\n}\n\nReactDOM.render(\n  <DAppProvider config={config}>\n    <App />\n  </DAppProvider>,\n  document.getElementById('root')\n)\n\nconst STAKING_CONTRACT = '0x00000000219ab540356cBB839Cbe05303d7705Fa'\n\nexport function App() {\n  const { activateBrowserWallet, deactivate, account } = useEthers()\n  const userBalance = useEtherBalance(account)\n  const stakingBalance = useEtherBalance(STAKING_CONTRACT)\n\n  return (\n    <div>\n      {!account && <button onClick={activateBrowserWallet}> Connect </button>}\n      {account && <button onClick={deactivate}> Disconnect </button>}\n      {stakingBalance && <p>ETH2 staking balance: {formatEther(stakingBalance)} ETH </p>}\n      {account && <p>Account: {account}</p>}\n      {userBalance && <p>Ether balance: {formatEther(userBalance)} ETH </p>}\n    </div>\n  )\n}\n```\n\nSee application [here](https://example.usedapp.io/balance).\n\n\n## Documentation\nFor detailed feature walkthrough checkout [documentation](https://usedapp-docs.netlify.app/docs).\n\n## Contributing\n\nContributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/TrueFiEng/useDApp/blob/master/CODE_OF_CONDUCT.md) and [contribution policy](https://github.com/TrueFiEng/useDApp/blob/master/CONTRIBUTION.md).\n\n### Before you issue pull request:\n\n* Make sure all tests pass.\n* Make sure linter passes.\n* Make sure you have test coverage for any new features.\n\nTo install dependencies type:\n```sh\nnpm i -g pnpm\npnpm install\n```\n\nTo build project:\n```sh\nyarn build\n```\n\nTo run tests type:\n```sh\nyarn test\n```\n\nTo run linter type:\n```sh\nyarn lint\n```\n\n## License\n\nuseDapp is released under the [MIT License](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"},"homepage":"https://github.com/TrueFiEng/useDApp#readme","_id":"@usedapp/core@1.2.16-dev.e0c8437","_integrity":"sha512-adbA3of8MZ2DWBJAUtE0GYKboPE9Vc5X2zLfXkdVVrkDVjfmK+VrHkQO761AbYMMgDP24H107hD/Tt+ZeHFEMw==","_resolved":"/tmp/53fb5016ec3a5327829431f6cbac7f7a/usedapp-core-1.2.16-dev.e0c8437.tgz","_from":"file:usedapp-core-1.2.16-dev.e0c8437.tgz","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-adbA3of8MZ2DWBJAUtE0GYKboPE9Vc5X2zLfXkdVVrkDVjfmK+VrHkQO761AbYMMgDP24H107hD/Tt+ZeHFEMw==","shasum":"0356fb66e9455f3d0d8466a6eb54911fe7b5adfc","tarball":"https://registry.npmjs.org/@usedapp/core/-/core-1.2.16-dev.e0c8437.tgz","fileCount":2289,"unpackedSize":3397479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwCo//gkXuCpjquYKiMxi1IkPlMUAJnAEN5bIF7zx3WAiEAlr7J3u6fN5jo8uApXvPQhQJ+LbXn0bPuto/VrJnbuu8="}]},"_npmUser":{"name":"ethworks","email":"eng-services@wallfacer.io"},"directories":{},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.2.16-dev.e0c8437_1716802960811_0.5080869925133826"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-11T19:37:27.597Z","0.1.0":"2021-02-11T19:37:28.036Z","modified":"2024-05-27T09:42:41.306Z","0.1.1":"2021-02-14T16:38:12.177Z","0.1.2":"2021-02-15T08:40:03.007Z","0.1.3":"2021-02-15T09:41:42.480Z","0.1.4":"2021-02-26T10:58:19.558Z","0.1.5":"2021-02-26T11:34:13.836Z","0.1.6":"2021-02-26T13:13:57.887Z","0.1.7":"2021-02-26T14:17:08.169Z","0.2.0":"2021-03-05T12:06:34.731Z","0.2.1":"2021-03-13T08:01:25.370Z","0.2.2":"2021-03-25T14:57:24.570Z","0.3.0":"2021-04-02T10:14:52.553Z","0.3.1":"2021-04-02T20:44:28.289Z","0.3.2":"2021-04-03T08:33:42.198Z","0.3.3":"2021-04-03T10:46:23.989Z","0.3.4":"2021-04-03T18:09:15.925Z","0.3.5":"2021-04-07T12:40:48.747Z","0.3.6":"2021-04-08T11:00:52.616Z","0.3.7":"2021-04-09T07:51:37.165Z","0.3.9":"2021-04-10T11:47:00.132Z","0.3.10":"2021-04-11T18:31:33.435Z","0.3.11":"2021-04-12T09:27:48.255Z","0.3.12":"2021-04-14T10:08:29.743Z","0.3.13":"2021-04-14T12:04:56.276Z","0.3.14":"2021-04-15T07:09:57.880Z","0.3.15":"2021-04-16T08:40:14.455Z","0.3.16":"2021-05-05T15:10:30.613Z","0.3.17":"2021-05-11T14:27:18.625Z","0.3.18":"2021-05-16T19:28:52.330Z","0.3.19":"2021-05-17T08:11:19.719Z","0.3.20":"2021-05-25T07:07:37.253Z","0.3.22":"2021-05-28T17:25:18.095Z","0.3.23":"2021-05-29T09:08:55.596Z","0.3.24":"2021-05-31T09:33:35.652Z","0.4.0":"2021-06-29T12:52:43.656Z","0.4.1":"2021-07-10T19:25:15.025Z","0.4.2":"2021-07-22T09:02:09.255Z","0.4.3":"2021-08-01T16:52:35.234Z","0.4.4":"2021-08-04T15:04:11.295Z","0.4.5":"2021-08-23T13:51:31.240Z","0.4.6":"2021-08-23T15:25:45.586Z","0.4.7":"2021-08-29T18:18:34.739Z","0.4.8":"2021-09-16T18:25:39.105Z","0.5.0":"2021-09-23T14:28:42.108Z","0.5.1":"2021-09-28T06:33:53.203Z","0.5.2":"2021-10-04T11:45:49.402Z","0.5.3":"2021-10-08T11:42:28.754Z","0.5.4":"2021-10-10T06:06:25.362Z","0.5.5":"2021-11-15T20:30:07.165Z","0.5.6":"2021-11-17T08:55:04.699Z","0.6.0":"2021-11-19T09:15:27.758Z","0.6.1":"2021-11-19T16:27:25.835Z","0.6.2":"2021-11-19T17:30:51.081Z","0.6.3":"2021-11-19T23:37:30.045Z","0.7.0":"2021-12-06T20:53:33.983Z","0.7.1":"2021-12-13T16:12:21.296Z","0.7.2":"2021-12-21T14:03:02.052Z","0.7.3":"2021-12-26T09:53:19.157Z","0.8.0":"2022-01-11T13:51:35.779Z","0.9.0":"2022-01-13T13:07:48.585Z","0.9.1":"2022-01-21T14:52:55.355Z","0.10.0":"2022-01-26T12:52:58.952Z","0.10.1":"2022-02-03T15:21:23.137Z","0.11.0":"2022-02-08T12:24:41.412Z","0.12.1":"2022-03-17T11:07:52.731Z","0.12.2":"2022-03-31T11:44:36.897Z","0.12.3":"2022-04-04T09:54:06.717Z","0.12.4":"2022-04-05T16:31:30.193Z","0.12.5":"2022-04-06T13:16:01.525Z","0.12.6":"2022-04-07T10:15:13.668Z","0.12.7":"2022-04-07T11:10:06.971Z","0.12.8":"2022-04-08T14:39:26.457Z","0.12.9":"2022-04-11T13:37:32.927Z","1.0.0":"2022-04-14T09:28:30.773Z","1.0.0-dev.0666b35":"2022-04-21T12:21:24.242Z","1.0.1-dev.fbfcd95":"2022-04-21T12:43:11.801Z","1.0.1-dev.abad766":"2022-04-21T13:07:13.653Z","1.0.1-dev.c52c33d":"2022-04-22T08:26:06.287Z","1.0.1-dev.dd1a719":"2022-04-22T13:19:50.893Z","1.0.1-dev.29bb51a":"2022-04-22T13:22:15.180Z","1.0.1-dev.2c91fb8":"2022-04-23T17:10:30.528Z","1.0.1-dev.bccd126":"2022-04-23T17:29:29.669Z","1.0.1-dev.07dd02e":"2022-04-25T13:40:08.767Z","1.0.1-dev.2fc5d97":"2022-04-26T13:27:40.852Z","1.0.1-dev.2f71995":"2022-04-26T13:28:02.021Z","1.0.1-dev.f24dcd4":"2022-04-26T15:05:35.325Z","1.0.1-dev.0bd336f":"2022-04-27T06:10:15.416Z","1.0.1-dev.ea03b78":"2022-04-27T08:28:31.803Z","1.0.1-dev.5721a2c":"2022-04-28T09:33:17.928Z","1.0.1":"2022-04-28T09:39:56.841Z","1.0.1-dev.5f11b9f":"2022-04-28T09:41:02.866Z","1.0.1-dev.fd37c72":"2022-05-02T11:50:49.486Z","1.0.1-dev.87fa34a":"2022-05-02T13:35:09.162Z","1.0.2-dev.a83def5":"2022-05-04T09:24:54.001Z","1.0.2":"2022-05-04T09:28:44.291Z","1.0.2-dev.f04f3db":"2022-05-04T09:29:49.843Z","1.0.2-dev.7bccb34":"2022-05-05T10:50:02.374Z","1.0.2-dev.5091cf4":"2022-05-05T12:01:46.326Z","1.0.3-dev.bdf4202":"2022-05-06T08:52:27.760Z","1.0.3-dev.517fece":"2022-05-09T14:23:06.355Z","1.0.3-dev.ae5b26c":"2022-05-10T09:09:48.552Z","1.0.3-dev.affc998":"2022-05-10T10:05:53.470Z","1.0.3-dev.4ec912d":"2022-05-10T10:40:00.158Z","1.0.3-dev.adc7569":"2022-05-10T12:09:05.254Z","1.0.3-dev.66ae992":"2022-05-11T08:10:21.001Z","1.0.3-dev.39162fe":"2022-05-12T09:03:16.146Z","1.0.3-dev.9236eba":"2022-05-16T11:01:43.791Z","1.0.3-dev.5ad3bfe":"2022-05-16T11:58:33.247Z","1.0.3-dev.9321c36":"2022-05-16T14:19:35.939Z","1.0.3-dev.1536229":"2022-05-16T14:58:42.937Z","1.0.3-dev.e2fb66e":"2022-05-17T12:48:44.208Z","1.0.3-dev.265fd76":"2022-05-18T09:27:06.755Z","1.0.3-dev.ce6f09f":"2022-05-18T09:39:26.792Z","1.0.3-dev.68ca015":"2022-05-18T12:19:30.726Z","1.0.3-dev.1c7433d":"2022-05-18T15:31:26.187Z","1.0.3-dev.afc95db":"2022-05-19T06:56:10.730Z","1.0.3-dev.902a041":"2022-05-23T08:43:05.813Z","1.0.3":"2022-05-23T08:53:36.889Z","1.0.3-dev.360752c":"2022-05-23T08:54:44.706Z","1.0.3-dev.411d038":"2022-05-23T08:55:56.700Z","1.0.4-dev.cb2fef6":"2022-05-25T12:31:44.941Z","1.0.4":"2022-05-26T08:10:56.039Z","1.0.4-dev.af1b4cb":"2022-05-26T08:12:19.250Z","1.0.5-dev.a473e88":"2022-05-26T12:39:58.318Z","1.0.5-dev.bfecea2":"2022-05-26T14:20:33.207Z","1.0.5":"2022-05-26T14:41:59.797Z","1.0.5-dev.841d6eb":"2022-05-26T14:43:08.690Z","1.0.6-dev.9270c47":"2022-05-30T13:14:25.937Z","1.0.6-dev.a5443ce":"2022-05-30T21:32:16.016Z","1.0.6-dev.8a15c4a":"2022-06-01T08:44:17.205Z","1.0.6-dev.4b033a8":"2022-06-01T13:19:16.823Z","1.0.6-dev.1d394c5":"2022-06-01T13:33:40.399Z","1.0.6-dev.bd8ca0f":"2022-06-01T16:20:29.492Z","1.0.6":"2022-06-01T17:14:25.989Z","1.0.6-dev.3a2e264":"2022-06-01T17:16:01.369Z","1.0.7-dev.3d3aedf":"2022-06-02T10:01:37.855Z","1.0.7":"2022-06-02T10:13:44.067Z","1.0.7-dev.fbe2965":"2022-06-02T10:14:56.157Z","1.0.7-dev.9ba803c":"2022-06-03T10:59:39.172Z","1.0.8-dev.6d17ce7":"2022-06-03T11:40:52.504Z","1.0.8-dev.da0712e":"2022-06-03T13:13:38.265Z","1.0.8-dev.3cce319":"2022-06-03T14:01:50.740Z","1.0.8-dev.977d067":"2022-06-03T14:33:09.967Z","1.0.8-dev.4b4de3e":"2022-06-07T08:15:10.520Z","1.0.8-dev.7112c4a":"2022-06-07T09:47:02.846Z","1.0.8-dev.bb20dbb":"2022-06-07T11:38:18.980Z","1.0.8-dev.fafa22a":"2022-06-07T12:46:11.301Z","1.0.8-dev.d4f4972":"2022-06-07T13:23:31.788Z","1.0.8-dev.49e17a8":"2022-06-07T14:57:10.012Z","1.0.8":"2022-06-07T17:55:06.771Z","1.0.8-dev.71df0c4":"2022-06-07T17:56:33.843Z","1.0.9-dev.c0f6984":"2022-06-08T09:07:23.359Z","1.0.9-dev.59c04f5":"2022-06-08T12:12:42.677Z","1.0.9-dev.830da67":"2022-06-08T13:18:53.407Z","1.0.9-dev.a6c1f73":"2022-06-08T13:34:54.145Z","1.0.9-dev.2e8681c":"2022-06-15T11:30:00.941Z","1.0.9":"2022-06-15T12:20:27.447Z","1.0.9-dev.ead593f":"2022-06-15T12:21:45.440Z","1.0.9-dev.600742":"2022-06-15T12:33:33.071Z","1.0.10-dev.dce51f8":"2022-06-20T11:41:18.215Z","1.0.10-dev.2423d1c":"2022-06-20T13:44:46.937Z","1.0.10-dev.270422a":"2022-06-21T08:08:31.626Z","1.0.10":"2022-06-21T09:03:14.332Z","1.0.10-dev.1804678":"2022-06-21T09:04:20.639Z","1.0.11-dev.9f74de8":"2022-06-21T13:11:55.901Z","1.0.11":"2022-06-22T08:25:10.823Z","1.0.11-dev.2c9d41c":"2022-06-22T08:26:12.244Z","1.0.11-dev.feca2d7":"2022-06-22T13:47:07.701Z","1.0.12-dev.e239784":"2022-06-22T14:12:29.648Z","1.0.12":"2022-06-22T14:35:04.849Z","1.0.12-dev.b4e652b":"2022-06-22T14:36:17.181Z","1.0.13-dev.e255c61":"2022-06-22T14:52:23.008Z","1.0.13-dev.0cfbe8f":"2022-06-22T15:53:50.702Z","1.0.13-dev.3cefe55":"2022-06-24T12:26:02.539Z","1.0.13-dev.62bd8e5":"2022-06-24T12:43:36.024Z","1.0.14-dev.4f6bf89":"2022-06-24T12:44:12.807Z","1.0.14-dev.9952a62":"2022-06-24T12:56:41.848Z","1.0.14":"2022-06-24T13:10:33.705Z","1.0.14-dev.9450798":"2022-06-24T13:11:56.264Z","1.0.14-dev.c074e16":"2022-06-27T09:18:32.803Z","1.0.14-dev.593bdb5":"2022-06-28T08:15:56.993Z","1.0.15-dev.6ce8731":"2022-06-28T09:22:23.000Z","1.0.15-dev.8848756":"2022-06-28T10:04:50.261Z","1.0.15":"2022-06-28T10:36:56.355Z","1.0.15-dev.adecb95":"2022-06-28T10:38:48.285Z","1.0.16-dev.1064abf":"2022-06-30T09:50:17.310Z","1.0.16-dev.80b14a7":"2022-07-04T09:07:44.505Z","1.1.0-dev.eb43012":"2022-07-04T15:06:20.654Z","1.1.0-dev.e6c44a8":"2022-07-06T15:40:37.228Z","1.1.0-dev.1a2280e":"2022-07-08T14:03:47.627Z","1.1.0-dev.46182c5":"2022-07-08T15:54:10.550Z","1.1.0":"2022-07-09T15:08:27.906Z","1.1.0-dev.029ca32":"2022-07-09T15:09:56.953Z","1.1.0-dev.401a861":"2022-07-11T09:25:26.771Z","1.1.0-dev.d9539c1":"2022-07-11T09:59:51.874Z","1.1.0-dev.44206c7":"2022-07-11T14:27:30.314Z","1.1.0-dev.a5cdc46":"2022-07-11T14:56:45.958Z","1.1.1-dev.b4c466b":"2022-07-12T08:30:10.959Z","1.1.1":"2022-07-12T09:23:42.055Z","1.1.1-dev.51efdf9":"2022-07-12T09:25:15.123Z","1.1.1-dev.5a53eae":"2022-07-12T10:40:00.880Z","1.1.1-dev.2b2617c":"2022-07-12T13:54:13.949Z","1.1.2-dev.4eb29d1":"2022-07-13T07:58:53.808Z","1.1.2-dev.59c930a":"2022-07-13T08:41:44.485Z","1.1.2-dev.9005c3b":"2022-07-13T13:23:27.591Z","1.1.2":"2022-07-14T08:29:32.826Z","1.1.2-dev.e0b06f4":"2022-07-14T08:31:45.764Z","1.1.2-dev.c2a2ea9":"2022-07-14T14:58:59.248Z","1.1.2-dev.6b23395":"2022-07-14T19:59:01.990Z","1.1.3-dev.95e6019":"2022-07-18T08:16:54.314Z","1.1.3-dev.4b2ebdb":"2022-07-18T15:09:02.795Z","1.1.3-dev.d5cbf66":"2022-07-19T13:13:01.560Z","1.1.3-dev.163befd":"2022-07-19T13:19:55.798Z","1.1.3-dev.5362973":"2022-07-19T13:32:02.674Z","1.1.3-dev.a1a0e50":"2022-07-22T06:35:21.538Z","1.1.3-dev.e2f00ad":"2022-07-22T09:34:31.436Z","1.1.3":"2022-07-22T09:47:34.491Z","1.1.3-dev.9dbf81d":"2022-07-22T09:49:42.976Z","1.1.3-dev.1b4b19a":"2022-07-22T14:15:27.256Z","1.1.3-dev.e23c7a0":"2022-07-28T12:23:53.140Z","1.1.4-dev.f04fd63":"2022-08-01T17:00:58.150Z","1.1.4-dev.a6143fc":"2022-08-03T12:20:52.149Z","1.1.4-dev.6beb50b":"2022-08-03T16:42:50.661Z","1.1.4":"2022-08-03T18:42:35.610Z","1.1.4-dev.cc79562":"2022-08-03T18:44:16.544Z","1.1.5-dev.1d209d5":"2022-08-04T07:34:23.990Z","1.1.5-dev.b2bf6fc":"2022-08-04T09:19:01.752Z","1.1.5-dev.c44d160":"2022-08-04T09:53:53.544Z","1.1.5-dev.3cb19fc":"2022-08-04T09:55:05.745Z","1.1.5-dev.19fe64f":"2022-08-04T10:35:48.629Z","1.1.5-dev.368e2a6":"2022-08-05T14:13:12.078Z","1.1.5":"2022-08-05T16:24:59.623Z","1.1.5-dev.dedbb82":"2022-08-05T16:26:41.389Z","1.1.6-dev.b93a08b":"2022-08-08T12:07:12.052Z","1.1.6-dev.edcd518":"2022-08-08T17:00:23.230Z","1.1.6-dev.704e332":"2022-08-09T09:22:42.816Z","1.1.6-dev.41a93a7":"2022-08-11T07:59:20.201Z","1.1.6-dev.f266ce6":"2022-08-16T10:37:54.347Z","1.1.6-dev.9324dcc":"2022-08-16T11:27:44.752Z","1.1.6-dev.0d50cdf":"2022-08-17T15:12:03.656Z","1.1.6-dev.001fc52":"2022-08-17T15:42:09.027Z","1.1.6-dev.bead55a":"2022-08-19T14:36:54.922Z","1.1.6-dev.6483d9c":"2022-08-22T09:37:50.426Z","1.1.6-dev.4c2b3c1":"2022-08-22T10:51:07.637Z","1.1.6-dev.8d12851":"2022-08-22T12:58:50.443Z","1.1.6-dev.4046acf":"2022-08-23T10:37:57.354Z","1.1.6-dev.2da18ef":"2022-08-24T12:46:27.815Z","1.1.6-dev.9b10ac7":"2022-08-24T15:18:59.392Z","1.1.6-dev.f04dead":"2022-08-25T10:42:30.657Z","1.1.6-dev.2af6032":"2022-08-29T10:46:34.257Z","1.1.6-dev.f51af83":"2022-08-29T10:47:05.183Z","1.1.6-dev.79d1866":"2022-08-30T08:35:23.563Z","1.1.6-dev.034a11b":"2022-08-30T15:11:26.784Z","1.2.0-dev.0de1fa4":"2022-09-07T09:08:42.711Z","1.2.0-dev.ea22c16":"2022-09-07T11:35:25.348Z","1.2.0-dev.285a141":"2022-09-08T11:33:30.182Z","1.2.0-dev.1c6c67b":"2022-09-08T12:25:20.169Z","1.2.0-dev.71a004e":"2022-09-08T12:51:30.678Z","1.2.0-dev.38eb0b7":"2022-09-12T09:14:15.044Z","1.2.0-dev.e807579":"2022-09-12T10:48:57.151Z","1.2.0-dev.1469893":"2022-09-12T11:27:26.888Z","1.2.0-dev.af6b701":"2022-09-12T14:49:05.641Z","1.2.0-dev.d60d591":"2022-09-13T15:17:46.602Z","1.2.0-dev.8b440f2":"2022-09-13T15:48:58.964Z","1.2.0-dev.154ae3e":"2022-09-14T09:00:05.250Z","1.2.0-dev.589f795":"2022-09-14T09:19:10.874Z","1.2.0-dev.56ec6d2":"2022-09-14T11:51:04.072Z","1.2.0-dev.a7c3317":"2022-09-14T13:09:35.335Z","1.2.0-dev.6a138b3":"2022-09-14T16:03:16.937Z","1.2.0-dev.576eb52":"2022-09-15T08:57:05.857Z","1.2.0-dev.38cc8d0":"2022-09-15T15:03:56.202Z","1.2.0-dev.8acd64c":"2022-09-19T08:38:27.886Z","1.2.0-dev.d90b320":"2022-09-22T14:11:32.682Z","1.2.0-dev.d5bf634":"2022-09-27T10:26:24.820Z","1.2.0-dev.5e8d6b8":"2022-09-28T13:04:57.251Z","1.2.0-dev.3c0c473":"2022-09-29T09:50:08.166Z","1.2.0-dev.e49e437":"2022-09-29T12:17:44.466Z","1.2.0-dev.e5dc142":"2022-09-29T13:06:14.305Z","1.2.0-dev.9b6fe7a":"2022-09-30T14:04:15.429Z","1.2.0-dev.456607f":"2022-10-07T08:54:56.946Z","1.2.0-dev.7197cfd":"2022-10-07T09:21:35.417Z","1.2.0-dev.b5d7950":"2022-10-07T12:04:31.202Z","1.2.0-dev.a2aca17":"2022-10-18T09:42:24.687Z","1.2.0-dev.9fd2c7c":"2022-10-18T11:44:22.537Z","1.2.0-dev.89f4911":"2022-10-26T13:47:10.382Z","1.2.0-dev.05df896":"2022-10-31T15:27:20.079Z","1.2.0-dev.4477d45":"2022-10-31T16:46:30.285Z","1.2.0-dev.9e2dfb9":"2022-10-31T16:54:12.256Z","1.2.0":"2022-10-31T17:33:02.763Z","1.2.0-dev.94fe84f":"2022-10-31T17:35:26.657Z","1.2.1-dev.5ce0b62":"2022-11-04T15:51:58.212Z","1.2.1":"2022-11-04T16:11:41.027Z","1.2.1-dev.90722b6":"2022-11-04T16:14:00.639Z","1.2.1-dev.35c1d5b":"2022-11-08T16:17:27.128Z","1.2.2-dev.d1ade8b":"2022-11-08T16:36:55.421Z","1.2.2":"2022-11-09T11:54:51.119Z","1.2.2-dev.2bd4bbf":"2022-11-09T11:57:54.459Z","1.2.3-dev.9b561a5":"2022-11-10T09:08:59.440Z","1.2.3-dev.e935040":"2022-11-10T11:01:15.549Z","1.2.3-dev.72ba4a1":"2022-11-14T10:31:06.946Z","1.2.3-dev.3a965ef":"2022-11-15T15:45:42.047Z","1.2.3-dev.ff7f327":"2022-11-22T15:06:34.876Z","1.2.3-dev.2aa5d35":"2022-12-06T11:57:51.034Z","1.2.3-dev.8781da7":"2022-12-07T16:47:50.416Z","1.2.3-dev.001c9d3":"2022-12-12T15:52:13.353Z","1.2.3-dev.7e4fae8":"2022-12-13T16:26:11.138Z","1.2.3-dev.ae5c262":"2022-12-13T16:35:46.960Z","1.2.3-dev.fb306f1":"2022-12-13T16:43:35.992Z","1.2.3-dev.0f96664":"2022-12-13T17:12:43.555Z","1.2.3-dev.88ee055":"2022-12-20T14:07:35.515Z","1.2.3-dev.f3c2181":"2022-12-20T17:17:40.149Z","1.2.3-dev.9f4ba1a":"2022-12-20T17:32:05.323Z","1.2.3-dev.d51002b":"2022-12-27T16:43:36.831Z","1.2.3-dev.cf536a5":"2023-01-05T13:23:23.981Z","1.2.3-dev.612a74a":"2023-01-05T13:44:53.358Z","2.0.0-dev.d85bba3":"2023-01-05T15:27:57.025Z","2.0.0-dev.a888801":"2023-01-05T16:03:59.282Z","2.0.0-dev.bea1350":"2023-01-05T18:05:32.269Z","2.0.0-dev.843ba5e":"2023-01-09T15:29:08.614Z","1.2.3-dev.f8e8c62":"2023-01-09T16:03:54.513Z","1.2.3-dev.20a3c13":"2023-01-10T13:48:45.197Z","1.2.3-dev.7d99076":"2023-01-11T09:50:31.007Z","1.2.3-dev.24808c9":"2023-01-11T14:19:17.464Z","1.2.3-dev.239da7e":"2023-01-11T16:02:56.539Z","1.2.3-dev.57f5fc2":"2023-01-12T12:17:58.625Z","1.2.3-dev.788f229":"2023-01-12T12:27:46.079Z","1.2.3-dev.c486104":"2023-01-12T12:54:57.706Z","1.2.3-dev.88695af":"2023-01-12T17:20:37.614Z","1.2.3-dev.51dfa65":"2023-01-16T12:51:10.676Z","1.2.3-dev.d248864":"2023-01-16T14:19:51.453Z","1.2.3-dev.6f723be":"2023-01-16T16:55:23.418Z","1.2.3-dev.d65c573":"2023-01-20T16:23:30.830Z","1.2.3-dev.befd268":"2023-01-23T18:57:56.560Z","1.2.3-dev.cca166f":"2023-01-25T13:52:38.674Z","1.2.3-dev.62ba1dc":"2023-01-31T13:08:22.499Z","1.2.3-dev.7d51c1c":"2023-01-31T13:27:55.237Z","1.2.3-dev.402d4ab":"2023-01-31T21:34:05.658Z","1.2.3-dev.8cbbb28":"2023-02-06T15:50:41.986Z","1.2.3-dev.c4a5340":"2023-02-06T17:06:30.027Z","1.2.3-dev.374944e":"2023-02-08T15:54:20.060Z","1.2.3-dev.dc1e084":"2023-02-10T11:26:02.418Z","1.2.3-dev.309f607":"2023-02-13T11:26:01.152Z","1.2.3-dev.438b5db":"2023-02-14T10:43:05.574Z","1.2.4-dev.6085121":"2023-02-16T16:08:44.315Z","1.2.4":"2023-02-16T18:06:36.113Z","1.2.4-dev.94092d3":"2023-02-16T18:09:18.668Z","1.2.5-dev.85f1b4e":"2023-02-21T16:02:21.915Z","1.2.5":"2023-02-21T16:30:58.178Z","1.2.5-dev.238c82b":"2023-02-21T16:33:27.492Z","1.2.6-dev.81d1d8d":"2023-02-23T10:43:10.514Z","1.2.6":"2023-02-24T10:11:49.061Z","1.2.6-dev.aab8430":"2023-02-24T10:14:17.730Z","1.2.7-dev.0ef421b":"2023-03-01T15:40:40.311Z","1.2.7":"2023-03-01T16:12:25.802Z","1.2.7-dev.5e31dc1":"2023-03-01T16:14:59.522Z","1.2.8-dev.5473fd5":"2023-04-17T15:01:44.319Z","1.2.8-dev.4d7918a":"2023-04-18T10:38:02.069Z","1.2.8-dev.2aed013":"2023-04-18T11:14:05.275Z","1.2.8-dev.502e825":"2023-04-18T11:14:57.046Z","1.2.8-dev.404ee1c":"2023-04-18T11:49:54.607Z","1.2.8":"2023-04-18T15:09:56.521Z","1.2.8-dev.31ef9b5":"2023-04-18T15:12:30.450Z","1.2.9-dev.9130c43":"2023-05-02T17:44:38.597Z","1.2.9-dev.6d4d22e":"2023-05-02T18:27:50.476Z","1.2.9":"2023-05-02T19:00:35.906Z","1.2.9-dev.d74d6c2":"2023-05-02T19:03:31.385Z","1.2.10-dev.3e5442e":"2023-05-24T19:12:09.070Z","1.2.10":"2023-05-25T06:46:00.238Z","1.2.10-dev.065365e":"2023-05-25T06:48:40.467Z","1.2.10-dev.062ab0b":"2023-07-04T12:47:02.822Z","1.2.10-dev.735f2a4":"2023-07-04T13:06:22.015Z","1.2.10-dev.ed7e166":"2023-07-04T15:22:24.467Z","1.2.10-dev.8ab479a":"2023-07-04T15:33:41.935Z","1.2.10-dev.b135d16":"2023-07-04T16:16:07.048Z","1.2.10-dev.2ef6b88":"2023-07-04T16:23:54.379Z","1.2.10-dev.8adf05d":"2023-07-05T10:10:37.499Z","1.2.10-dev.871dc2c":"2023-07-05T12:20:47.175Z","1.2.10-dev.01ed172":"2023-07-05T12:41:16.103Z","1.2.10-dev.c1a8d11":"2023-07-21T14:07:57.413Z","1.2.10-dev.3f02a75":"2023-07-21T14:37:46.675Z","1.2.11-dev.9686190":"2023-08-01T12:46:59.045Z","1.2.11":"2023-08-01T21:55:01.582Z","1.2.11-dev.b4b7b94":"2023-08-01T21:57:49.797Z","1.2.11-dev.54f7e26":"2023-08-04T15:53:20.159Z","1.2.12-dev.252541e":"2023-09-04T16:10:19.652Z","1.2.12":"2023-09-04T16:23:58.020Z","1.2.12-dev.179f853":"2023-09-04T16:26:37.006Z","1.2.13-dev.0aeb599":"2023-09-14T20:18:09.199Z","1.2.13":"2023-09-14T21:18:59.982Z","1.2.13-dev.cd70dbe":"2023-09-14T21:22:17.034Z","1.2.13-dev.9bfca72":"2023-10-12T11:21:52.184Z","1.2.13-dev.3c2c07a":"2023-12-14T14:15:18.315Z","1.2.14-dev.7354965":"2024-05-13T07:49:35.608Z","1.2.14":"2024-05-13T07:52:48.674Z","1.2.14-dev.873b997":"2024-05-13T08:28:59.057Z","1.2.14-dev.42eb191":"2024-05-13T12:19:07.420Z","1.2.15-dev.afbdba8":"2024-05-13T12:48:58.623Z","1.2.15":"2024-05-13T12:50:58.052Z","1.2.15-dev.4840545":"2024-05-13T12:52:52.955Z","1.2.15-dev.999b916":"2024-05-14T11:54:16.750Z","1.2.15-dev.b9113ed":"2024-05-14T13:53:09.528Z","1.2.15-dev.bce5650":"2024-05-17T11:20:02.049Z","1.2.15-dev.5a626b8":"2024-05-17T11:46:13.233Z","1.2.16-dev.38e39dd":"2024-05-27T09:24:29.913Z","1.2.16":"2024-05-27T09:40:46.475Z","1.2.16-dev.e0c8437":"2024-05-27T09:42:41.143Z"},"maintainers":[{"name":"ethworks","email":"eng-services@wallfacer.io"}],"repository":{"type":"git","url":"git+ssh://git@github.com/TrueFiEng/useDApp.git"},"author":{"name":"Ethworks"},"license":"MIT","readme":"","readmeFilename":"","description":"[![CI](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml/badge.svg)](https://github.com/TrueFiEng/useDApp/actions/workflows/CI.yml) [![Npm package version](https://badgen.net/npm/v/@usedapp/core)](https://npmjs.com/package/@usedapp/core) [![Di","homepage":"https://github.com/TrueFiEng/useDApp#readme","bugs":{"url":"https://github.com/TrueFiEng/useDApp/issues"}}