{"_id":"@openzeppelin/test-helpers","_rev":"40-d9775f31d5945ea92fefb9ab31aa3614","name":"@openzeppelin/test-helpers","dist-tags":{"next":"0.5.13-0","latest":"0.5.16"},"versions":{"0.5.1":{"name":"@openzeppelin/test-helpers","version":"0.5.1","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.1","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"1d552cd88b0c8dc08cef6a8471ddabc67243b695","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.1.tgz","fileCount":19,"integrity":"sha512-xt1g96TTfXxexHdYNiCkTQFpxajJx8/ZIygfWWjwHjfC+Ovuml5t93f1GkjtiN36FSepPuP+qvGgISkGvKnEbw==","signatures":[{"sig":"MEUCIASHJ86MBLx0cXEVOZl/P5zC9qFhwlDdAaVHszMizfHfAiEAvEKcVYNmsCjvGLCZb2YxoBOXvP7ifqtAOeXWmes7WHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn5q4CRA9TVsSAnZWagAAzbAP/1D3XXz+NiZ4e7wM6sFv\nC0bjvzXRF7z0vbPFtG45rE7poUk7vncIRLpw66En3F999gZnH9xfYAS85Qz7\n94I3KZGhNJn/0LfWfNl2TTbHgY/4+Lz5/SxpJLJ3F7PRmNJvSiZCEnwH9S8W\nv+iGm35ipQyNUJZbcQUzQ5bDGorzzTy3kvuQLgg7itdtAU/g+q2TNWEOFXz4\nRI2e9SBxsl/7yeaXeXA8UJcWiTUY1l8vSqRtfP1jewbL1ffPgNd7ao9oO/Jx\nORJ5zk9X3FXf+SKZOznMNM7967BBWcKRBqKIirLV+wj5tP6DKA6+atCO/dOC\nG3mmvlRxUc8VMo9qeJ2LK4P7pv1/2uKIR0s+o7RgYLwbOe0348hPGRKyuyWz\n1zXZLGWqx4SPEStGtiI5LNhrHz/cRTLGMrxAJxphJu4kNSURx7wt8o7WiZBk\ndedQcoBvhupflRsdsHoa5YlatmD1m1DxhyRTwk6N+RgzWbDzsVvRhkNu6wqy\nfLn9VOGvWDT097p4bf6mOov+AaIicFTmW8ZKtoifLMN5VoKd/GZhMrPzWPHX\nmbawT2ue4NMIMIrVRiIbQW8OwNx4UPYEnroyXfft1x8smL+ypQuYiJL8fZ2t\nup9enQEqK2OAanNla4MX0NzuuoqU5bpRZB8ciapTYMrYnKiU6ha0n/JmNgqr\nDFdM\r\n=Hpro\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"ca500ba5a8f30330565b90505b076e43bb22d797","scripts":{"lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","test-integration":"./test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","eslint-plugin-mocha-no-only":"^1.1.0","@openzeppelin/contract-loader":"^0.1.0"},"peerDependencies":{"chai":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.1_1570740919484_0.9517255617287479","host":"s3://npm-registry-packages"}},"0.5.2-rc.0":{"name":"@openzeppelin/test-helpers","version":"0.5.2-rc.0","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.2-rc.0","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"19052a7eefe60c469c6b12fca12f41e496bda068","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.2-rc.0.tgz","fileCount":19,"integrity":"sha512-puQEzV1TTUeeRt768qRJdmYrVTkjo3lmyLNb5kJnDw9k43aVn4wKd4gLxvQY1hQKgyvb0gufb+Vuau9Jbzxodg==","signatures":[{"sig":"MEUCIQCJ6Ipc/i3dLTJcBu+lcte+l4HvvyvXSyHYDoAH23cpZgIgOJfrN+z0ZeMnzQcSVYl2JkfPNrwLxREyUgpwZ7NMu2E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51301,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpiY2CRA9TVsSAnZWagAAoJAP/1efmhCSCPx2KCPdzO86\nfK/EqFz33A9JMpsH4DcRjhjg9t0b8RIqwaw/RcktB+ZILLZ/VHGbPg25OTze\nLLC7JsMcU07ZdArpSlz+0bosD3O9DH00VpfQOi2YxrecjBWosxzShMU77y7z\nhh8U+nYXXb3ulgWPedUUsTYueP2uXZDzIA5kfkY44ACtbPAMVtN6LOvC3l1j\n7byt45r0fWEUkSyi3WufxIo7peXfAFuC7049w3jl91GcWGUrh4nbsENq5NXs\neQDReBhhWMBiqSUyBU2dvFn0lqeFIuz7B3rTOMmQe2Ow24GwhWhfEtox/d3P\nFN5CM5BUCIBHC32+4K4FyTpqPgJmDs6Fa5SMMuKYY+4HvKmpEvlzvI9iJUJ7\nd3gA0UcyU96iwbLAX76KkINdcM/vgkKdLsSsavKLTbYJOhs6qsk5S0JDByI9\n2hkX0/hm1sMOy6GKPEfTk/+qg6AQoiDTOXYDbOsQ0v37qcI8YXbIsmV37ZdM\nqGsnc2eR5lLj84DQF3wLyLhoalFXQX5FcQbaBpPIZqRonWS61mcnbw6X6Sin\nU09gK9JGiNqm8IV1ANmYaVoLybIrVN11ArhC1iWlxiaadreIxIBVql3Qyl9M\nnGkhF8XZGDYoP1+D+PBib7zIjXcHr8GTEVcDUKfWT3zDunpltQ4QfIlcNsid\n/2/3\r\n=xgBp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# OpenZeppelin Test Helpers\n\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**JavaScript testing helpers for Ethereum smart contract development.** With support for Truffle and plain web3.js workflows.\n\n## Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n## Usage\n\n```javascript\n// Import the modules you want from @openzeppelin/test-helpers\nconst { BN, constants, balance, expectEvent, expectRevert } = require('@openzeppelin/test-helpers');\n\n// Optionally import Chai to write your assertions (must be installed separately)\nconst { expect } = require('chai');\n\nconst ERC20 = artifacts.require('ERC20');\n\ncontract('ERC20', function ([sender, receiver]) {\n  beforeEach(async function () {\n    this.erc20 = await ERC20.new();\n    this.value = new BN(1); // The bundled BN library is the same one truffle and web3 use under the hood\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // If Chai is installed, big number assertions are automatically available thanks to chai-bn\n    assert(await balance(receiver)).to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n### Configuration\n\nThis library features support for both web3 and truffle contract instances. The default environment is `'web3'`, unless a `'truffle'` environment is automatically detected. In a `'truffle`' environment, the web3 provider will be pulled from truffle's global web3 instance, otherwise, it defaults to `http://localhost:8545`.\n\nWhile automatic detection should cover most use cases, both the environment and provider can be manually supplied:\n\n```javascript\nrequire('@openzeppelin/test-helpers/configure')({ environment: 'web3', provider: 'http://localhost:8080' });\n\nconst { expectEvent } = require('openzeppelin-test-helpers');\n```\n\n#### truffle migrations\n\nAutomatic environment detection does not work inside truffle migrations, so the helpers must be manually configured.\n\n```javascript\nrequire('openzeppelin-test-helpers/configure')({ environment: 'truffle', provider: web3.currentProvider });\n```\n\n## Reference\n\nThis documentation is a work in progress: if in doubt, head over to the [tests directory](https://github.com/OpenZeppelin/openzeppelin-test-helpers/tree/master/test/src) to see examples of how each helper can be used.\n\nAll returned numbers are of type [BN](https://github.com/indutny/bn.js).\n\n---\n\n### balance\n\nHelpers to inspect Ether balances of a specific account.\n\nAll of these functions return `BN` instances, with balances in 'wei' by default.\n\n#### balance current\n##### async balance.current(account, unit = 'wei')\nReturns the current balance of an account.\n```javascript\nconst balance = await balance.current(account)\n// same as new BN(web3.eth.getBalance(account))\n\nconst balanceEth = await balance.current(account, 'ether')\n// same as new BN(web3.utils.fromWei(await web3.eth.getBalance(account), 'ether'))\n```\n\n#### balance tracker\nAllows you to keep track of the changes in an account's Ether balance.\n\n##### async balance.tracker(account, unit = 'wei')\nCreates an instance of a balance tracker.\n\n```javascript\nconst tracker = await balance.tracker(account)\n```\n\n##### async tracker.get(unit = tracker.unit)\nReturns the current balance of an account.\n\n```javascript\nconst tracker = await balance.tracker(account) // instantiation\nconst currentBalance = await tracker.get() // returns the current balance of account\n```\n##### async tracker.delta(unit = tracker.unit)\nReturns the change in the balance since the last time it was checked (with either `get()` or `delta()`).\n\n```javascript\nconst tracker = await balance.tracker(receiver, 'ether')\nsend.ether(sender, receiver, ether('10'))\n(await tracker.delta()).should.be.bignumber.equal('10');\n(await tracker.delta()).should.be.bignumber.equal('0');\n```\nOr using `get()`:\n```javascript\nconst tracker = await balance.tracker(account) // instantiation\nconst currentBalance = await tracker.get() // returns the current balance of account\n(await tracker.delta()).should.be.bignumber.equal('0');\n```\n\nA tracker can also return all balances and deltas in a specific unit:\n\n```javascript\nconst tracker = await balance.tracker(account, 'gwei');\nconst balanceGwei = tracker.get(); // in gigawei\nconst balanceEther = tracker.get('ether'); // in ether\n````\n\n---\n\n### BN\nA [bn.js](https://github.com/indutny/bn.js) object. Use `new BN(number)` to create `BN` instances.\n\n---\n\n### constants\nA collection of useful [constants](src/constants.js).\n\n#### constants.ZERO_ADDRESS\nThe initial value of a type `address` variable, i.e., `address(0)` in Solidity.\n\n#### constants.MAX_UINT256\nThe maximum unsigned integer `2^256 - 1` represented in `BN`.\n\n#### constants.MAX_INT256\nThe maximum signed integer `2^255 - 1` represented in `BN`.\n\n#### constants.MIN_INT256\nThe minimum signed integer `-2^255` represented in `BN`.\n\n---\n\n### ether\nConverts a value in Ether to wei.\n\n---\n\n### expectEvent (receipt, eventName, eventArgs = {})\nAsserts the logs in `receipt` contain an entry for an event with name `eventName`, for which all entries in `eventArgs` match. `receipt` is the object returned by either a web3 Contract or a truffle-contract call.\n\n```javascript\nconst web3Receipt = await MyWeb3Contract.methods.foo('bar').send();\nexpectEvent(web3Receipt, 'Foo', { value: 'bar' });\n\nconst truffleReceipt = await MyTruffleContract.foo('bar');\nexpectEvent(truffleReceipt, 'Foo', { value: 'bar' });\n```\n\n#### async inTransaction (txHash, emitter, eventName, eventArgs = {})\nSame as `expectEvent`, but for events emitted in an arbitrary transaction (of hash `txHash`), by an arbitrary contract (`emitter`, the contract instance), even if it was indirectly called (i.e. if it was called by another smart contract and not an externally owned account).\n\n```javascript\n// With web3 contracts\nconst contract = await MyContract.deploy().send();\nconst { transactionHash } = await contract.methods.foo('bar').send();\nawait expectEvent.inTransaction(transactionHash, contract, 'Foo', { value: 'bar' });\n\n// With truffle contracts\nconst contract = await MyContract.new();\nconst { txHash } = await contract.foo('bar');\nawait expectEvent.inTransaction(txHash, contract, 'Foo', { value: 'bar' });\n```\n\n#### async function inConstruction (emitter, eventName, eventArgs = {})\nSame as `inTransaction`, but for events emitted during the construction of `emitter`. Note that this is currently only supported for truffle contracts.\n\n---\n\n### expectRevert\nCollection of assertions for transaction errors (similar to [chai's `throw`](https://www.chaijs.com/api/bdd/#method_throw)).\n\n#### async expectRevert (promise, message)\nThis helper asserts that `promise` was rejected due to a reverted transaction, and it will check that the revert reason includes `message`. Use `expectRevert.unspecified` when the revert reason is unknown. For example:\n\n```solidity\ncontract Owned {\n    address private _owner;\n\n    constructor () {\n        _owner = msg.sender;\n    }\n\n    function doOwnerOperation() public view {\n        require(msg.sender == _owner, \"Unauthorized\");\n        ....\n    }\n}\n```\n\nCan be tested as follows:\n```javascript\nconst { expectRevert } = require('@openzeppelin/test-helpers');\n\nconst Owned = artifacts.require('Owned');\n\ncontract('Owned', ([owner, other]) => {\n  beforeEach(async function () {\n    this.owned = Owned.new();\n  });\n\n  describe('doOwnerOperation', function() {\n    it('Fails when called by a non-owner account', async function () {\n      await expectRevert(this.owned.doOwnerOperation({ from: other }), \"Unauthorized\");\n    });\n  });\n  ...\n```\n\n#### async expectRevert.unspecified (promise)\nThis helper asserts that `promise` was rejected due to a reverted transaction caused by a `require` or `revert` statement.\n\n#### async expectRevert.assertion (promise)\nThis helper asserts that `promise` was rejected due to a reverted transaction caused by an `assert` statement or an invalid opcode.\n\n#### async expectRevert.outOfGas (promise)\nThis helper asserts that `promise` was rejected due to a transaction running out of gas.\n\n---\n\n### makeInterfaceId\n#### ERC165 (interfaces = [])\nCalculates the [ERC165](https://eips.ethereum.org/EIPS/eip-165) interface ID of a contract, given a series of function signatures.\n\n#### ERC1820 (name)\nCalculates the [ERC1820](https://eips.ethereum.org/EIPS/eip-1820) interface hash of a contract, given its name.\n\n---\n\n### send\n#### async send.ether (from, to, value)\nSends `value` Ether from `from` to `to`.\n\n#### async function send.transaction (target, name, argsTypes, argsValues, opts = {})\nSends a transaction to contract `target`, calling method `name` with `argValues`, which are of type `argTypes` (as per the method's signature).\n\n---\n\n### singletons\n#### async singletons.ERC1820Registry (funder)\nReturns an instance of an [ERC1820Registry](https://eips.ethereum.org/EIPS/eip-1820) deployed as per the specification (i.e. the registry is located at the canonical address). This can be called multiple times to retrieve the same instance.\n\n---\n\n### time\n#### async time.advanceBlock ()\nForces a block to be mined, incrementing the block height.\n\n#### async time.latest ()\nReturns the timestamp of the latest mined block. Should be coupled with `advanceBlock` to retrieve the current blockchain time.\n\n#### async time.latestBlock ()\nReturns the latest mined block number.\n\n#### async time.increase (duration)\nIncreases the time of the blockchain by [`duration`](#timeduration) (in seconds), and mines a new block with that timestamp.\n\n#### async time.increaseTo (target)\nSame as `increase`, but a target time is specified instead of a duration.\n\n#### time.duration\nHelpers to convert different time units to seconds. Available helpers are: `seconds`, `minutes`, `hours`, `days`, `weeks` and `years`.\n\n```javascript\nawait time.increase(time.duration.years(2));\n```\n\n## License\n\n[MIT](LICENSE)\n","gitHead":"f4ce582556bc75db50942800eb53d7021eb2f0d6","scripts":{"lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","eslint-plugin-mocha-no-only":"^1.1.0","@openzeppelin/contract-loader":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.2-rc.0_1571169845462_0.6208181051457571","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"@openzeppelin/test-helpers","version":"0.5.2","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.2","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"36c9ed72fa2a913ba60ec386c7d16c0e8ccbac3a","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.2.tgz","fileCount":19,"integrity":"sha512-7TvIhsHW0V4N1a0ABeF1dBRqSrnNM0mIKfFSLdrlJOWeegOJ9XhZLHhReGtRlu6AxhrLd0uV31vdXlDWNaMkmg==","signatures":[{"sig":"MEUCIQDF/UwwuYtuMj4PISGNuZLLYICdw+dqG6gzDL+KHEP9yAIgXPoy0ymyyo+LvCLNF3aGjUkwtjHT3LRhUbia3L/t02I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpiZRCRA9TVsSAnZWagAAgZUP/2IpcPqPBxPwoweokrdO\nLNbLKWW8MA8edEEuK9QZgS9Ik56iRzl/tYNFr+j1+FlcDOV/WXh+z5gUBLLB\nCzvpPtLSdnQQ3biUvuqoDQ/9ktT3VHcYLX6pV2o9hQSI1hnazAwYWrolcky9\n4L1ho8ewd5BZNpZ9DOFEoIHdmxmlo9cGm2NW2yoWIU1L4FIZ3hnVQge5kKak\nFIvNWgK7+ZVUo9qD5ZRHNaALWpXpS01yKN9XKJSAO+aQJaJPKRd+tBwlgdI4\n6ExW3hvn/zGvGXfHLjQ3ELUp/96WEv42ztWlJxQUVCND271tWbiWgU8HpI1E\nieT5Fv9WruMjFdxBxJ2+nh+iSt4f/hmJdSzzksX5EMmNRUhnIgF154U9DV3z\n7xdbUtUx5Q2OhDDNkevcpSMBrE2BR7dkJquMc65GoQhl6uC+2+2NEb9i5Gi6\nniGNxsjbUEo7T69BL4eCgCGJ1pc9oUjSoaIKzNWhIlivG5yYdBCJRF8I+HQ1\nf41EhuDhDMqhu9pvqrVt6i9IYs1qqd35lsw1KnfRrzbWdS1BOLKqYHYIv3i6\n5NJOATNQS5VK4pMIA2IbatuEHFYwCUnWZZpaP8ogyueZmM2HMYFLzsE/w0ls\npROuSkr6Qh6Z0XNpAuCBk9qxkP1nLyrsTzMfPHQly4/cFch0ve8RtMcVe1AF\nE2GY\r\n=vaVV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"ba23eb2224d684ff5a4759b1b52360c8d630c6c5","scripts":{"lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","eslint-plugin-mocha-no-only":"^1.1.0","@openzeppelin/contract-loader":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.2_1571169873333_0.6385666445197602","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"@openzeppelin/test-helpers","version":"0.5.3","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.3","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"c7a082fa5567f46ecad8c1a0ac38a53b7e8a96cc","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.3.tgz","fileCount":19,"integrity":"sha512-Zq7hAS/FIDwd5CUdh4TX4MxQmIQGCUSI72U80J7+3fjXawRTSTYMjOu9KHpvSHX5mcCWlFF3qbM7b2dHjgZ26g==","signatures":[{"sig":"MEUCIQDP/LVsCuVJtt2tE9Xw+zuB8M8wB1p2y4qTd+70gkrgxgIgZE6EIa6Il+eLE2eQ8cMP98Eai3Njs8sR+r49NUw9iTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp0bYCRA9TVsSAnZWagAAh7UP/jHbzH2JU31Kwfa/vWvV\n8f4+a5j8Cu3sMaGEEcbsb+KgtHDV0Zf+qd82ULeXLXamfTk9lgIKVST331hZ\n3mo1mKXilqK2fUNVDNi/Z9uSeG8G4Z48rrN5u5hZd30RliImgJR0cnWowxe2\nnQBlNQQx8/6hKku78S/Un+S1gJ0qQcdePMUheJ6Nno8z1vlgekE1JY5O1VV8\ns49dyFsHggXrT1uPMtffCxmC0n/MGkpvIU9csgJJz5oxH3VC3OCwlvu0tIcg\nPzEq4EAIxFdL1WglHDjtx+n/C/YtyQgxEpR4v3JIIr4IfmJEsI0M4Ml2e0eF\nhn5vFRj4NTdX35c72iJ3AFucCY74VJwrt93KbcF6A/M2zCttBMqY4vW9A0at\n163QaT88+sfMRgrj15PmNxTU9HiuTn22aqSrGF3TUxhh+HjMOAWeDPGzzNxG\nb9e4bdpGqP2uXi5SPu7nHTM4f4i1lRUx4jCLmjmLsGGB/jetgR4QggpOHizj\nQZlGiODp7qjaq2gtbdgGwXeQwejPOekTV57Gsd9Z9gnTmhus71pjrl4vDKL5\n1cRO3/1AFRf0s220AQLTNq118N68yhEGfjwZYw86TdWHncwp1t1niaAmZ2dC\nMOXcvZi3AlDByh6ugLmtASUfe5uk4J6ICUi0WbES+XYpjXAlDl2kWyoyUWuZ\nbv2p\r\n=UGEs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"1927120699df614090d950ef1f3a8ee9e1775a20","scripts":{"lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"12.11.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","eslint-plugin-mocha-no-only":"^1.1.0","@openzeppelin/contract-loader":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.3_1571243735995_0.4104911796545119","host":"s3://npm-registry-packages"}},"0.5.4-rc.0":{"name":"@openzeppelin/test-helpers","version":"0.5.4-rc.0","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.4-rc.0","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"ffa769293f438d7218082e09b250fb8f37b0d7a8","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.4-rc.0.tgz","fileCount":19,"integrity":"sha512-JWnsN87aGy7KgnHpvhYJOPzgFXOB2C8q5d/rVU58gjyQm57RD1nxUuZbPniOlm9cU2rAvjvg6uATPTM89wvUQg==","signatures":[{"sig":"MEQCIDqmnRpmPCP2FpRewOX+CtQrhBNJqDvQrwkjxlrtp1XoAiB6WaB43sDGOe99ZCu/vMLGpbii2dBL+xhjiBXp+nlYhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyxXkCRA9TVsSAnZWagAA2MUP/37uHts7/RUDaJ95rgun\n/U3Kw2dr3s8m3e9dnKHSM5pYLgfCV4sgi7DR5TUcX9G9TLW4uJ5z53w8BOYS\nqWTaPdCW+RZHeTcEGmAf2TXGf8xoe/IKLUM0HB5wzm7qhCfrkaslNgVrtigQ\nWmGlmfoAiO215wZktMIU711pDSvDV8OdjCwuw/8F8TA5qJwO1MIfJiEwXby6\nVxdk2OttaECBukPzA8Ovc4eCU+ED6pCKEp/WLjFHbKePitHuGVsaa5xykdq/\nqavyiol66QahJqnsq3Bk0P6MlgcfjHsJjrUH/7Db3aZC6EhLzM5JS/FCW5ig\ntDCna8a5EmPm69GjMEunWy192V/CWjhAeFasw68O4vUWEwR3ZbQLFglzuzYi\nyBmvsfv6bqV9JmDnTSEShiCJAmC2GbuqWVph41xFQNJgjGim9huYL1Y/Lv6f\n7rn54juw5u+juZ9taVp6/1TyR17TSkkIo6pUrx4OZdRzqVaxDpThFK9bHvB4\nrxZM5jhVy+3OzPeB7wmQPjBnsGSN3rG5pq9nl+sNDiL1EdeaWSmwi+BXUzEY\ngd0GZSFaHKyzTJczz5ZUd+Ourg8AZ/VXfahOQtDVXjQtfB/daxKwo6icTBuJ\n8Oxq7Icopq7YH+luCVZCMUYN3MLGlluZ25ZtWMO1/9HiJ30QVYVjEuBKehss\n/5/W\r\n=HlGI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# OpenZeppelin Test Helpers\n\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**JavaScript testing helpers for Ethereum smart contract development.** With support for Truffle and plain web3.js workflows.\n\n## Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n## Usage\n\n```javascript\n// Import the modules you want from @openzeppelin/test-helpers\nconst { BN, constants, balance, expectEvent, expectRevert } = require('@openzeppelin/test-helpers');\n\n// Optionally import Chai to write your assertions (must be installed separately)\nconst { expect } = require('chai');\n\nconst ERC20 = artifacts.require('ERC20');\n\ncontract('ERC20', function ([sender, receiver]) {\n  beforeEach(async function () {\n    this.erc20 = await ERC20.new();\n    this.value = new BN(1); // The bundled BN library is the same one truffle and web3 use under the hood\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // If Chai is installed, big number assertions are automatically available thanks to chai-bn\n    assert(await balance(receiver)).to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n### Configuration\n\nThis library supports both web3 and truffle contract instances. Where possible, helpers will automatically detect what you're using and work with both. For details about each helper see their documentation entries below.\n\n#### `provider`\n\nIn a truffle environment, the web3 provider will be pulled from truffle's global web3 instance. Otherwise, it defaults to `http://localhost:8545`. You can override this behavior and configure your own via the `provider` key:\n\n```javascript\nrequire('@openzeppelin/test-helpers/configure')({ provider: 'http://localhost:8080' });\n````\n\n#### `singletons`\n\nThe `singletons` helper returns contract objects, which have multiple values that can be configured:\n * `abstraction`: the underlying contract abstraction type, `'web3'` for `web3-eth-contract` and `'truffle'` for `@truffle/contract` instances. Defaults to `'web3'` unless a truffle environment is detected.\n * `defaultGas`: how much gas to allocate when a transaction's `gas` field is not specified. Defaults to 200k.\n * `defaultSender`: the sender address to use when a transaction's `from` field is not specified. No default.\n\nWhile automatic detection and defaults should cover most use cases, all values can be manually supplied:\n\n```javascript\nrequire('@openzeppelin/test-helpers/configure')({ singletons: { abstraction: 'web3', defaultGas: 6e6, defaultSender: '0x5a0b5...' } });\n```\n\n#### About truffle migrations\n\nAutomatic truffle environment detection does not work inside truffle migrations, so the helpers must be manually configured.\n\n```javascript\nrequire('@openzeppelin/test-helpers/configure')({ provider: web3.currentProvider, singletons: { abstraction: 'truffle' } });\n```\n\n## Reference\n\nThis documentation is a work in progress: if in doubt, head over to the [tests directory](https://github.com/OpenZeppelin/openzeppelin-test-helpers/tree/master/test/src) to see examples of how each helper can be used.\n\nAll returned numbers are of type [BN](https://github.com/indutny/bn.js).\n\n---\n\n### balance\n\nHelpers to inspect Ether balances of a specific account.\n\nAll of these functions return `BN` instances, with balances in 'wei' by default.\n\n#### balance current\n##### async balance.current(account, unit = 'wei')\nReturns the current balance of an account.\n```javascript\nconst balance = await balance.current(account)\n// same as new BN(web3.eth.getBalance(account))\n\nconst balanceEth = await balance.current(account, 'ether')\n// same as new BN(web3.utils.fromWei(await web3.eth.getBalance(account), 'ether'))\n```\n\n#### balance tracker\nAllows you to keep track of the changes in an account's Ether balance.\n\n##### async balance.tracker(account, unit = 'wei')\nCreates an instance of a balance tracker.\n\n```javascript\nconst tracker = await balance.tracker(account)\n```\n\n##### async tracker.get(unit = tracker.unit)\nReturns the current balance of an account.\n\n```javascript\nconst tracker = await balance.tracker(account) // instantiation\nconst currentBalance = await tracker.get() // returns the current balance of account\n```\n##### async tracker.delta(unit = tracker.unit)\nReturns the change in the balance since the last time it was checked (with either `get()` or `delta()`).\n\n```javascript\nconst tracker = await balance.tracker(receiver, 'ether')\nsend.ether(sender, receiver, ether('10'))\n(await tracker.delta()).should.be.bignumber.equal('10');\n(await tracker.delta()).should.be.bignumber.equal('0');\n```\nOr using `get()`:\n```javascript\nconst tracker = await balance.tracker(account) // instantiation\nconst currentBalance = await tracker.get() // returns the current balance of account\n(await tracker.delta()).should.be.bignumber.equal('0');\n```\n\nA tracker can also return all balances and deltas in a specific unit:\n\n```javascript\nconst tracker = await balance.tracker(account, 'gwei');\nconst balanceGwei = tracker.get(); // in gigawei\nconst balanceEther = tracker.get('ether'); // in ether\n````\n\n---\n\n### BN\nA [bn.js](https://github.com/indutny/bn.js) object. Use `new BN(number)` to create `BN` instances.\n\n---\n\n### constants\nA collection of useful [constants](src/constants.js).\n\n#### constants.ZERO_ADDRESS\nThe initial value of a type `address` variable, i.e., `address(0)` in Solidity.\n\n#### constants.MAX_UINT256\nThe maximum unsigned integer `2^256 - 1` represented in `BN`.\n\n#### constants.MAX_INT256\nThe maximum signed integer `2^255 - 1` represented in `BN`.\n\n#### constants.MIN_INT256\nThe minimum signed integer `-2^255` represented in `BN`.\n\n---\n\n### ether\nConverts a value in Ether to wei.\n\n---\n\n### expectEvent (receipt, eventName, eventArgs = {})\nAsserts the logs in `receipt` contain an entry for an event with name `eventName`, for which all entries in `eventArgs` match. `receipt` is the object returned by either a web3 Contract or a truffle-contract call.\n\n```javascript\nconst web3Receipt = await MyWeb3Contract.methods.foo('bar').send();\nexpectEvent(web3Receipt, 'Foo', { value: 'bar' });\n\nconst truffleReceipt = await MyTruffleContract.foo('bar');\nexpectEvent(truffleReceipt, 'Foo', { value: 'bar' });\n```\n\n#### async inTransaction (txHash, emitter, eventName, eventArgs = {})\nSame as `expectEvent`, but for events emitted in an arbitrary transaction (of hash `txHash`), by an arbitrary contract (`emitter`, the contract instance), even if it was indirectly called (i.e. if it was called by another smart contract and not an externally owned account).\n\n```javascript\n// With web3 contracts\nconst contract = await MyContract.deploy().send();\nconst { transactionHash } = await contract.methods.foo('bar').send();\nawait expectEvent.inTransaction(transactionHash, contract, 'Foo', { value: 'bar' });\n\n// With truffle contracts\nconst contract = await MyContract.new();\nconst { txHash } = await contract.foo('bar');\nawait expectEvent.inTransaction(txHash, contract, 'Foo', { value: 'bar' });\n```\n\n#### async function inConstruction (emitter, eventName, eventArgs = {})\nSame as `inTransaction`, but for events emitted during the construction of `emitter`. Note that this is currently only supported for truffle contracts.\n\n---\n\n### expectRevert\nCollection of assertions for transaction errors (similar to [chai's `throw`](https://www.chaijs.com/api/bdd/#method_throw)).\n\n#### async expectRevert (promise, message)\nThis helper asserts that `promise` was rejected due to a reverted transaction, and it will check that the revert reason includes `message`. Use `expectRevert.unspecified` when the revert reason is unknown. For example:\n\n```solidity\ncontract Owned {\n    address private _owner;\n\n    constructor () {\n        _owner = msg.sender;\n    }\n\n    function doOwnerOperation() public view {\n        require(msg.sender == _owner, \"Unauthorized\");\n        ....\n    }\n}\n```\n\nCan be tested as follows:\n```javascript\nconst { expectRevert } = require('@openzeppelin/test-helpers');\n\nconst Owned = artifacts.require('Owned');\n\ncontract('Owned', ([owner, other]) => {\n  beforeEach(async function () {\n    this.owned = Owned.new();\n  });\n\n  describe('doOwnerOperation', function() {\n    it('Fails when called by a non-owner account', async function () {\n      await expectRevert(this.owned.doOwnerOperation({ from: other }), \"Unauthorized\");\n    });\n  });\n  ...\n```\n\n#### async expectRevert.unspecified (promise)\nThis helper asserts that `promise` was rejected due to a reverted transaction caused by a `require` or `revert` statement.\n\n#### async expectRevert.assertion (promise)\nThis helper asserts that `promise` was rejected due to a reverted transaction caused by an `assert` statement or an invalid opcode.\n\n#### async expectRevert.outOfGas (promise)\nThis helper asserts that `promise` was rejected due to a transaction running out of gas.\n\n---\n\n### makeInterfaceId\n#### ERC165 (interfaces = [])\nCalculates the [ERC165](https://eips.ethereum.org/EIPS/eip-165) interface ID of a contract, given a series of function signatures.\n\n#### ERC1820 (name)\nCalculates the [ERC1820](https://eips.ethereum.org/EIPS/eip-1820) interface hash of a contract, given its name.\n\n---\n\n### send\n#### async send.ether (from, to, value)\nSends `value` Ether from `from` to `to`.\n\n#### async function send.transaction (target, name, argsTypes, argsValues, opts = {})\nSends a transaction to contract `target`, calling method `name` with `argValues`, which are of type `argTypes` (as per the method's signature).\n\n---\n\n### singletons\n#### async singletons.ERC1820Registry (funder)\nReturns an instance of an [ERC1820Registry](https://eips.ethereum.org/EIPS/eip-1820) deployed as per the specification (i.e. the registry is located at the canonical address). This can be called multiple times to retrieve the same instance.\n\n---\n\n### time\n#### async time.advanceBlock ()\nForces a block to be mined, incrementing the block height.\n\n#### async time.latest ()\nReturns the timestamp of the latest mined block. Should be coupled with `advanceBlock` to retrieve the current blockchain time.\n\n#### async time.latestBlock ()\nReturns the latest mined block number.\n\n#### async time.increase (duration)\nIncreases the time of the blockchain by [`duration`](#timeduration) (in seconds), and mines a new block with that timestamp.\n\n#### async time.increaseTo (target)\nSame as `increase`, but a target time is specified instead of a duration.\n\n#### time.duration\nHelpers to convert different time units to seconds. Available helpers are: `seconds`, `minutes`, `hours`, `days`, `weeks` and `years`.\n\n```javascript\nawait time.increase(time.duration.years(2));\n```\n\n## License\n\n[MIT](LICENSE)\n","gitHead":"5e75bd6eb4e1373b441d52fe90efea6ae19de6b0","scripts":{"lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.4-rc.0_1573590499680_0.9393656173800344","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"@openzeppelin/test-helpers","version":"0.5.4","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.4","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"2366703c37849dc1b3768bff41ab9213aee28c5a","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.4.tgz","fileCount":19,"integrity":"sha512-sSjft0CcmC6Pwsd/j1uakk2MLamEH4mmphVlF5hzUUVyoxL0KGCbxQgBoLoEpUbw2M9HtFAEMJJPGccEcb9Cog==","signatures":[{"sig":"MEQCIC6R3j2WE58/M/dyLPFpnZDto9VTO/pZQRE52bjxIULcAiAr9eA0rP7h6Aq9/kTbNxd8/ptfy86cPNVFx1PvZhdOOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzCw+CRA9TVsSAnZWagAA7EEP/RMWXUu1xI88Ka7KODAk\n/xU1QHRCCEMzN76xV2a8ehKdouIeF7/MuDQAdBiJFWJnrg51b0m9kfUoD1Be\nAUZHc7AZoVjXVB3tnH5rOtgZEphCesgr7ySl/gnfrEkQu3auiMUcxkUxr1L+\nmm0uTjOhbMTIyeXabHqOLdw/GS13xYY1qR0b19FXdHxPuYLurkEq7kdmRumh\nrUqblpKR8WBEPlsiL+uCsjg3JumABeRddqGsVFM1uMdxEoJ84v2WJvhQb2iu\nbN6tPYSouitc/aZpr8gm0soBFfU3/c4pB2hCePJXo6dDiclVk0HRgtim9gHG\nEN2kWen0DV9DA9XIcatiLV3yR1Awz0zTfrI9AS+RyA9j7sQKm/svwCdK6di0\nh/H3skIWX7AYSIoqEq2TRweGUf+1BgyP6jADqdHW2wgYPHHnwRExrz9Pp0Ss\n3H2RsF+9BNcsmLujzLd0LjoSz9g40/BUocj7ZZaXiZ6jK3uiXcNiFGG6Yuw5\n7zZGeldVuHhTJbUF42xbIyHqsO5FlZm7OrSRKgfYQNZbCMM6NstaPzXBONcs\nbDsf+ICVGvlffPoWrYuIY3P0z+F6qKjRrYRDiXz6cpdFjKVqPcz+xpwOz3nj\nYgM2D2JSbaS+RxGQhnoprpRQDwIK/usjQQgvJ9BI73S0S1moTkYJI5PYVNuq\nnpu0\r\n=hZop\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"bab4b87e2c1fbb2a1d9e3187c261b57509544ef6","scripts":{"lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.4_1573661758211_0.9940699352391233","host":"s3://npm-registry-packages"}},"0.5.5-rc.0":{"name":"@openzeppelin/test-helpers","version":"0.5.5-rc.0","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.5-rc.0","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"a56042c0e6eb42dd106851cd5204b593505cc444","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.5-rc.0.tgz","fileCount":19,"integrity":"sha512-teCj4tNH25m/otLTEMmmZ53Oq5kjn2INlWZibsl8HgmfpM6p/QmPuEuSp6qL5o4laLMxwuefhIOSdseVPO3eOA==","signatures":[{"sig":"MEUCIQDEkGZnGmsjB6zIyE2yCrYKE3hNuMP6x04sgW0sRfkYrgIgCqRPQgzfh2z2+fTj3tyii4NcZeVYS1WKH7ZVPEdkcgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaT98CRA9TVsSAnZWagAAtooP/ArnSiC7sFW/lvpC3bmX\n61osN/EBrssmdpItqQXvXLO9YSwJZCGteyZvxo3UyW6ppCnDCkb/+WZLdUEs\ncI6VwONKKRW2dFj6kLYxs7ReqzCqmH4Q9lEMK57S1ti2S9lE6w3576IeuV/L\nVu4loaZARN0VYP0dJ6/7FCY0c8U8mSrCROopB0obUaZepWZCndPdKAz4vGSc\nJSdI3I2Ww2jBgbu8ydmsVAWIelcKMghp03BisZtRcDF1xr7//+NG61Mw9kF1\nB0iou0qH39TGcRK6cEHj08Pn0nQlJiPKyZCwLNt2/No3yEq/+wvqlACd5WMx\neQB8NcJx8M3036MUoksAVsBkHQBnYq+AGHJw6qE8/1o3H1Hs3atkcUDjwBcf\n4hskwa7sZxYCX8ETWyf0AJ1jIJZrzq6L97b4awvDQbdBn0AjI0Tvd5G6CIKp\nBcFfwswav5J0DxTdokgVigKEexCXquKDGZe/r3sxky8uIKmIA0GGCeUVU/3J\nCIPuz1O4JNnxhuhAaVeX1/MFLc1sLmz1DAdoiEptpkYm7dAiJL3GnuADK2oV\nSXc1cAnolE44hCp1A7q861YttFoCoV6/R618TVMGRhMgo79AVBrXlCyI58eQ\npIfVTjCXTx8kEB8jlcIBYkfCO65HpbrvWlRyy0DhKDzfx41jC1W42H4zlnmH\nVHns\r\n=lLT9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# OpenZeppelin Test Helpers\n\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**Assertion library for Ethereum smart contract testing.** Make sure your contracts behave as expected.\n\n * Check that [transactions revert](https://docs.openzeppelin.com/test-helpers/api#expect-revert) for the correct reason\n * Verify that [events](https://docs.openzeppelin.com/test-helpers/api#expect-event) were emitted with the right values\n * Track [balance changes](https://docs.openzeppelin.com/test-helpers/api#balance) elegantly\n * Handle [very large numbers](https://docs.openzeppelin.com/test-helpers/api#bn)\n * Simulate the [passing of time](https://docs.openzeppelin.com/test-helpers/api#time)\n\nTest Helpers integrates seamlessly with [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment), but it also supports Truffle tests and regular web3 workflows.\n\n## Overview\n\n### Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n### Usage\n\nImport `@openzeppelin/test-helpers` in your test files to access the different assertions and utilities.\n\n_Note: The following snippet uses [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment): a Truffle-based setup would work the same way._\n\n```javascript\nconst { accounts, contract } = require('@openzeppelin/test-environment');\n\nconst {\n  BN,           // Big Number support\n  constants,    // Common constants, like the zero address and largest integers\n  expectEvent,  // Assertions for emitted events\n  expectRevert, // Assertions for transactions that should fail\n} = require('@openzeppelin/test-helpers');\n\nconst ERC20 = contract.fromArtifacts('ERC20');\n\ndescribe('ERC20', function () {\n  const [sender, receiver] =  accounts;\n\n  beforeEach(async function () {\n    // The bundled BN library is the same one web3 uses under the hood\n    this.value = new BN(1);\n\n    this.erc20 = await ERC20.new();\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(\n      receiver, this.value, { from: sender }\n    );\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // BN assertions are automatically available via chai-bn (if using Chai)\n    expect(await this.erc20.balanceOf(receiver))\n      .to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n## Learn More\n\n* Head to [Configuration](https://docs.openzeppelin.com/test-helpers/configuration) for advanced settings.\n* For detailed usage information, take a look at the [API Reference](https://docs.openzeppelin.com/test-helpers/api).\n\n\n## License\n\n[MIT](LICENSE)\n","gitHead":"3807ec59ed837ae15b4deeee65809dbec491691b","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.12.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.0","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.5-rc.0_1583955835556_0.9164049678350836","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"@openzeppelin/test-helpers","version":"0.5.5","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.5","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"c0a549fdcf1a9f4b1fd041233e52a700ed988eb6","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.5.tgz","fileCount":19,"integrity":"sha512-jTSCQojQ0Q7FBMN3Me7o0OIVuRnfHRR9TcE+ZlfbSfdqrHkFLwSfeDHSNWtQGlF1xPQR5r3iRI0ccsCrN+JblA==","signatures":[{"sig":"MEUCIQD2SKQQclI7fVGOaffjlUKT/MDFWHHAevCQvFuwbxvw/gIgBsjgwBcsjPcOi1TMar2jcnyS6c7vjlHk71jlq1sqF3c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaoTXCRA9TVsSAnZWagAAMgYP/1VmhDYfX+FjAfxm+n34\nSdQTA5xgl2COPCIgN6ufIP5C5X2CPUbsKj78LnOwR/6BKU+UG3zjwipNgkSG\nXP2jTaqj6HRR1Yp48ve6m0a4G5kG4y/FEdfe2Yd/xdWh7ejbRl+UVODCx2ua\nIkuqrKGyjuEXbBIhlnW673K8ifw7bhVp6OKvESSSVPbdaD8nqUIJWy16798w\nhs8a5QeJBW9SM6ksMY54KB5H6CyKsWVtfIrX7DHEgQH31BXMwqbdbHt1Fqjb\nE89dPn9RG8paISpWACIRuEpIDA60kyPNwiyqXPBosgU/Cxf/sTTAURnAqG++\nZURfLULW51fD/isf8N1CQxQmAB3E0vp7kf2ohHf0O+eN196ctz0OB7gvK6nU\nCXyzDz2ssUiuBSiKV4A5LRL2pR1HcijzkvMavSiY4WSW2T+saA9aUuOM6txu\nII+A9FXX2AlcSbBp19329GUXbH9mLdTPeQalAdPFjhTzWEMFJCVF+qo5Ykw2\n//35jYXudYYrkIT1d4GriwYlKbzP+tdUJ4wniDwYmc37LLfwwcETbm3we8dx\n6Q3wAgQ1JJFTdCivEzB2HDlioQ+3Sz4q6r9v/+h0pGvzmKOW05gvilvj5INr\nFZevPVVTGthhp3/kDQjoZ9PS2SIgcD1g/Fg+ts6Hms6NhPvZc6JeRtUScLQB\nlG3f\r\n=zzzP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4f063a56339dcfbe3d7a1738a94cd9389e40a349","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"nventuro","email":"nicolas.venturo@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.13.6","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.17.0","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.5_1584039126402_0.45880851983979754","host":"s3://npm-registry-packages"}},"0.5.6-rc.0":{"name":"@openzeppelin/test-helpers","version":"0.5.6-rc.0","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.6-rc.0","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"7bafbc15d29a20635c6651cde1ce043704460a43","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.6-rc.0.tgz","fileCount":19,"integrity":"sha512-G2WxSAEIYi+L2f54nrwpHmDEMX8mxX5BMsp+MyEcelrace7AFKcDOnU7v9kq+EkzRfL15QfcWDrQcTfukgKdwg==","signatures":[{"sig":"MEQCIHWNucxDHrMpQz1vkp/L56TePzUwNwP5w3qymNxxpAXbAiADQdyY69o948V8QkPyM9MSwPQZLEZgID+EN0albtq4Ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1YH6CRA9TVsSAnZWagAAr7gP/1uImDwWLEyv/TXWINmA\nsKLTABMKnJcZIFfBfb6fmMqnRaTFdh6yGuHcuxVx8rHFqlJ1GjqQCv0IQeMV\ndm2EaVIVUsytMmAyaJAMTjPAuOY1SvrruJgQc4nlU3npnOIN06Swcjguo6fb\n/zGZiq93zgDEyOnQB+H+xS687Q1zJKnN2bMU87BSvgctB2uDRf6ASmYyKacK\nhmuyGg28zZZ+bM+tb83b7/Dc3a29JPi3uGcjyPP3notczXRseIC4f95FkKxS\nOVwSDZSWtAGy2D8t2b8B6bxXaLBm/5kydo/aGV4j0f39DnNrmSmTCGnIyrGo\n0JGxL8NRsJxLc8pEEQBGlqk1gH5+i9ARmTjJwzU+BId5cz1m38dV+twIf0yK\nFlnRKAICOCgpd9pz2S35/vIBHlQ6ZgmuQr2wGvaZtqQGhlwClLIvQK357Itg\nzRApVW9s3HoQjG3a+6UNHxT/MNxsKwIjW1QMhQH9ySUa8RHl1ep6fsOacnh2\nv8cRHtp3KSa4WkJJV3vd9WbxBQKgQnO6S0n6onm5i4vDGe1ZW5Dss0nIHaNw\nkoiM4rDh9h1DEZiC7b4pxk+wLnx/7jwTY/4H4xzqpI1qOaMZsffqmD1bYOTw\nB5gD22bw9hEHVjFjv1E9HypeYoW0Ox4ZXFzKapFR01y+uBYBp1liJVGVs+92\nZQ/2\r\n=mZjp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# OpenZeppelin Test Helpers\n\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/test-helpers)\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**Assertion library for Ethereum smart contract testing.** Make sure your contracts behave as expected.\n\n * Check that [transactions revert](https://docs.openzeppelin.com/test-helpers/api#expect-revert) for the correct reason\n * Verify that [events](https://docs.openzeppelin.com/test-helpers/api#expect-event) were emitted with the right values\n * Track [balance changes](https://docs.openzeppelin.com/test-helpers/api#balance) elegantly\n * Handle [very large numbers](https://docs.openzeppelin.com/test-helpers/api#bn)\n * Simulate the [passing of time](https://docs.openzeppelin.com/test-helpers/api#time)\n\nTest Helpers integrates seamlessly with [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment), but it also supports Truffle tests and regular web3 workflows.\n\n## Overview\n\n### Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n### Usage\n\nImport `@openzeppelin/test-helpers` in your test files to access the different assertions and utilities.\n\n_Note: The following snippet uses [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment): a Truffle-based setup would work the same way._\n\n```javascript\nconst { accounts, contract } = require('@openzeppelin/test-environment');\n\nconst {\n  BN,           // Big Number support\n  constants,    // Common constants, like the zero address and largest integers\n  expectEvent,  // Assertions for emitted events\n  expectRevert, // Assertions for transactions that should fail\n} = require('@openzeppelin/test-helpers');\n\nconst ERC20 = contract.fromArtifacts('ERC20');\n\ndescribe('ERC20', function () {\n  const [sender, receiver] =  accounts;\n\n  beforeEach(async function () {\n    // The bundled BN library is the same one web3 uses under the hood\n    this.value = new BN(1);\n\n    this.erc20 = await ERC20.new();\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(\n      receiver, this.value, { from: sender }\n    );\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // BN assertions are automatically available via chai-bn (if using Chai)\n    expect(await this.erc20.balanceOf(receiver))\n      .to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n## Learn More\n\n* Head to [Configuration](https://docs.openzeppelin.com/test-helpers/configuration) for advanced settings.\n* For detailed usage information, take a look at the [API Reference](https://docs.openzeppelin.com/test-helpers/api).\n\n\n## License\n\n[MIT](LICENSE)\n","gitHead":"6bdbf17fde1cdb1f32b4cccdedbeb3f5a4648a4f","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.4","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35 <4.2.2","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.6-rc.0_1591050746200_0.5878164121678571","host":"s3://npm-registry-packages"}},"0.5.6":{"name":"@openzeppelin/test-helpers","version":"0.5.6","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.6","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"nventuro","email":"nicolas.venturo@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"cafa3fdb741be9e3ff525916257d6cdce45ed86a","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.6.tgz","fileCount":19,"integrity":"sha512-8U4sR4ed4cFmc6UKj7akUxZzQJKU9P3p/3RbF+urQuRLLhBaB8zSya1m9VB7/anYEZnBmTDk8LuVgAmYaCPs9A==","signatures":[{"sig":"MEYCIQDNdBAQZSRMX6Z2ggZMM7XPbOH/EliwmDImS54hnlskfAIhAKTbwN9e/65zi2WwWh/AQJrfgVu4aBK+bUvENMoNW3VK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1YsSCRA9TVsSAnZWagAASVgP/0YbwjD/YG+IPnLk8Zgo\nCcuJM7fHl3BYUPXrk937DVdWaauUNv2tk0DG4bYewiZBUkoMjxibq6+Uc5q+\ndXK8Xjv433yl6YVLkC4A/k7FXO7xu9TOsj2vbCh0y6kKp8o6ktMkRKlP4nHI\nYyT7KJCZsxpLSy0unJlStIOX357iWBOfZTk+6hibQwQsRWyohlw+cVGxQGDZ\nqxi1oIt+s3b3GBoaAAZoavhuMKpVzN7qWtayHf4/+xYbLe08oaPqzTtvPiwn\no2kTdx2nrhx0RK64N6iStrrDwiszUgk6unOHI4/k9ZcmI5W2eAxLDMmQ5mdW\nQuycUL86C2uBX5VUFq1b9qnN/n8hRHtTqSkHW3rrsJYEZkTmAgvFKXziy1s8\nyvW7n/PPt71J1kjQlpunFQyQ4+wiUY4HqZtFI8NXNKyoL37COMYYCVz2jWHp\neTBb/wmuolFYgianJ1Tx4Hq5GuV34DTguAIRphj2CjuSYiXkNSXuu4wtTpnR\nG+io2Bk0F+K1OM13fRl6YfICPrSPF4xV1NqnWFoGpo2WTdKpNbr/wGUsYtNe\njjGheZhILwk51uVqcVwncdo/DJHqrfA+dReQHtvq9aDoduiLoRdLxDhv48af\nvUNpozKoLfJ9jzUR8BaBvdf1GcI3FcdKrImlKHL8/gVexRyOsOCYcIH7+sqp\nQWQ/\r\n=sptY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"64fc8732a1e3a0b9230246a8a4a2fd0a282fa22e","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.4","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.1","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.1","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35 <4.2.2","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.0.29","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.6_1591053074078_0.2387739908041433","host":"s3://npm-registry-packages"}},"0.5.7":{"name":"@openzeppelin/test-helpers","version":"0.5.7","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.7","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"3e55c575e9d2157ffc018a1f25901bcc4811e604","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.7.tgz","fileCount":19,"integrity":"sha512-wZfLRqtNA+zkjTWRW4UZzHidgDKqQQM4C7+IfhLfzBW/2Vl3uqoj2nL0aR5F9BgDC2972XJffBwziqfQPsjNcA==","signatures":[{"sig":"MEUCIQCZkyZwUdbQ7SAbgeStejxPYoXndHFlA0RVbz261EVbjAIgLVIhaoQCsAtXiFn6+mzQxk2BPCRLopbaEmMbrL48iWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhc7NCRA9TVsSAnZWagAAYZsP/RJPZ2J2BINbtISmYVTV\nIYnXdtnH4Knll9NBkCN2xjCqmtbb2yjZSy0UXmQXFgqUD5O2XBK8Su6P8e8U\neg6XzOJ8po7LJPUoCPKuPXnggrbdqQmZNqp9Ihme+Go8X7LoOrlTzB5itheF\n9CDqowSJjgHE6rR17C3I1w24O+0uB2Ie8HbtTZxLZ7+TScQMHquxrWBeWpWE\nqhdH4GjHe1sZdJfCf5hMnZZdIKEGEUcQmeC2GK/l0tUfo1aKRGexd1XCo/3x\nYLJCEXHheOhq7+R/cVLj99JaUQX+8vadktIK7V6HrG/8CVgQqp9D9PIiRXsa\najLy0T8+PqETMcEEWTVK1teV+jvlK1OeS1bB6olJoU9BIx6iM+pRXMZ7q14+\nxxY8s7JTtgyzYk0hxOiCP6/i5NHoQ0CtMCiZSF90/qVG+bUAXBmJCzh71sLg\nkqQHfeOWCokzi2MDMM0azieAESFN2LqhviSfGw4Vlx2xOUCwh/MtWbK2BNJ/\nTx9U+OAZqvnAr85hgQnOUYkWBYFKXyERtgJGtBDOBwKNNrn3lzz4LMJupxlv\nifYJUs2c6v3EE0DcpYIJyVUpjLjqvF+F8+URR+hx8kdua8rb+SAQL/IGk73w\nCVXbES7WE17X3rZxwDDNocL3IymksIqGVBmYN5xuZNUcvplmu4E1gnY0zLXS\nEqZn\r\n=FV+H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"b7a858255cf4cec971063ecda7969a915ba0b856","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.6","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"12.18.4","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35 <4.2.2","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.7_1602604749183_0.26267262042511685","host":"s3://npm-registry-packages"}},"0.5.8-rc.0":{"name":"@openzeppelin/test-helpers","version":"0.5.8-rc.0","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.8-rc.0","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"905deec207875b1aa2595798ac9584b0f0d91731","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.8-rc.0.tgz","fileCount":19,"integrity":"sha512-a7buQb4931iJpRPEd1J+JuuWMxYKlpcdr28krxpbG95Gdn43X0YseLejf+DRTpaLBfZCulgJ9TRK8aElGjyG7w==","signatures":[{"sig":"MEQCIETOWVnF7a0FIqdSLvK7NFgnLwxlaO2/ZiiaWzk4GX9xAiA+AtaekcQ6b6NT2ER52g32kYvp16SxMmvFOKs5n3fMaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmG4aCRA9TVsSAnZWagAAPZgQAIAzOjshQ/O2/KIf+/99\nQnAu58adRk8sy6/R7nWvvJL/PolTENVGdYmFQsy0Jd2hrVQrdYLA4zyXAFTb\n/heSaIkJlSR24KTAy/kuO90M+r8N0/cRR4tfw8pBOjhU8Gr8wfwnXkn9DnSQ\n9FSByyWn0kBnC1LsRpVr5gNS/oiP1kAMONK1qhPCogcq5LsSKoacsukWsAkW\nq0RrWLt6ttzU2KjhPpbaTW/d5+Q8qci8eMC75ZIazX3L/5IQxz/z6fwoS0V6\n6qh/8ZQaSZSKnWrwRdQA7nhy3NsQppgiBQ2E7lW69xXhBQT0OFPwDqRAgU56\nIqzSKRQiDb9mLaPap2v5JyrK/FRqnebMLWpPaLDJGd7V+39lxNN6ss2uMrL7\nBQ0GirziGGNshBee7PeCjNV45e8S1sAHrFefpKwR3KloPjsV5SnWjqXOSr4b\nVAUU3o3kU8q15y0WKr0Qt7q1FmKCuHI6ZSEf4ACgYjIkxpiURsbPIi99D0cC\n4G+VQoDzgI8zv+JUCTuEIixC/CBrbOjkLzLP+Pl3VYHTlF6WEMuWFQfI37/w\n9QRXXhOM4Sxi5mICo8S87fsV+aiz6r8fnlP+AwiWWsIhtJKHFW68NUha2Duz\njME79HOpGAKL5ER5vLUUh2OBjGcD+3u/pk6wvPEpq3VwXALvsAjmLhqoudv9\nJ0X7\r\n=qkoa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# OpenZeppelin Test Helpers\n\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/test-helpers)\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**Assertion library for Ethereum smart contract testing.** Make sure your contracts behave as expected.\n\n * Check that [transactions revert](https://docs.openzeppelin.com/test-helpers/api#expect-revert) for the correct reason\n * Verify that [events](https://docs.openzeppelin.com/test-helpers/api#expect-event) were emitted with the right values\n * Track [balance changes](https://docs.openzeppelin.com/test-helpers/api#balance) elegantly\n * Handle [very large numbers](https://docs.openzeppelin.com/test-helpers/api#bn)\n * Simulate the [passing of time](https://docs.openzeppelin.com/test-helpers/api#time)\n\nTest Helpers integrates seamlessly with [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment), but it also supports Truffle tests and regular web3 workflows.\n\n## Overview\n\n### Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n#### Hardhat (formerly Buidler)\n\nInstall `web3` and the `hardhat-web3` plugin.\n\n```\nnpm install --save-dev @nomiclabs/hardhat-web3 web3\n```\n\nRemember to include the plugin in your configuration as explained in the [installation instructions](https://hardhat.org/plugins/nomiclabs-hardhat-web3.html#installation).\n\n### Usage\n\nImport `@openzeppelin/test-helpers` in your test files to access the different assertions and utilities.\n\n_Note: The following snippet uses [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment): a Truffle-based setup would work the same way._\n\n```javascript\nconst { accounts, contract } = require('@openzeppelin/test-environment');\n\nconst {\n  BN,           // Big Number support\n  constants,    // Common constants, like the zero address and largest integers\n  expectEvent,  // Assertions for emitted events\n  expectRevert, // Assertions for transactions that should fail\n} = require('@openzeppelin/test-helpers');\n\nconst ERC20 = contract.fromArtifacts('ERC20');\n\ndescribe('ERC20', function () {\n  const [sender, receiver] =  accounts;\n\n  beforeEach(async function () {\n    // The bundled BN library is the same one web3 uses under the hood\n    this.value = new BN(1);\n\n    this.erc20 = await ERC20.new();\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(\n      receiver, this.value, { from: sender }\n    );\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // BN assertions are automatically available via chai-bn (if using Chai)\n    expect(await this.erc20.balanceOf(receiver))\n      .to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n## Learn More\n\n* Head to [Configuration](https://docs.openzeppelin.com/test-helpers/configuration) for advanced settings.\n* For detailed usage information, take a look at the [API Reference](https://docs.openzeppelin.com/test-helpers/api).\n\n\n## License\n\n[MIT](LICENSE)\n","gitHead":"6541eb7d5678666e229b69896ccc5a67fbed7447","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.8","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.22.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35 <4.2.2","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.8-rc.0_1603825178137_0.9321453225417151","host":"s3://npm-registry-packages"}},"0.5.8":{"name":"@openzeppelin/test-helpers","version":"0.5.8","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.8","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"7663352063f6c0908fbbc2d478e2b9ffd6ee45ae","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.8.tgz","fileCount":19,"integrity":"sha512-ueJoBSN3Tv0GNU5sT5O5QvcSikC2Cnj6s7t4GE0gpt09SzYkepbeciuoeaa5oxrw617aLEqkfNyZWIwpTefbLg==","signatures":[{"sig":"MEYCIQCnoKCo46d/LL7zGItKDSmzPZRajx7s6U9tLVfeO4GBYgIhAKLkgq6itc93fsOr8ishu53RkAyB2aL9CG/UIK/0Dy+i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmG4wCRA9TVsSAnZWagAAeyQP/R5UIni0CwF13KGzybLM\nug6h89xtGFphn6fcnXjNzyrVBTKVN825DqByfCCHmO2++PTOJ9QXBibOUvtG\noMJPVyfGbKbuKp/vbXWkt7aQV/Qo5xokzp0ERy4YgHgvm866EMMP6A+u3yVX\nGNfRtVG+g35pDGbH8CG2rXweuk4iJcjj5vSQRZZX1ycnr9w/0Wg1QAL1p3gH\nMr3eWKSs9fmC15lbuCVqnh0ff61ddg4upymbuk0ky20EbFozrIVtrlKgdena\ninSdhNNXey3pi7n8GksUW9hbRp3Ct5o0X8EjmyXvULn7bd9C21Tn/5DJafzk\ng5hoHdj94O59HCMdSHWclBy7yL11z+D1ALwlMmF4/W2h1R9w4iTMvBFXPI/m\nCZd1Yr7DuAL7ir+/UqmRcVgTDeHGa1qOfPpLiqYEcA5oAVoS+J2a+agQ/UsG\nFqTTvGyF2Q6hO6CRKHzj6aino0LwSsW8E4b4utr5zj4iljB5/MfctuprNQWv\n3qv+TGykohJlKCtdr0ogA5Shn6WEBSsN9ey0W3sv3e47VNnKSrRSlZODSCjo\nkGrTwjZnkbbJH/3CDvAKpiEv6xEMF5+GTTYl3paZDihRGKujX6EyN6arPI6T\nVUMpy1WJPXMR+Nzq+UOAjAo8sZ0OMCUmJbQnn2PK58u6tq0EW5ril9yOwPGK\nUQHM\r\n=GTon\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"334cae26018d64b9293e324a7b1889fd65f0bc05","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.8","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.22.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35 <4.2.2","@openzeppelin/contract-loader":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.8_1603825200279_0.7592040072308379","host":"s3://npm-registry-packages"}},"0.5.9":{"name":"@openzeppelin/test-helpers","version":"0.5.9","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.9","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"7cf4b0f068b21391aea03a839d1dc43d7434049b","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.9.tgz","fileCount":19,"integrity":"sha512-pnY4E8vC7Ifdg2ptjHOJzdF4paRctOjwkjgD/fbxdwECs5dXUNMuAyG49bPPoJ5hqceEVbzseLF+iTr8z5j47w==","signatures":[{"sig":"MEYCIQCEaBUPWieUmb45tuIDD0BAYAKrtJNrwtZPqnwhSRtYuwIhALzd+kkN00qlZ7kCPEU40289BfrIbxByHtJ1ZzBwPD2v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmNJaCRA9TVsSAnZWagAAK/wP/RjzM9PIxlHF6hlw0XaV\n2AJ4zHKFci8/CN7pVVc83JdO1nIQrkkJro+UwnqIqFEWcVkO7tdYmoSUIvsT\nkqH7jiwj6jY4EfRoS/0E1B6dMds868AWtFyMvxlaGtt8rqFyfQJ4nRDM+/dJ\n+5FribuW3OQzDjXQVT1CZlt3oIABJW4rJvkc24QLESw364ag/I9jDOzSbpmG\nhn3K+MUKgW1XAjC4Q5mlPYSNyc6LD2mzBBvbn6i6mWmObQljlcz+8T1jxbw5\n64xhiS2Q82iVYSR7Zwu7H1UwfxrBxVpWv2B9K34RN44F3LKcXQJznkkbpBnV\nqcqyasJSVybWmYJlbQ90++Gq7Y7YjhwZMT3gHfcmXXxxTIm1UjENj+wFKwAk\nrKAPMR1rV2kjSAkbzz9wbWz9ZKCJTfh/MJY8hep3nFXtC0pOqyJSp2dOOK1y\n71EjtgKBylGutzw/P1lXMSlU2qbi0iDFQncxESnHgOjPziU31FoXNNGtUnWU\n5sN4kckFfTYqLHHN1Y0VpOCmQtI0aO/9wd3raYfqa0J7l/DgdZDbDrknk0lQ\nyav8fctrWltggET6EFGTgLwU+UpXfya5HBEcaKQ0bOUmpUk/r/CLYW7vFU2H\ng2Xg6LXsOopVunENe+KfSCT9y5fPeXkEgmipvIZbmWARIB1W9JwPiwBv3wXj\ndioX\r\n=q+yk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"330fb1c33ca87790d86ac7730cfb8a42a3bc0805","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.8","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"10.22.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35 <4.2.2","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.9_1603850841769_0.8595672642722674","host":"s3://npm-registry-packages"}},"0.5.10":{"name":"@openzeppelin/test-helpers","version":"0.5.10","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.10","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"0a6ab9fd0810085e8114f9f33aed4102e848f27f","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.10.tgz","fileCount":19,"integrity":"sha512-agXr5Rn/q0MCDaU0ioYMGQVjY32Ln3Ae3cyQKtESuKdDoEZ7g3Y7x4eUbT779OE9nQ+xQCytmVqjKvZvajURug==","signatures":[{"sig":"MEQCIEVlb1FOshcL65NWIp0bsiZayysS5FliYuWpgcsr9aLCAiBHxeEeIyLMVMCNuM8v79db6XdRITIUHOOYuwo/5ej3uA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4k2kCRA9TVsSAnZWagAAIssP/2x00E/gHAViQAKqtySj\nQDkDLSDvyb+V0ZZ6Dsi76HlTfSpvx+na6Yu/qK8koCdBTtz+NYNwnc61hIF9\nVKQZURhysEVnHQCCkov8RAXQ003/zjyz0+rmKTuh+x8y8oU5IX4idLBLKnUC\nRHwGwHBvaAQWK1KLetJUVKOLqh8H+j2dwQnnYUeBbfvHOJrUQrlS5jRVl0mI\nWzm+7hFm3NMhxIKHzQoLJSPd/ynT4yvs7zlgYGwdkd6/YUhbqoJNu12kpbZA\npQXnMErRoIVOOYNCzzmE3xirN32AvS2kdQfOPgtYQub7WQA6tlbdUrKCpvSW\nkr0X7uHiBA/SRQzxByWF/wTakFLwW5mHePW5vub5/QXN6W/kmkeLQ4xq74VV\nZ8Nn2TtK4GfqxIcOufVlJ29GKHPQlWdk43x2B60hVcMqcxc/+HeeXtqyRBHi\ntftqikFEIAe1ZwLXqz3u9ih3BKZ1s72H8Lt8YZFESckI5puJrZq2NhHwAVof\nGb6DC7mR1KsajuhxFBWnFyw3kIDcv/r3I/YfNqPLrg9Cz4SqzwZjwPvFg8Vh\nasMM5pqr9qOuMgdCoSmXxUYjARhW3O5ip7cQ/xDCEEq7OR+uvHerPVDXlq8m\nZb4QQNw99Bnli5/LdrILIwQ7la+0uzMWFseV5rDyKUwpM1/j/PMD2Kngd49S\nb7Ep\r\n=Xols\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"763b5d139b023cbc74a467b630ec3f31772a76ad","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.8","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"12.20.0","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.10_1608666531545_0.2032096637480083","host":"s3://npm-registry-packages"}},"0.5.11":{"name":"@openzeppelin/test-helpers","version":"0.5.11","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.11","maintainers":[{"name":"amxx","email":"hadrien.croubois@gmail.com"},{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"67a4d28b1c3b15f98c56ed64680f988c8e882bf0","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.11.tgz","fileCount":19,"integrity":"sha512-HkFpCjtTD8dk+wdYhsT07YbMGCE+Z4Wp5sBKXvPDF3Lynoc0H2KqZgCWV+qr2YZ0WW1oX/sXkKFrrKJ0caBTjw==","signatures":[{"sig":"MEUCIQCW+8GAE7IjR5H4ZMXg4UsN5G6QO+lhH8Ar2d8JqXh5jgIgSKV5VX/HQBEhN67M9+Wud14HPai7vkDSR6XE7x+uy2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgis13CRA9TVsSAnZWagAAmDMQAIgFqD6Ea3D0BfeUws1i\n6pxTr9M7h3AMjWBYApOftOviW2bhfYW5CKFCVgN5S8+yx+ITJlQ59H/JRk+A\nXQV4W9+uy/wYhHkjLCsRyrutSftaEmMKx+llTU0DGKR77EvniRzpGsDBlwmu\nx5HYkh3AzhOb6/FdHZYIVBT62XfDrS2cYDgb5mUsqigXw5Jdk61uB4taytqD\nS9uihEfittpHdrS+SParfkF1fM3gI4SD63UhJHnOmMbvznno1/vJhnmOrCn/\nioxTH42/M013ElX4/BlkESLKfwxoSJHWOytLuBktZx1Fau84jmFBj06sdrMB\nhMFNWmFN9+IaDE7CkSMW6kYco0dw0SWvjzFbV6xDichbHPcwKKqFuUj9Au15\nEo2tw2ZwI075LVB3S41WSnxpmL1qkLJdq44EOu4yR6nlxa5nWXqKk9EC6Sax\nge1d+Up/yoeIiI+uPLl1dCTe1rOy/3Su6PSj4wZWm4EoP8P1ke96GR9obV9+\nHKU0tWDvKdeejULKDGSyBFwkhiZMZ37fIiiYEfHK/oYGm1LAxOCIkatPGrlH\n3JbcoRjrTwxl2b8hbvv0YwGD5hMGOfnL1RxEEQT1lyqeRNHFtVsokU1sRKBT\nUrnSwhzABdxgsJrxGiEq6wdIlUzWmOyT7EMRoUJTUfR7Mx3DyKflqApf69ey\nHfpd\r\n=W/P1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"9f3f05ae85845e7d40238e11ddc446bcff99d0a7","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"7.10.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"14.16.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.11_1619709303363_0.6698867945411904","host":"s3://npm-registry-packages"}},"0.5.12":{"name":"@openzeppelin/test-helpers","version":"0.5.12","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.12","maintainers":[{"name":"amxx","email":"hadrien.croubois@gmail.com"},{"name":"frangio","email":"frangio.1@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"7933abcc071031f898febfed67f5b83716d0ccb0","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.12.tgz","fileCount":20,"integrity":"sha512-ZPhLmMb8PLGImYLen7YsPnni22i1bXHzrSiY7XZ7cgwuKvk4MRBunzfZ4xGTn/p+1V2/a1XHsjMRDKn7AMVb3Q==","signatures":[{"sig":"MEQCIEYKDklNzq2brsCgSc5OCrSy/1TkDcpLweEwi3EZknOsAiAlzyP2hgJljQFnnNnS0QVMWZE8q7B3dz48m9ybyv/nYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4yB6CRA9TVsSAnZWagAAYOQP/RY1jQpdplzTM1hjOlNn\nUNe4HoXimux9uGqdZSmIoc9ozaZCtmCcaUXDvEx0cPM2u0Z5t2o8md2skMLP\n2/2y1PhzjBB3DUMlR6QShbblQAv+Ju+vu4tgYggZJUXk+rN8UVLSj4moFHtm\nF0Gw0H3hUavI89X4+i3VoLSa01mmmbmO0g+mOq8Mako615MomMozCqKcf5z8\nkpkqHhZeTSZcJ1Ym1r4zdCOMsoRQSQmpmVQ8T5/2Aj1crbAoWXx6DNhQ2/ZY\nRrH2dt1YaM5MonoxAOdM/d+T0oG5LJ8Fm4YUEQLwcmPHRA/sapL+UBPGJ9jy\nhE/GjVGqE5T36DnHz2oXcnKbmxuG1ZYMI/hzf5dxvZyfwWBeQYVl/7Gc09hS\nPHyIvI5R3ZS9oJtfy6r8Mzd9MGrG7P3P0ASxL55u4BbFev1W1v+N+V2wnCQD\nsxJMY9DecPZ/acK4iDu0tJtSRFqaM6dgtX/OG/xUMaIDNWDE1fN2h9y6R6Qb\nKa7NpNoLul4sViCGw+tozGwPfZEGscIvN06RXXMjXcGOKcQ73PqDcNoK+YG9\nggfl7k+XVlFwQjibvfd1SMxKIWlICBE0S3l91OVg+S9aoKUX8wmV5H3yissh\nNqo7fPFVkPDiVqnXaftqDFEcx1eyTLRARbQYTYKP7x/m4HrMrNkGu1pS/zil\nWdiL\r\n=agGQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"39f4db8f08e315ef51f3931a6776675c16898c10","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.4","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"github:OpenZeppelin/docs-utils","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.12_1625497722323_0.4042062479119066","host":"s3://npm-registry-packages"}},"0.5.13-0":{"name":"@openzeppelin/test-helpers","version":"0.5.13-0","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.13-0","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"amxx","email":"hadrien.croubois@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"1bc78fb2f7b179c11f5cc2ffe4f75c6c52a479fb","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.13-0.tgz","fileCount":20,"integrity":"sha512-WLGxUzjO3iZl+RdJEjq+xbfIAxLrcKnMkNm+rDRofDD0mLSSab2D1uYFHabRimNFStnj4SUjZoVC3iJcH4ByQg==","signatures":[{"sig":"MEUCIQC77xSKHJsW/FHQDZ7yUuIUyghCYV9B9eTYa/IJndubHwIgDIG7SUHHfUPMLV+Nhja1ULlrVDQy47DHy6RzKqtu5Y4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFINLCRA9TVsSAnZWagAAxTYP/1ZaWdtTaOlIl8Lgyv7R\nAXZcP7xpOy3pyRMzrv392MAH2it80bPcLVrFMC5B7Xp90DdRjw5nM31Ko71k\n9KK6KqWQw0waQZMOGDKeiAT3vAMOWRKPEn2RbLly6/V2o1VdeT3fl3GyGJCW\nnlMSJ3/Lp0Ls+uhAi/fxraPvfY9/5KnWOBhwCbCFOO7YMMDQ26xDByxv698T\nWRDS4FnVz3esQPLHiQ7mKlhGN9bj6XPwqC6VsAelr4jrOTb7fw+L689xdIWL\n8JtrUC+YlvdJnY74ZLCvJaGBAV9e5o0+jYg/UCF+OWwZv4E9gs+zkjGnouBJ\nF54t22+EZp14CqCFOgSe0yIJ+n+KaehCNFPtOjBFR4JQ15OfuLM0Yz5/YeH2\nXDLW74hYZzxGI6UEUWrnSNygVDQ3R6AxVtoyy4uQtojLc+RhaKlCwUrf5xit\nsCAiqs4/bVM7P9YIXkq+A6O8Z5BUrlGd5fL3RSD5iXG9BiEWL5SCM3oCjJvY\ngQbKk5FaBupVhK5PzYNGlGGQpEQnvSgGj4kO2LB0sHEsi6OuRJB+Z73k4rBW\nkDeje3BL6Bn61sGn/4iEEnT9SfomZv1a1PnJXopWVnP/uw+gihucWwkMGZ3g\nllCaFxwQ9SgAQYcEpDRxF+h4b/buZO7Y41c7FB8qWFHELal7cBlfuw/Nn92W\n5iOO\r\n=OI21\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# OpenZeppelin Test Helpers\n\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/test-helpers)\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**Assertion library for Ethereum smart contract testing.** Make sure your contracts behave as expected.\n\n * Check that [transactions revert](https://docs.openzeppelin.com/test-helpers/api#expect-revert) for the correct reason\n * Verify that [events](https://docs.openzeppelin.com/test-helpers/api#expect-event) were emitted with the right values\n * Track [balance changes](https://docs.openzeppelin.com/test-helpers/api#balance) elegantly\n * Handle [very large numbers](https://docs.openzeppelin.com/test-helpers/api#bn)\n * Simulate the [passing of time](https://docs.openzeppelin.com/test-helpers/api#time)\n\nTest Helpers integrates seamlessly with [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment), but it also supports Truffle tests and regular web3 workflows.\n\n## Overview\n\n### Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n#### Hardhat (formerly Buidler)\n\nInstall `web3` and the `hardhat-web3` plugin.\n\n```\nnpm install --save-dev @nomiclabs/hardhat-web3 web3\n```\n\nRemember to include the plugin in your configuration as explained in the [installation instructions](https://hardhat.org/plugins/nomiclabs-hardhat-web3.html#installation).\n\n### Usage\n\nImport `@openzeppelin/test-helpers` in your test files to access the different assertions and utilities.\n\n_Note: The following snippet uses [OpenZeppelin Test Environment](https://docs.openzeppelin.com/test-environment): a Truffle-based setup would work the same way._\n\n```javascript\nconst { accounts, contract } = require('@openzeppelin/test-environment');\n\nconst {\n  BN,           // Big Number support\n  constants,    // Common constants, like the zero address and largest integers\n  expectEvent,  // Assertions for emitted events\n  expectRevert, // Assertions for transactions that should fail\n} = require('@openzeppelin/test-helpers');\n\nconst ERC20 = contract.fromArtifact('ERC20');\n\ndescribe('ERC20', function () {\n  const [sender, receiver] =  accounts;\n\n  beforeEach(async function () {\n    // The bundled BN library is the same one web3 uses under the hood\n    this.value = new BN(1);\n\n    this.erc20 = await ERC20.new();\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(\n      receiver, this.value, { from: sender }\n    );\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // BN assertions are automatically available via chai-bn (if using Chai)\n    expect(await this.erc20.balanceOf(receiver))\n      .to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n## Learn More\n\n* Head to [Configuration](https://docs.openzeppelin.com/test-helpers/configuration) for advanced settings.\n* For detailed usage information, take a look at the [API Reference](https://docs.openzeppelin.com/test-helpers/api).\n\n\n## License\n\n[MIT](LICENSE)\n","gitHead":"2d67a71d28171d242d0a62855ee5212946d66bd6","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.14","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"16.6.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"git+https://OpenZeppelin@github.com/OpenZeppelin/docs-utils.git","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.13-0_1628734283750_0.014233033974379694","host":"s3://npm-registry-packages"}},"0.5.13":{"name":"@openzeppelin/test-helpers","version":"0.5.13","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.13","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"amxx","email":"hadrien.croubois@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"d208bdbf0f7ad3cbe579d0b8434074c5f60d8e73","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.13.tgz","fileCount":20,"integrity":"sha512-H9LUHM0nqZVObWyzJrXJ9FLDgtcBZZK0L+LhA0wdcvK3M4Um2LpLX4KbP/mUYcgvHK03pK7Ub4T6RYp3Vjy/mg==","signatures":[{"sig":"MEQCIHuuoQWNIEkUD9lKHodagyS5iR8omtUpNTr7Tz5Zhqw4AiAZfnDpElMfce4ymhvTjStvO+gNb4CLLy1jrhiha95g7Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFIr3CRA9TVsSAnZWagAA2qkP/2ipbYdQStlWbKn7fGW/\nnosfyPG1VziHTfGPffy/QW1uw7ffs9sLm2TZmMROf8m6BrjPWAjVKzN0T85n\nnmK2bMyNQo9f2VOdjCn+9Af1k2g32Xv43k9wUBI8QzHrNSj+bHIOQG3Q7RM8\nv4N9wI5cOJCGJcsJWQDQPek4fURRvLcwtiegkm9G2Rw4v0a/szQrQqULya2A\nbT1cLdnmEEjmN5j3PueN7zlNp7RqSDGO7ItvLVyW9ONpekZUVY7xqq4fa+kY\n5N2V3rNuN1gyNOpG1QWtzme9zDrhYzIIzDkY3GWQDoIj/2yHTUmJ1Qo82UsK\nULwUH4TnYdidggCNmb1A9B2YRwQrncRU0V2/uFYQebwhW5w/qaNiysa/KDIg\nBCaBu3+SUBolRT9xj4j7/nRJfabA9jfn1HXLdmEA8f/BuqXjoIiQjhrFqx5m\n+ziUSdqiyhSzUTPq85uv6rYFGLFejvXddsfp/LsBqYB2hgYc9ZfsOaaOcWa8\nmyg2aaRfmNkokv7CWM+CoHIGzAN4Z3sQwPlH1hVtd1LToBiD6E6zIJGEsZrF\nqxb7++s0d1GvnyvW42YxwWvLf13re79Tm16XPJlnHyrJ5Y/JdpTMHjsjRuLs\na5W+zyhEJvPE5SF2YgyISHp9H3SF9VCiULLNm2nEy64tU7uswwOAjOoOyIFw\nncQ+\r\n=CbBI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"09ea0a6b799025d3ce707d1c1717bec72d55e1b6","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"6.14.14","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"16.6.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"git+https://OpenZeppelin@github.com/OpenZeppelin/docs-utils.git","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.13_1628736247554_0.7856051033491693","host":"s3://npm-registry-packages"}},"0.5.14":{"name":"@openzeppelin/test-helpers","version":"0.5.14","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.14","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"amxx","email":"hadrien.croubois@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"9c516abfc24c39c8bd36a92524836d06b2c9e8e6","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.14.tgz","fileCount":19,"integrity":"sha512-i6EShXUEn2MP1Hj90nbEJ+fr8QSUnjRem919OL1qSXkxSlU/lFup9zDLWIH1W9EKg7f7jEi6Km1ilX94v/Fsyw==","signatures":[{"sig":"MEYCIQDf298Gm5yg+/I28aR8QSPAkAO9kRQO3kSPhACB9b1CQQIhAJewpPwBzmgcP6nIv81e6A0hhMJhSNcKb6HU0AEq4O0s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43919},"main":"index.js","gitHead":"2fec6feb3503eebe625f3f82034fc3eb0efc12df","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"7.21.1","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"16.9.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"git+https://OpenZeppelin@github.com/OpenZeppelin/docs-utils.git","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.14_1633378095313_0.3062293842276975","host":"s3://npm-registry-packages"}},"0.5.15":{"name":"@openzeppelin/test-helpers","version":"0.5.15","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.15","maintainers":[{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"amxx","email":"hadrien.croubois@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"7727d4bb1535e1fa2372d65d1dcee335ce8d36af","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.15.tgz","fileCount":19,"integrity":"sha512-10fS0kyOjc/UObo9iEWPNbC6MCeiQ7z97LDOJBj68g+AAs5pIGEI2h3V6G9TYTIq8VxOdwMQbfjKrx7Y3YZJtA==","signatures":[{"sig":"MEYCIQCKzRqILLYXyQqTN5Yk6foGTUJ0sOkywCl5vwuimxNikgIhANpL+4+vcEPQRDdq5iiyZKOxfrkXjX4vr5XR7AbQIO0L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2UrkCRA9TVsSAnZWagAAL3AP/A2zw4C7oOUdTd8BnZ7i\npn3ks1DFlbPoltYOog+LA7kM8BQuSCUhuv0dKdRPdwJR463I3bzGeeAYJzpf\nrGLRtsJuurqricAnVRYNPWfoDXbTHXR6LAkyVKWJiGaBBfdazsIr/qUXGIxV\ntzyRQuhM29E72yLB+zviJtmnvOlcnfumEaqYV+0QXLAdskaEH/MgtB46RlMt\nLZxz0Oh88VYn7qdF23h0+6WnbW14xACZIz8i0/Y3eli06RBRjzsWwwn47ke6\ngqLjKlSvpcIohZ4cU+hvnhuG0KvHHtmSdCohYv/3aEdlS4V6TeurwprLKrjP\n/OF3tLUo72bs/Q9VbNAEiCAzAFtHyQ3QBNKSWDIPhWgBocQk9rZWMYAdh5R8\n7SKl0guyxApsy0c+X1q7Q2JZZigHyEKytmDFmfWFcWQO0EMNdedLt+5ijOak\n/mI+8JkLmHopZpJTBICur9i5ze/gIZEwADA+QPLdgY8VnkD6h+WvS3fkvii6\ng7jhNklggX13fNzWGG82zEecl3csLvsd5aUMwStJUcX9Uc3VchCCSPpbvRDR\n4zLuljz6dYI4whBu11XBa34bPWaU/Xia5C/vjIwr5XGLKXZqt6GP/31wnLvM\nrheQQnLRAiM04XCP9YmSFEaT+Rh6D7ZVhuPL/83z2W+EqqQzHUfcatNFKTnR\nsBbQ\r\n=QGhL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"9a63072cfe4f72526b76cacde50a0528d75b634a","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"7.21.1","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"16.9.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"git+https://OpenZeppelin@github.com/OpenZeppelin/docs-utils.git","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.15_1633462885788_0.5172015581147813","host":"s3://npm-registry-packages"}},"0.5.16":{"name":"@openzeppelin/test-helpers","version":"0.5.16","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","_id":"@openzeppelin/test-helpers@0.5.16","maintainers":[{"name":"ericglau","email":"ericglau@outlook.com"},{"name":"frangio","email":"frangio.1@gmail.com"},{"name":"amxx","email":"hadrien.croubois@gmail.com"}],"homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"dist":{"shasum":"2c9054f85069dfbfb5e8cef3ed781e8caf241fb3","tarball":"https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.16.tgz","fileCount":19,"integrity":"sha512-T1EvspSfH1qQO/sgGlskLfYVBbqzJR23SZzYl/6B2JnT4EhThcI85UpvDk0BkLWKaDScQTabGHt4GzHW+3SfZg==","signatures":[{"sig":"MEUCIQDvTX2HK9GgQQ1SuBDiE5SnR90ySr6dCAo0aCxKczMeSgIgA6T0k5ss7ZRy2R4OQ3UbCUso5JzEGvASYDf9ZJzIPhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFpmYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDgQ//bOmBdiXt9ydL6qAjQk44oXYRMrkgTzu9OeR/d2hmNGn9bxj8\r\n0+A185Yz4aLRf2+qdv+EGJSrCN5VpMuMsI2jxD8SoOjz8T3LCmww0UQ9Cp7V\r\ngIqJrYGPeoYzcfGsaF+V9YNqqKwl3wxcIzgYEjlg5YsELSeEmcdTXsQRa5uo\r\nFJJNQE+G75i+R2u/ZA+Ki1ePAww7PBahUcsipaHMfmQP+c+GrR+yP/VZj7mR\r\n5HwTo0EgVQGokXSRWTNu45SbuzW2QraoB9jJ64KtzNVf1K3hedWcaT1wxYIQ\r\nIuH1EdY5UhRGzG86Ne7Mkv/G1aeVVUQHE/WaU3XWbS/jJKQK9sqomRQpS9aW\r\n31qN1y23Fb2ufS9gL6uCSuP8aGEPgEYiInqndsGsR6OMFMpGSXZPwTPB8aIS\r\nmOC28oB6O27yX9sHfWFMwVeKctB2dbMy9NXyOVNYBtGCA52OoiTHw7qY7vkx\r\nsY3T9r04VtgNFDX8wI6Qq3L7JLcQwcwPp8qg9R7lieRJBsswAUYuXu19oFyY\r\nszD2p1cKo88uNmBW0OiqRPKzO1CREaERWDq5+60/zLBJzY/lX3ahPGuteIwE\r\nU3SNCl5Umt3xXXdWMKqzxdfSdYqF8pBnhypajpv4lQd8VBhrGpFQ/LSAW/LA\r\neSL7NqCdMEn7TsY9T5ctjID+aT/CoGI9rhA=\r\n=V8rq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"b6ff6c5807850ed59073e7347418f0a39d879d0b","scripts":{"docs":"oz-docs","lint":"eslint .","test":"./scripts/test.sh --network ganache","release":"scripts/release/release.sh","version":"scripts/release/update-changelog-release-date.js","docs:watch":"npm run docs watch","test-integration":"bash -x test-integration/run-all.sh"},"_npmUser":{"name":"frangio","email":"frangio.1@gmail.com"},"deprecated":"Package no longer maintained. Consider using @nomicfoundation/hardhat-chai-matchers and @nomicfoundation/hardhat-network-helpers instead.","repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"_npmVersion":"8.11.0","description":"JavaScript testing helpers for Ethereum smart contract development.","directories":{},"_nodeVersion":"16.15.1","dependencies":{"chai":"^4.2.0","web3":"^1.2.5","semver":"^5.6.0","chai-bn":"^0.2.1","ethjs-abi":"^0.2.1","web3-utils":"^1.2.5","ansi-colors":"^3.2.3","lodash.flatten":"^4.4.0","@truffle/contract":"^4.0.35","@openzeppelin/contract-loader":"^0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^5.9.0","truffle":"^5.1.46","ganache-cli":"^6.5.0","eslint-plugin-node":"^8.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0","openzeppelin-docs-utils":"git+https://OpenZeppelin@github.com/OpenZeppelin/docs-utils.git","eslint-plugin-mocha-no-only":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/test-helpers_0.5.16_1662425495855_0.9915174513393819","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-10-10T20:55:19.215Z","modified":"2026-09-24T16:19:31.246Z","0.5.1":"2019-10-10T20:55:19.649Z","0.5.2-rc.0":"2019-10-15T20:04:05.603Z","0.5.2":"2019-10-15T20:04:33.461Z","0.5.3":"2019-10-16T16:35:36.109Z","0.5.4-rc.0":"2019-11-12T20:28:19.804Z","0.5.4":"2019-11-13T16:15:58.352Z","0.5.5-rc.0":"2020-03-11T19:43:55.663Z","0.5.5":"2020-03-12T18:52:06.597Z","0.5.6-rc.0":"2020-06-01T22:32:26.362Z","0.5.6":"2020-06-01T23:11:14.197Z","0.5.7":"2020-10-13T15:59:09.357Z","0.5.8-rc.0":"2020-10-27T18:59:38.265Z","0.5.8":"2020-10-27T19:00:00.451Z","0.5.9":"2020-10-28T02:07:21.934Z","0.5.10":"2020-12-22T19:48:51.732Z","0.5.11":"2021-04-29T15:15:03.487Z","0.5.12":"2021-07-05T15:08:42.457Z","0.5.13-0":"2021-08-12T02:11:23.990Z","0.5.13":"2021-08-12T02:44:07.895Z","0.5.14":"2021-10-04T20:08:15.487Z","0.5.15":"2021-10-05T19:41:25.924Z","0.5.16":"2022-09-06T00:51:36.082Z"},"bugs":{"url":"https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues"},"author":{"name":"OpenZeppelin Community","email":"maintainers@openzeppelin.org"},"license":"MIT","homepage":"https://github.com/OpenZeppelin/openzeppelin-test-helpers#readme","keywords":["ethereum","smart","contracts","test","solidity","zeppelin","openzeppelin"],"repository":{"url":"git+https://github.com/OpenZeppelin/openzeppelin-test-helpers.git","type":"git"},"description":"JavaScript testing helpers for Ethereum smart contract development.","maintainers":[{"email":"ernesto@openzeppelin.com","name":"ernestognw"},{"email":"hadrien.croubois@gmail.com","name":"amxx"},{"email":"ericglau@outlook.com","name":"ericglau"},{"email":"arr00@daodudes.com","name":"arr00"},{"email":"luiz.vasconcelos@openzeppelin.com","name":"luiz-lvj"},{"email":"son.dinh@openzeppelin.com","name":"son-oz"}],"readme":"# OpenZeppelin Test Helpers\n\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/test-helpers)\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/test-helpers.svg)](https://www.npmjs.org/package/@openzeppelin/test-helpers)\n[![Build Status](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers.svg?branch=master)](https://travis-ci.com/OpenZeppelin/openzeppelin-test-helpers)\n\n**Assertion library for Ethereum smart contract testing.** Make sure your contracts behave as expected.\n\n * Check that [transactions revert](https://docs.openzeppelin.com/test-helpers/api#expect-revert) for the correct reason\n * Verify that [events](https://docs.openzeppelin.com/test-helpers/api#expect-event) were emitted with the right values\n * Track [balance changes](https://docs.openzeppelin.com/test-helpers/api#balance) elegantly\n * Handle [very large numbers](https://docs.openzeppelin.com/test-helpers/api#bn)\n * Simulate the [passing of time](https://docs.openzeppelin.com/test-helpers/api#time)\n\n## Overview\n\n### Installation\n\n```bash\nnpm install --save-dev @openzeppelin/test-helpers\n```\n\n#### Hardhat\n\nInstall `web3` and the `hardhat-web3` plugin.\n\n```\nnpm install --save-dev @nomiclabs/hardhat-web3 web3\n```\n\nRemember to include the plugin in your configuration as explained in the [installation instructions](https://hardhat.org/plugins/nomiclabs-hardhat-web3.html#installation).\n\n### Usage\n\nImport `@openzeppelin/test-helpers` in your test files to access the different assertions and utilities.\n\n```javascript\nconst {\n  BN,           // Big Number support\n  constants,    // Common constants, like the zero address and largest integers\n  expectEvent,  // Assertions for emitted events\n  expectRevert, // Assertions for transactions that should fail\n} = require('@openzeppelin/test-helpers');\n\nconst ERC20 = artifacts.require('ERC20');\n\ncontract('ERC20', function ([sender, receiver]) {\n  beforeEach(async function () {\n    // The bundled BN library is the same one web3 uses under the hood\n    this.value = new BN(1);\n\n    this.erc20 = await ERC20.new();\n  });\n\n  it('reverts when transferring tokens to the zero address', async function () {\n    // Conditions that trigger a require statement can be precisely tested\n    await expectRevert(\n      this.erc20.transfer(constants.ZERO_ADDRESS, this.value, { from: sender }),\n      'ERC20: transfer to the zero address',\n    );\n  });\n\n  it('emits a Transfer event on successful transfers', async function () {\n    const receipt = await this.erc20.transfer(\n      receiver, this.value, { from: sender }\n    );\n\n    // Event assertions can verify that the arguments are the expected ones\n    expectEvent(receipt, 'Transfer', {\n      from: sender,\n      to: receiver,\n      value: this.value,\n    });\n  });\n\n  it('updates balances on successful transfers', async function () {\n    this.erc20.transfer(receiver, this.value, { from: sender });\n\n    // BN assertions are automatically available via chai-bn (if using Chai)\n    expect(await this.erc20.balanceOf(receiver))\n      .to.be.bignumber.equal(this.value);\n  });\n});\n```\n\n## Learn More\n\n* Head to [Configuration](https://docs.openzeppelin.com/test-helpers/configuration) for advanced settings.\n* For detailed usage information, take a look at the [API Reference](https://docs.openzeppelin.com/test-helpers/api).\n\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}