From 215b653a1992ec124b7ceb849dd7c6a1b51467a6 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Wed, 28 Oct 2020 17:03:05 -0300 Subject: [PATCH] Migrate to Hardhat (#2397) --- .eslintrc | 2 ++ .gitignore | 7 +++++ .solcover.js | 5 +++- buidler.config.js | 23 +++++++++++++++ package.json | 17 +++++------ scripts/compile.sh | 9 ------ scripts/coverage.sh | 22 ++------------- scripts/prepack.sh | 10 +++++++ scripts/prepare-contracts-package.sh | 0 scripts/remove-ignored-artifacts.js | 15 +++++----- test-environment.config.js | 22 --------------- test/GSN/Context.behavior.js | 4 +-- test/GSN/Context.test.js | 8 ++---- test/GSN/ERC721GSNRecipientMock.test.js | 11 +++++--- test/GSN/GSNRecipient.test.js | 14 ++++++---- test/GSN/GSNRecipientERC20Fee.test.js | 17 +++++++---- test/GSN/GSNRecipientSignature.test.js | 11 +++++--- test/access/AccessControl.test.js | 6 ++-- test/access/Ownable.test.js | 5 ++-- test/cryptography/ECDSA.test.js | 6 ++-- test/cryptography/MerkleProof.test.js | 6 ++-- test/helpers/set-gsn-provider.js | 15 ++++++++++ test/helpers/sign.js | 2 -- test/introspection/ERC165.test.js | 5 ++-- test/introspection/ERC165Checker.test.js | 9 +++--- test/introspection/ERC1820Implementer.test.js | 6 ++-- test/math/Math.test.js | 5 ++-- test/math/SafeMath.test.js | 5 ++-- test/math/SignedSafeMath.test.js | 6 ++-- test/payment/PaymentSplitter.test.js | 6 ++-- test/payment/PullPayment.test.js | 6 ++-- test/payment/escrow/ConditionalEscrow.test.js | 6 ++-- test/payment/escrow/Escrow.test.js | 6 ++-- test/payment/escrow/RefundEscrow.test.js | 6 ++-- .../presets/ERC1155PresetMinterPauser.test.js | 6 ++-- test/presets/ERC20PresetMinterPauser.test.js | 6 ++-- .../ERC721PresetMinterPauserAutoId.test.js | 6 ++-- test/proxy/Initializable.test.js | 8 ++---- test/proxy/ProxyAdmin.test.js | 12 ++++---- .../TransparentUpgradeableProxy.behaviour.js | 28 +++++++++---------- .../proxy/TransparentUpgradeableProxy.test.js | 6 ++-- test/proxy/UpgradeableProxy.behaviour.js | 4 +-- test/proxy/UpgradeableProxy.test.js | 6 ++-- test/setup.js | 2 +- test/token/ERC1155/ERC1155.behavior.js | 4 +-- test/token/ERC1155/ERC1155.test.js | 6 ++-- test/token/ERC1155/ERC1155Burnable.test.js | 6 ++-- test/token/ERC1155/ERC1155Holder.test.js | 7 ++--- test/token/ERC1155/ERC1155Pausable.test.js | 6 ++-- test/token/ERC20/ERC20.test.js | 8 ++---- test/token/ERC20/ERC20Burnable.test.js | 6 ++-- test/token/ERC20/ERC20Capped.test.js | 6 ++-- test/token/ERC20/ERC20Pausable.test.js | 6 ++-- test/token/ERC20/ERC20Snapshot.test.js | 6 ++-- test/token/ERC20/SafeERC20.test.js | 12 ++++---- test/token/ERC20/TokenTimelock.test.js | 8 ++---- test/token/ERC721/ERC721.test.js | 8 ++---- test/token/ERC721/ERC721Burnable.test.js | 6 ++-- test/token/ERC721/ERC721Holder.test.js | 8 ++---- test/token/ERC721/ERC721Pausable.test.js | 6 ++-- test/token/ERC777/ERC777.behavior.js | 3 +- test/token/ERC777/ERC777.test.js | 8 ++---- test/utils/Address.test.js | 14 ++++------ test/utils/Arrays.test.js | 5 ++-- test/utils/Counters.test.js | 5 ++-- test/utils/Create2.test.js | 9 +++--- test/utils/EnumerableMap.test.js | 5 ++-- test/utils/EnumerableSet.test.js | 7 ++--- test/utils/Pausable.test.js | 6 ++-- test/utils/ReentrancyGuard.test.js | 7 ++--- test/utils/SafeCast.test.js | 5 ++-- test/utils/Strings.test.js | 5 ++-- 72 files changed, 254 insertions(+), 321 deletions(-) create mode 100644 buidler.config.js delete mode 100755 scripts/compile.sh create mode 100755 scripts/prepack.sh mode change 100644 => 100755 scripts/prepare-contracts-package.sh delete mode 100644 test-environment.config.js create mode 100644 test/helpers/set-gsn-provider.js diff --git a/.eslintrc b/.eslintrc index b21c7bf67..6be0feff3 100644 --- a/.eslintrc +++ b/.eslintrc @@ -18,6 +18,8 @@ "contract": false, "assert": false, "web3": false, + "usePlugin": false, + "extendEnvironment": false, }, "rules": { diff --git a/.gitignore b/.gitignore index 80129dfea..b79041342 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,10 @@ contracts/README.md # temporary artifact from solidity-coverage allFiredEvents +.coverage_artifacts +.coverage_cache +.coverage_contracts + +# buidler +cache +artifacts diff --git a/.solcover.js b/.solcover.js index ca9a114a9..56df5e3ab 100644 --- a/.solcover.js +++ b/.solcover.js @@ -4,5 +4,8 @@ module.exports = { compileCommand: 'npm run compile', skipFiles: [ 'mocks', - ] + ], + providerOptions: { + default_balance_ether: '10000000000000000000000000', + }, } diff --git a/buidler.config.js b/buidler.config.js new file mode 100644 index 000000000..a7d4278b7 --- /dev/null +++ b/buidler.config.js @@ -0,0 +1,23 @@ +usePlugin('solidity-coverage'); +usePlugin('@nomiclabs/buidler-truffle5'); + +extendEnvironment(env => { + const { contract } = env; + env.contract = function (name, body) { + // remove the default account from the accounts list used in tests, in order + // to protect tests against accidentally passing due to the contract + // deployer being used subsequently as function caller + contract(name, accounts => body(accounts.slice(1))); + }; +}); + +module.exports = { + networks: { + buidlerevm: { + blockGasLimit: 10000000, + }, + }, + solc: { + version: '0.6.12', + }, +}; diff --git a/package.json b/package.json index e1f53dd52..df42e49d0 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "/test/behaviors" ], "scripts": { - "compile": "scripts/compile.sh", + "compile": "buidler compile", "coverage": "scripts/coverage.sh", "docs": "oz-docs", "docs:watch": "npm run docs watch contracts 'docs/*.hbs'", @@ -20,12 +20,12 @@ "lint:js": "eslint --ignore-path .gitignore .", "lint:js:fix": "eslint --ignore-path .gitignore . --fix", "lint:sol": "solhint --max-warnings 0 \"contracts/**/*.sol\"", - "prepublish": "rimraf build contracts/build", + "prepublish": "rimraf build contracts/build artifacts", "prepare": "npm run compile", - "prepack": "node scripts/remove-ignored-artifacts.js", + "prepack": "scripts/prepack.sh", "release": "scripts/release/release.sh", "version": "scripts/release/version.sh", - "test": "mocha --exit --recursive" + "test": "buidler test" }, "repository": { "type": "git", @@ -46,12 +46,13 @@ }, "homepage": "https://openzeppelin.com/contracts/", "devDependencies": { - "@openzeppelin/cli": "^2.8.2", + "@nomiclabs/buidler": "^1.4.8", + "@nomiclabs/buidler-truffle5": "^1.3.4", + "@nomiclabs/buidler-web3": "^1.3.4", "@openzeppelin/docs-utils": "^0.1.0", "@openzeppelin/gsn-helpers": "^0.2.3", "@openzeppelin/gsn-provider": "^0.1.10", - "@openzeppelin/test-environment": "^0.1.4", - "@openzeppelin/test-helpers": "^0.5.6", + "@openzeppelin/test-helpers": "^0.5.9", "chai": "^4.2.0", "eslint": "^6.5.1", "eslint-config-standard": "^14.1.1", @@ -68,7 +69,7 @@ "mocha": "^8.0.1", "rimraf": "^3.0.2", "solhint": "^3.2.0", - "solidity-coverage": "github:rotcivegaf/solidity-coverage#5875f5b7bc74d447f3312c9c0e9fc7814b482477", + "solidity-coverage": "^0.7.11", "solidity-docgen": "^0.5.3" }, "dependencies": {} diff --git a/scripts/compile.sh b/scripts/compile.sh deleted file mode 100755 index ab4eb5e07..000000000 --- a/scripts/compile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -if [ "$SOLC_NIGHTLY" = true ]; then - docker pull ethereum/solc:nightly -fi - -export OPENZEPPELIN_NON_INTERACTIVE=true - -npx oz compile diff --git a/scripts/coverage.sh b/scripts/coverage.sh index 8acb15d28..0db0003f5 100755 --- a/scripts/coverage.sh +++ b/scripts/coverage.sh @@ -1,25 +1,9 @@ #!/usr/bin/env bash -set -o errexit -o pipefail +set -euo pipefail -# Executes cleanup function at script exit. -trap cleanup EXIT +buidler coverage -cleanup() { - # Delete the symlink created to the allFiredEvents file solidity-coverage creates - rm -f allFiredEvents -} - -log() { - echo "$*" >&2 -} - -# The allFiredEvents file is created inside coverageEnv, but solidity-coverage -# expects it to be at the top level. We create a symlink to fix this -ln -s coverageEnv/allFiredEvents allFiredEvents - -OZ_TEST_ENV_COVERAGE=true npx solidity-coverage || log "Test run failed" - -if [ "$CI" = true ]; then +if [ -n "$CI" ]; then curl -s https://codecov.io/bash | bash -s -- -C "$CIRCLE_SHA1" fi diff --git a/scripts/prepack.sh b/scripts/prepack.sh new file mode 100755 index 000000000..bc4f7a249 --- /dev/null +++ b/scripts/prepack.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# cross platform `mkdir -p` +node -e 'fs.mkdirSync("build/contracts", { recursive: true })' + +cp artifacts/*.json build/contracts + +node scripts/remove-ignored-artifacts.js diff --git a/scripts/prepare-contracts-package.sh b/scripts/prepare-contracts-package.sh old mode 100644 new mode 100755 diff --git a/scripts/remove-ignored-artifacts.js b/scripts/remove-ignored-artifacts.js index d21adb67c..8c013decc 100644 --- a/scripts/remove-ignored-artifacts.js +++ b/scripts/remove-ignored-artifacts.js @@ -23,20 +23,19 @@ const ignorePatternsSubtrees = ignorePatterns .concat(ignorePatterns.map(pat => path.join(pat, '**/*'))) .map(p => p.replace(/^\//, '')); +const solcOutput = readJSON('cache/solc-output.json'); + const artifactsDir = 'build/contracts'; let n = 0; -for (const artifact of fs.readdirSync(artifactsDir)) { - const fullArtifactPath = path.join(artifactsDir, artifact); - const { sourcePath: fullSourcePath } = readJSON(fullArtifactPath); - const sourcePath = path.relative('.', fullSourcePath); - +for (const sourcePath in solcOutput.contracts) { const ignore = match.any(sourcePath, ignorePatternsSubtrees); - if (ignore) { - fs.unlinkSync(fullArtifactPath); - n += 1; + for (const contract in solcOutput.contracts[sourcePath]) { + fs.unlinkSync(path.join(artifactsDir, contract + '.json')); + n += 1; + } } } diff --git a/test-environment.config.js b/test-environment.config.js deleted file mode 100644 index febe2abef..000000000 --- a/test-environment.config.js +++ /dev/null @@ -1,22 +0,0 @@ -const { GSNDevProvider } = require('@openzeppelin/gsn-provider'); - -module.exports = { - accounts: { - ether: 1e6, - }, - - contracts: { - type: 'truffle', - }, - - setupProvider: (baseProvider) => { - const { accounts } = require('@openzeppelin/test-environment'); - - return new GSNDevProvider(baseProvider, { - txfee: 70, - useGSN: false, - ownerAddress: accounts[8], - relayerAddress: accounts[9], - }); - }, -}; diff --git a/test/GSN/Context.behavior.js b/test/GSN/Context.behavior.js index 312cb5858..0f60945a1 100644 --- a/test/GSN/Context.behavior.js +++ b/test/GSN/Context.behavior.js @@ -1,8 +1,6 @@ -const { contract } = require('@openzeppelin/test-environment'); - const { BN, expectEvent } = require('@openzeppelin/test-helpers'); -const ContextMock = contract.fromArtifact('ContextMock'); +const ContextMock = artifacts.require('ContextMock'); function shouldBehaveLikeRegularContext (sender) { describe('msgSender', function () { diff --git a/test/GSN/Context.test.js b/test/GSN/Context.test.js index 7a288b9b6..709aa87d4 100644 --- a/test/GSN/Context.test.js +++ b/test/GSN/Context.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - require('@openzeppelin/test-helpers'); -const ContextMock = contract.fromArtifact('ContextMock'); -const ContextMockCaller = contract.fromArtifact('ContextMockCaller'); +const ContextMock = artifacts.require('ContextMock'); +const ContextMockCaller = artifacts.require('ContextMockCaller'); const { shouldBehaveLikeRegularContext } = require('./Context.behavior'); -describe('Context', function () { +contract('Context', function (accounts) { const [ sender ] = accounts; beforeEach(async function () { diff --git a/test/GSN/ERC721GSNRecipientMock.test.js b/test/GSN/ERC721GSNRecipientMock.test.js index 90a0ef50e..8b4b3ec03 100644 --- a/test/GSN/ERC721GSNRecipientMock.test.js +++ b/test/GSN/ERC721GSNRecipientMock.test.js @@ -1,20 +1,23 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { constants, expectEvent } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const gsn = require('@openzeppelin/gsn-helpers'); const { fixSignature } = require('../helpers/sign'); +const { setGSNProvider } = require('../helpers/set-gsn-provider'); const { utils: { toBN } } = require('web3'); -const ERC721GSNRecipientMock = contract.fromArtifact('ERC721GSNRecipientMock'); +const ERC721GSNRecipientMock = artifacts.require('ERC721GSNRecipientMock'); -describe('ERC721GSNRecipient (integration)', function () { +contract('ERC721GSNRecipient (integration)', function (accounts) { const [ signer, sender ] = accounts; const name = 'Non Fungible Token'; const symbol = 'NFT'; const tokenId = '42'; + before(function () { + setGSNProvider(ERC721GSNRecipientMock, accounts); + }); + beforeEach(async function () { this.token = await ERC721GSNRecipientMock.new(name, symbol, signer); }); diff --git a/test/GSN/GSNRecipient.test.js b/test/GSN/GSNRecipient.test.js index 150762748..2b4a6f438 100644 --- a/test/GSN/GSNRecipient.test.js +++ b/test/GSN/GSNRecipient.test.js @@ -1,20 +1,24 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { balance, BN, constants, ether, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const gsn = require('@openzeppelin/gsn-helpers'); +const { setGSNProvider } = require('../helpers/set-gsn-provider'); const { expect } = require('chai'); -const GSNRecipientMock = contract.fromArtifact('GSNRecipientMock'); -const ContextMockCaller = contract.fromArtifact('ContextMockCaller'); +const GSNRecipientMock = artifacts.require('GSNRecipientMock'); +const ContextMockCaller = artifacts.require('ContextMockCaller'); const { shouldBehaveLikeRegularContext } = require('./Context.behavior'); -describe('GSNRecipient', function () { +contract('GSNRecipient', function (accounts) { const [ payee, sender, newRelayHub ] = accounts; + before(function () { + setGSNProvider(GSNRecipientMock, accounts); + setGSNProvider(ContextMockCaller, accounts); + }); + beforeEach(async function () { this.recipient = await GSNRecipientMock.new(); }); diff --git a/test/GSN/GSNRecipientERC20Fee.test.js b/test/GSN/GSNRecipientERC20Fee.test.js index bef4a9bfb..7ff6a490a 100644 --- a/test/GSN/GSNRecipientERC20Fee.test.js +++ b/test/GSN/GSNRecipientERC20Fee.test.js @@ -1,20 +1,25 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { ether, expectEvent } = require('@openzeppelin/test-helpers'); const gsn = require('@openzeppelin/gsn-helpers'); +const { setGSNProvider } = require('../helpers/set-gsn-provider'); const { expect } = require('chai'); -const GSNRecipientERC20FeeMock = contract.fromArtifact('GSNRecipientERC20FeeMock'); -const ERC20 = contract.fromArtifact('ERC20'); -const IRelayHub = contract.fromArtifact('IRelayHub'); +const GSNRecipientERC20FeeMock = artifacts.require('GSNRecipientERC20FeeMock'); +const ERC20 = artifacts.require('ERC20'); +const IRelayHub = artifacts.require('IRelayHub'); -describe('GSNRecipientERC20Fee', function () { +contract('GSNRecipientERC20Fee', function (accounts) { const [ sender ] = accounts; const name = 'FeeToken'; const symbol = 'FTKN'; + before(function () { + setGSNProvider(GSNRecipientERC20FeeMock, accounts); + setGSNProvider(ERC20, accounts); + setGSNProvider(IRelayHub, accounts); + }); + beforeEach(async function () { this.recipient = await GSNRecipientERC20FeeMock.new(name, symbol); this.token = await ERC20.at(await this.recipient.token()); diff --git a/test/GSN/GSNRecipientSignature.test.js b/test/GSN/GSNRecipientSignature.test.js index 5644725b5..c8aeaecf3 100644 --- a/test/GSN/GSNRecipientSignature.test.js +++ b/test/GSN/GSNRecipientSignature.test.js @@ -1,16 +1,19 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { expectEvent, expectRevert, constants } = require('@openzeppelin/test-helpers'); const gsn = require('@openzeppelin/gsn-helpers'); const { fixSignature } = require('../helpers/sign'); +const { setGSNProvider } = require('../helpers/set-gsn-provider'); const { utils: { toBN } } = require('web3'); const { ZERO_ADDRESS } = constants; -const GSNRecipientSignatureMock = contract.fromArtifact('GSNRecipientSignatureMock'); +const GSNRecipientSignatureMock = artifacts.require('GSNRecipientSignatureMock'); -describe('GSNRecipientSignature', function () { +contract('GSNRecipientSignature', function (accounts) { const [ signer, other ] = accounts; + before(function () { + setGSNProvider(GSNRecipientSignatureMock, accounts); + }); + beforeEach(async function () { this.recipient = await GSNRecipientSignatureMock.new(signer); }); diff --git a/test/access/AccessControl.test.js b/test/access/AccessControl.test.js index c7a30d32b..f6fa82238 100644 --- a/test/access/AccessControl.test.js +++ b/test/access/AccessControl.test.js @@ -1,12 +1,10 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const AccessControlMock = contract.fromArtifact('AccessControlMock'); +const AccessControlMock = artifacts.require('AccessControlMock'); -describe('AccessControl', function () { +contract('AccessControl', function (accounts) { const [ admin, authorized, otherAuthorized, other, otherAdmin ] = accounts; const DEFAULT_ADMIN_ROLE = '0x0000000000000000000000000000000000000000000000000000000000000000'; diff --git a/test/access/Ownable.test.js b/test/access/Ownable.test.js index b36cd4998..c5b0720ff 100644 --- a/test/access/Ownable.test.js +++ b/test/access/Ownable.test.js @@ -1,12 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); const { constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const Ownable = contract.fromArtifact('OwnableMock'); +const Ownable = artifacts.require('OwnableMock'); -describe('Ownable', function () { +contract('Ownable', function (accounts) { const [ owner, other ] = accounts; beforeEach(async function () { diff --git a/test/cryptography/ECDSA.test.js b/test/cryptography/ECDSA.test.js index 8c6ec91f6..3df04b797 100644 --- a/test/cryptography/ECDSA.test.js +++ b/test/cryptography/ECDSA.test.js @@ -1,16 +1,14 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { expectRevert } = require('@openzeppelin/test-helpers'); const { toEthSignedMessageHash, fixSignature } = require('../helpers/sign'); const { expect } = require('chai'); -const ECDSAMock = contract.fromArtifact('ECDSAMock'); +const ECDSAMock = artifacts.require('ECDSAMock'); const TEST_MESSAGE = web3.utils.sha3('OpenZeppelin'); const WRONG_MESSAGE = web3.utils.sha3('Nope'); -describe('ECDSA', function () { +contract('ECDSA', function (accounts) { const [ other ] = accounts; beforeEach(async function () { diff --git a/test/cryptography/MerkleProof.test.js b/test/cryptography/MerkleProof.test.js index 724864672..9c6e65b89 100644 --- a/test/cryptography/MerkleProof.test.js +++ b/test/cryptography/MerkleProof.test.js @@ -1,5 +1,3 @@ -const { contract } = require('@openzeppelin/test-environment'); - require('@openzeppelin/test-helpers'); const { MerkleTree } = require('../helpers/merkleTree.js'); @@ -7,9 +5,9 @@ const { keccakFromString, bufferToHex } = require('ethereumjs-util'); const { expect } = require('chai'); -const MerkleProofWrapper = contract.fromArtifact('MerkleProofWrapper'); +const MerkleProofWrapper = artifacts.require('MerkleProofWrapper'); -describe('MerkleProof', function () { +contract('MerkleProof', function (accounts) { beforeEach(async function () { this.merkleProof = await MerkleProofWrapper.new(); }); diff --git a/test/helpers/set-gsn-provider.js b/test/helpers/set-gsn-provider.js new file mode 100644 index 000000000..429eae1e4 --- /dev/null +++ b/test/helpers/set-gsn-provider.js @@ -0,0 +1,15 @@ +const { GSNDevProvider } = require('@openzeppelin/gsn-provider'); + +function setGSNProvider (Contract, accounts) { + const baseProvider = Contract.currentProvider; + Contract.setProvider( + new GSNDevProvider(baseProvider, { + txfee: 70, + useGSN: false, + ownerAddress: accounts[8], + relayerAddress: accounts[9], + }), + ); +}; + +module.exports = { setGSNProvider }; diff --git a/test/helpers/sign.js b/test/helpers/sign.js index b4a9710c3..a31e6ad1b 100644 --- a/test/helpers/sign.js +++ b/test/helpers/sign.js @@ -1,5 +1,3 @@ -const { web3 } = require('@openzeppelin/test-environment'); - function toEthSignedMessageHash (messageHex) { const messageBuffer = Buffer.from(messageHex.substring(2), 'hex'); const prefix = Buffer.from(`\u0019Ethereum Signed Message:\n${messageBuffer.length}`); diff --git a/test/introspection/ERC165.test.js b/test/introspection/ERC165.test.js index f2115b3ef..5e91e58d3 100644 --- a/test/introspection/ERC165.test.js +++ b/test/introspection/ERC165.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); const { expectRevert } = require('@openzeppelin/test-helpers'); const { shouldSupportInterfaces } = require('./SupportsInterface.behavior'); -const ERC165Mock = contract.fromArtifact('ERC165Mock'); +const ERC165Mock = artifacts.require('ERC165Mock'); -describe('ERC165', function () { +contract('ERC165', function (accounts) { beforeEach(async function () { this.mock = await ERC165Mock.new(); }); diff --git a/test/introspection/ERC165Checker.test.js b/test/introspection/ERC165Checker.test.js index ebef5d36e..bf5192522 100644 --- a/test/introspection/ERC165Checker.test.js +++ b/test/introspection/ERC165Checker.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ERC165CheckerMock = contract.fromArtifact('ERC165CheckerMock'); -const ERC165NotSupported = contract.fromArtifact('ERC165NotSupported'); -const ERC165InterfacesSupported = contract.fromArtifact('ERC165InterfacesSupported'); +const ERC165CheckerMock = artifacts.require('ERC165CheckerMock'); +const ERC165NotSupported = artifacts.require('ERC165NotSupported'); +const ERC165InterfacesSupported = artifacts.require('ERC165InterfacesSupported'); const DUMMY_ID = '0xdeadbeef'; const DUMMY_ID_2 = '0xcafebabe'; @@ -14,7 +13,7 @@ const DUMMY_UNSUPPORTED_ID = '0xbaddcafe'; const DUMMY_UNSUPPORTED_ID_2 = '0xbaadcafe'; const DUMMY_ACCOUNT = '0x1111111111111111111111111111111111111111'; -describe('ERC165Checker', function () { +contract('ERC165Checker', function (accounts) { beforeEach(async function () { this.mock = await ERC165CheckerMock.new(); }); diff --git a/test/introspection/ERC1820Implementer.test.js b/test/introspection/ERC1820Implementer.test.js index 23eef8068..084f18a69 100644 --- a/test/introspection/ERC1820Implementer.test.js +++ b/test/introspection/ERC1820Implementer.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { expectRevert, singletons } = require('@openzeppelin/test-helpers'); const { bufferToHex, keccakFromString } = require('ethereumjs-util'); const { expect } = require('chai'); -const ERC1820ImplementerMock = contract.fromArtifact('ERC1820ImplementerMock'); +const ERC1820ImplementerMock = artifacts.require('ERC1820ImplementerMock'); -describe('ERC1820Implementer', function () { +contract('ERC1820Implementer', function (accounts) { const [ registryFunder, implementee, other ] = accounts; const ERC1820_ACCEPT_MAGIC = bufferToHex(keccakFromString('ERC1820_ACCEPT_MAGIC')); diff --git a/test/math/Math.test.js b/test/math/Math.test.js index 4e2368cd6..4cf9de7ce 100644 --- a/test/math/Math.test.js +++ b/test/math/Math.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); const { BN } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const MathMock = contract.fromArtifact('MathMock'); +const MathMock = artifacts.require('MathMock'); -describe('Math', function () { +contract('Math', function (accounts) { const min = new BN('1234'); const max = new BN('5678'); diff --git a/test/math/SafeMath.test.js b/test/math/SafeMath.test.js index 0c852e7ad..44cc1ba8e 100644 --- a/test/math/SafeMath.test.js +++ b/test/math/SafeMath.test.js @@ -1,12 +1,11 @@ -const { contract } = require('@openzeppelin/test-environment'); const { BN, constants, expectRevert } = require('@openzeppelin/test-helpers'); const { MAX_UINT256 } = constants; const { expect } = require('chai'); -const SafeMathMock = contract.fromArtifact('SafeMathMock'); +const SafeMathMock = artifacts.require('SafeMathMock'); -describe('SafeMath', function () { +contract('SafeMath', function (accounts) { beforeEach(async function () { this.safeMath = await SafeMathMock.new(); }); diff --git a/test/math/SignedSafeMath.test.js b/test/math/SignedSafeMath.test.js index 409ee1d2e..be7c55eea 100644 --- a/test/math/SignedSafeMath.test.js +++ b/test/math/SignedSafeMath.test.js @@ -1,13 +1,11 @@ -const { contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectRevert } = require('@openzeppelin/test-helpers'); const { MAX_INT256, MIN_INT256 } = constants; const { expect } = require('chai'); -const SignedSafeMathMock = contract.fromArtifact('SignedSafeMathMock'); +const SignedSafeMathMock = artifacts.require('SignedSafeMathMock'); -describe('SignedSafeMath', function () { +contract('SignedSafeMath', function (accounts) { beforeEach(async function () { this.safeMath = await SignedSafeMathMock.new(); }); diff --git a/test/payment/PaymentSplitter.test.js b/test/payment/PaymentSplitter.test.js index fca2a5393..aa044ca22 100644 --- a/test/payment/PaymentSplitter.test.js +++ b/test/payment/PaymentSplitter.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { balance, constants, ether, expectEvent, send, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const PaymentSplitter = contract.fromArtifact('PaymentSplitter'); +const PaymentSplitter = artifacts.require('PaymentSplitter'); -describe('PaymentSplitter', function () { +contract('PaymentSplitter', function (accounts) { const [ owner, payee1, payee2, payee3, nonpayee1, payer1 ] = accounts; const amount = ether('1'); diff --git a/test/payment/PullPayment.test.js b/test/payment/PullPayment.test.js index f312d290d..1552ed994 100644 --- a/test/payment/PullPayment.test.js +++ b/test/payment/PullPayment.test.js @@ -1,12 +1,10 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { balance, ether } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const PullPaymentMock = contract.fromArtifact('PullPaymentMock'); +const PullPaymentMock = artifacts.require('PullPaymentMock'); -describe('PullPayment', function () { +contract('PullPayment', function (accounts) { const [ payer, payee1, payee2 ] = accounts; const amount = ether('17'); diff --git a/test/payment/escrow/ConditionalEscrow.test.js b/test/payment/escrow/ConditionalEscrow.test.js index 674e48052..da6050b65 100644 --- a/test/payment/escrow/ConditionalEscrow.test.js +++ b/test/payment/escrow/ConditionalEscrow.test.js @@ -1,11 +1,9 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { ether, expectRevert } = require('@openzeppelin/test-helpers'); const { shouldBehaveLikeEscrow } = require('./Escrow.behavior'); -const ConditionalEscrowMock = contract.fromArtifact('ConditionalEscrowMock'); +const ConditionalEscrowMock = artifacts.require('ConditionalEscrowMock'); -describe('ConditionalEscrow', function () { +contract('ConditionalEscrow', function (accounts) { const [ owner, payee, ...otherAccounts ] = accounts; beforeEach(async function () { diff --git a/test/payment/escrow/Escrow.test.js b/test/payment/escrow/Escrow.test.js index 0da833c6f..025a2a936 100644 --- a/test/payment/escrow/Escrow.test.js +++ b/test/payment/escrow/Escrow.test.js @@ -1,11 +1,9 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - require('@openzeppelin/test-helpers'); const { shouldBehaveLikeEscrow } = require('./Escrow.behavior'); -const Escrow = contract.fromArtifact('Escrow'); +const Escrow = artifacts.require('Escrow'); -describe('Escrow', function () { +contract('Escrow', function (accounts) { const [ owner, ...otherAccounts ] = accounts; beforeEach(async function () { diff --git a/test/payment/escrow/RefundEscrow.test.js b/test/payment/escrow/RefundEscrow.test.js index 443228264..7862dd278 100644 --- a/test/payment/escrow/RefundEscrow.test.js +++ b/test/payment/escrow/RefundEscrow.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { balance, constants, ether, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const RefundEscrow = contract.fromArtifact('RefundEscrow'); +const RefundEscrow = artifacts.require('RefundEscrow'); -describe('RefundEscrow', function () { +contract('RefundEscrow', function (accounts) { const [ owner, beneficiary, refundee1, refundee2 ] = accounts; const amount = ether('54'); diff --git a/test/presets/ERC1155PresetMinterPauser.test.js b/test/presets/ERC1155PresetMinterPauser.test.js index d69675d72..db57aa4b5 100644 --- a/test/presets/ERC1155PresetMinterPauser.test.js +++ b/test/presets/ERC1155PresetMinterPauser.test.js @@ -1,13 +1,11 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const ERC1155PresetMinterPauser = contract.fromArtifact('ERC1155PresetMinterPauser'); +const ERC1155PresetMinterPauser = artifacts.require('ERC1155PresetMinterPauser'); -describe('ERC1155PresetMinterPauser', function () { +contract('ERC1155PresetMinterPauser', function (accounts) { const [ deployer, other ] = accounts; const firstTokenId = new BN('845'); diff --git a/test/presets/ERC20PresetMinterPauser.test.js b/test/presets/ERC20PresetMinterPauser.test.js index 179a475a5..2621de365 100644 --- a/test/presets/ERC20PresetMinterPauser.test.js +++ b/test/presets/ERC20PresetMinterPauser.test.js @@ -1,13 +1,11 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const ERC20PresetMinterPauser = contract.fromArtifact('ERC20PresetMinterPauser'); +const ERC20PresetMinterPauser = artifacts.require('ERC20PresetMinterPauser'); -describe('ERC20PresetMinterPauser', function () { +contract('ERC20PresetMinterPauser', function (accounts) { const [ deployer, other ] = accounts; const name = 'MinterPauserToken'; diff --git a/test/presets/ERC721PresetMinterPauserAutoId.test.js b/test/presets/ERC721PresetMinterPauserAutoId.test.js index 1dc4c1cbb..ff158ac99 100644 --- a/test/presets/ERC721PresetMinterPauserAutoId.test.js +++ b/test/presets/ERC721PresetMinterPauserAutoId.test.js @@ -1,13 +1,11 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const ERC721PresetMinterPauserAutoId = contract.fromArtifact('ERC721PresetMinterPauserAutoId'); +const ERC721PresetMinterPauserAutoId = artifacts.require('ERC721PresetMinterPauserAutoId'); -describe('ERC721PresetMinterPauserAutoId', function () { +contract('ERC721PresetMinterPauserAutoId', function (accounts) { const [ deployer, other ] = accounts; const name = 'MinterAutoIDToken'; diff --git a/test/proxy/Initializable.test.js b/test/proxy/Initializable.test.js index c20356c4d..7581a37d0 100644 --- a/test/proxy/Initializable.test.js +++ b/test/proxy/Initializable.test.js @@ -1,13 +1,11 @@ -const { contract } = require('@openzeppelin/test-environment'); - const { expectRevert } = require('@openzeppelin/test-helpers'); const { assert } = require('chai'); -const InitializableMock = contract.fromArtifact('InitializableMock'); -const SampleChild = contract.fromArtifact('SampleChild'); +const InitializableMock = artifacts.require('InitializableMock'); +const SampleChild = artifacts.require('SampleChild'); -describe('Initializable', function () { +contract('Initializable', function (accounts) { describe('basic testing without inheritance', function () { beforeEach('deploying', async function () { this.contract = await InitializableMock.new(); diff --git a/test/proxy/ProxyAdmin.test.js b/test/proxy/ProxyAdmin.test.js index 991c9f653..d235cd7de 100644 --- a/test/proxy/ProxyAdmin.test.js +++ b/test/proxy/ProxyAdmin.test.js @@ -1,15 +1,13 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ImplV1 = contract.fromArtifact('DummyImplementation'); -const ImplV2 = contract.fromArtifact('DummyImplementationV2'); -const ProxyAdmin = contract.fromArtifact('ProxyAdmin'); -const TransparentUpgradeableProxy = contract.fromArtifact('TransparentUpgradeableProxy'); +const ImplV1 = artifacts.require('DummyImplementation'); +const ImplV2 = artifacts.require('DummyImplementationV2'); +const ProxyAdmin = artifacts.require('ProxyAdmin'); +const TransparentUpgradeableProxy = artifacts.require('TransparentUpgradeableProxy'); -describe('ProxyAdmin', function () { +contract('ProxyAdmin', function (accounts) { const [proxyAdminOwner, newAdmin, anotherAccount] = accounts; before('set implementations', async function () { diff --git a/test/proxy/TransparentUpgradeableProxy.behaviour.js b/test/proxy/TransparentUpgradeableProxy.behaviour.js index 0107680a2..0022d904b 100644 --- a/test/proxy/TransparentUpgradeableProxy.behaviour.js +++ b/test/proxy/TransparentUpgradeableProxy.behaviour.js @@ -1,22 +1,20 @@ -const { contract, web3 } = require('@openzeppelin/test-environment'); - const { BN, expectRevert, expectEvent, constants } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { toChecksumAddress, keccak256 } = require('ethereumjs-util'); const { expect } = require('chai'); -const Proxy = contract.fromArtifact('Proxy'); -const Implementation1 = contract.fromArtifact('Implementation1'); -const Implementation2 = contract.fromArtifact('Implementation2'); -const Implementation3 = contract.fromArtifact('Implementation3'); -const Implementation4 = contract.fromArtifact('Implementation4'); -const MigratableMockV1 = contract.fromArtifact('MigratableMockV1'); -const MigratableMockV2 = contract.fromArtifact('MigratableMockV2'); -const MigratableMockV3 = contract.fromArtifact('MigratableMockV3'); -const InitializableMock = contract.fromArtifact('InitializableMock'); -const DummyImplementation = contract.fromArtifact('DummyImplementation'); -const ClashingImplementation = contract.fromArtifact('ClashingImplementation'); +const Proxy = artifacts.require('Proxy'); +const Implementation1 = artifacts.require('Implementation1'); +const Implementation2 = artifacts.require('Implementation2'); +const Implementation3 = artifacts.require('Implementation3'); +const Implementation4 = artifacts.require('Implementation4'); +const MigratableMockV1 = artifacts.require('MigratableMockV1'); +const MigratableMockV2 = artifacts.require('MigratableMockV2'); +const MigratableMockV3 = artifacts.require('MigratableMockV3'); +const InitializableMock = artifacts.require('InitializableMock'); +const DummyImplementation = artifacts.require('DummyImplementation'); +const ClashingImplementation = artifacts.require('ClashingImplementation'); const IMPLEMENTATION_LABEL = 'eip1967.proxy.implementation'; const ADMIN_LABEL = 'eip1967.proxy.admin'; @@ -409,7 +407,7 @@ module.exports = function shouldBehaveLikeTransparentUpgradeableProxy (createPro await proxy.upgradeTo(instance4.address, { from: proxyAdminAddress }); const proxyInstance4 = new Implementation4(proxy.address); - const data = ''; + const data = '0x'; await web3.eth.sendTransaction({ to: proxy.address, from: anotherAccount, data }); const res = await proxyInstance4.getValue(); @@ -423,7 +421,7 @@ module.exports = function shouldBehaveLikeTransparentUpgradeableProxy (createPro const instance2 = await Implementation2.new(); await proxy.upgradeTo(instance2.address, { from: proxyAdminAddress }); - const data = ''; + const data = '0x'; await expectRevert.unspecified( web3.eth.sendTransaction({ to: proxy.address, from: anotherAccount, data }), ); diff --git a/test/proxy/TransparentUpgradeableProxy.test.js b/test/proxy/TransparentUpgradeableProxy.test.js index ea7613bbc..984fb2c06 100644 --- a/test/proxy/TransparentUpgradeableProxy.test.js +++ b/test/proxy/TransparentUpgradeableProxy.test.js @@ -1,11 +1,9 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const shouldBehaveLikeUpgradeableProxy = require('./UpgradeableProxy.behaviour'); const shouldBehaveLikeTransparentUpgradeableProxy = require('./TransparentUpgradeableProxy.behaviour'); -const TransparentUpgradeableProxy = contract.fromArtifact('TransparentUpgradeableProxy'); +const TransparentUpgradeableProxy = artifacts.require('TransparentUpgradeableProxy'); -describe('TransparentUpgradeableProxy', function () { +contract('TransparentUpgradeableProxy', function (accounts) { const [proxyAdminAddress, proxyAdminOwner] = accounts; const createProxy = async function (logic, admin, initData, opts) { diff --git a/test/proxy/UpgradeableProxy.behaviour.js b/test/proxy/UpgradeableProxy.behaviour.js index 72e5c258a..923db198c 100644 --- a/test/proxy/UpgradeableProxy.behaviour.js +++ b/test/proxy/UpgradeableProxy.behaviour.js @@ -1,11 +1,9 @@ -const { contract, web3 } = require('@openzeppelin/test-environment'); - const { BN, expectRevert } = require('@openzeppelin/test-helpers'); const { toChecksumAddress, keccak256 } = require('ethereumjs-util'); const { expect } = require('chai'); -const DummyImplementation = contract.fromArtifact('DummyImplementation'); +const DummyImplementation = artifacts.require('DummyImplementation'); const IMPLEMENTATION_LABEL = 'eip1967.proxy.implementation'; diff --git a/test/proxy/UpgradeableProxy.test.js b/test/proxy/UpgradeableProxy.test.js index e9d70bdf4..12d54bdbd 100644 --- a/test/proxy/UpgradeableProxy.test.js +++ b/test/proxy/UpgradeableProxy.test.js @@ -1,10 +1,8 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const shouldBehaveLikeUpgradeableProxy = require('./UpgradeableProxy.behaviour'); -const UpgradeableProxy = contract.fromArtifact('UpgradeableProxy'); +const UpgradeableProxy = artifacts.require('UpgradeableProxy'); -describe('UpgradeableProxy', function () { +contract('UpgradeableProxy', function (accounts) { const [proxyAdminOwner] = accounts; const createProxy = async function (implementation, _admin, initData, opts) { diff --git a/test/setup.js b/test/setup.js index 065e783cb..e6d927679 100644 --- a/test/setup.js +++ b/test/setup.js @@ -1,6 +1,6 @@ -const { defaultSender, web3 } = require('@openzeppelin/test-environment'); const { deployRelayHub } = require('@openzeppelin/gsn-helpers'); before('deploy GSN RelayHub', async function () { + const [defaultSender] = await web3.eth.getAccounts(); await deployRelayHub(web3, { from: defaultSender }); }); diff --git a/test/token/ERC1155/ERC1155.behavior.js b/test/token/ERC1155/ERC1155.behavior.js index fd855bf27..50d101a50 100644 --- a/test/token/ERC1155/ERC1155.behavior.js +++ b/test/token/ERC1155/ERC1155.behavior.js @@ -1,5 +1,3 @@ -const { contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; @@ -7,7 +5,7 @@ const { expect } = require('chai'); const { shouldSupportInterfaces } = require('../../introspection/SupportsInterface.behavior'); -const ERC1155ReceiverMock = contract.fromArtifact('ERC1155ReceiverMock'); +const ERC1155ReceiverMock = artifacts.require('ERC1155ReceiverMock'); function shouldBehaveLikeERC1155 ([minter, firstTokenHolder, secondTokenHolder, multiTokenHolder, recipient, proxy]) { const firstTokenId = new BN(1); diff --git a/test/token/ERC1155/ERC1155.test.js b/test/token/ERC1155/ERC1155.test.js index 97818c3af..2e5a2edad 100644 --- a/test/token/ERC1155/ERC1155.test.js +++ b/test/token/ERC1155/ERC1155.test.js @@ -1,14 +1,12 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); const { shouldBehaveLikeERC1155 } = require('./ERC1155.behavior'); -const ERC1155Mock = contract.fromArtifact('ERC1155Mock'); +const ERC1155Mock = artifacts.require('ERC1155Mock'); -describe('ERC1155', function () { +contract('ERC1155', function (accounts) { const [operator, tokenHolder, tokenBatchHolder, ...otherAccounts] = accounts; const initialURI = 'https://token-cdn-domain/{id}.json'; diff --git a/test/token/ERC1155/ERC1155Burnable.test.js b/test/token/ERC1155/ERC1155Burnable.test.js index 5de1c88e5..01c8e961b 100644 --- a/test/token/ERC1155/ERC1155Burnable.test.js +++ b/test/token/ERC1155/ERC1155Burnable.test.js @@ -1,12 +1,10 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ERC1155BurnableMock = contract.fromArtifact('ERC1155BurnableMock'); +const ERC1155BurnableMock = artifacts.require('ERC1155BurnableMock'); -describe('ERC1155Burnable', function () { +contract('ERC1155Burnable', function (accounts) { const [ holder, operator, other ] = accounts; const uri = 'https://token.com'; diff --git a/test/token/ERC1155/ERC1155Holder.test.js b/test/token/ERC1155/ERC1155Holder.test.js index 80044a3cd..1ba6f0be1 100644 --- a/test/token/ERC1155/ERC1155Holder.test.js +++ b/test/token/ERC1155/ERC1155Holder.test.js @@ -1,12 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); const { BN } = require('@openzeppelin/test-helpers'); -const ERC1155Holder = contract.fromArtifact('ERC1155Holder'); -const ERC1155Mock = contract.fromArtifact('ERC1155Mock'); +const ERC1155Holder = artifacts.require('ERC1155Holder'); +const ERC1155Mock = artifacts.require('ERC1155Mock'); const { expect } = require('chai'); -describe('ERC1155Holder', function () { +contract('ERC1155Holder', function (accounts) { const [creator] = accounts; const uri = 'https://token-cdn-domain/{id}.json'; const multiTokenIds = [new BN(1), new BN(2), new BN(3)]; diff --git a/test/token/ERC1155/ERC1155Pausable.test.js b/test/token/ERC1155/ERC1155Pausable.test.js index 502920296..8d2993f54 100644 --- a/test/token/ERC1155/ERC1155Pausable.test.js +++ b/test/token/ERC1155/ERC1155Pausable.test.js @@ -1,12 +1,10 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ERC1155PausableMock = contract.fromArtifact('ERC1155PausableMock'); +const ERC1155PausableMock = artifacts.require('ERC1155PausableMock'); -describe('ERC1155Pausable', function () { +contract('ERC1155Pausable', function (accounts) { const [ holder, operator, receiver, other ] = accounts; const uri = 'https://token.com'; diff --git a/test/token/ERC20/ERC20.test.js b/test/token/ERC20/ERC20.test.js index ba1701074..9184bd8d0 100644 --- a/test/token/ERC20/ERC20.test.js +++ b/test/token/ERC20/ERC20.test.js @@ -1,5 +1,3 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); const { ZERO_ADDRESS } = constants; @@ -10,10 +8,10 @@ const { shouldBehaveLikeERC20Approve, } = require('./ERC20.behavior'); -const ERC20Mock = contract.fromArtifact('ERC20Mock'); -const ERC20DecimalsMock = contract.fromArtifact('ERC20DecimalsMock'); +const ERC20Mock = artifacts.require('ERC20Mock'); +const ERC20DecimalsMock = artifacts.require('ERC20DecimalsMock'); -describe('ERC20', function () { +contract('ERC20', function (accounts) { const [ initialHolder, recipient, anotherAccount ] = accounts; const name = 'My Token'; diff --git a/test/token/ERC20/ERC20Burnable.test.js b/test/token/ERC20/ERC20Burnable.test.js index 24acca6c7..11631a7e0 100644 --- a/test/token/ERC20/ERC20Burnable.test.js +++ b/test/token/ERC20/ERC20Burnable.test.js @@ -1,11 +1,9 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN } = require('@openzeppelin/test-helpers'); const { shouldBehaveLikeERC20Burnable } = require('./behaviors/ERC20Burnable.behavior'); -const ERC20BurnableMock = contract.fromArtifact('ERC20BurnableMock'); +const ERC20BurnableMock = artifacts.require('ERC20BurnableMock'); -describe('ERC20Burnable', function () { +contract('ERC20Burnable', function (accounts) { const [ owner, ...otherAccounts ] = accounts; const initialBalance = new BN(1000); diff --git a/test/token/ERC20/ERC20Capped.test.js b/test/token/ERC20/ERC20Capped.test.js index 78d9a2069..10493423d 100644 --- a/test/token/ERC20/ERC20Capped.test.js +++ b/test/token/ERC20/ERC20Capped.test.js @@ -1,11 +1,9 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, ether, expectRevert } = require('@openzeppelin/test-helpers'); const { shouldBehaveLikeERC20Capped } = require('./behaviors/ERC20Capped.behavior'); -const ERC20Capped = contract.fromArtifact('ERC20CappedMock'); +const ERC20Capped = artifacts.require('ERC20CappedMock'); -describe('ERC20Capped', function () { +contract('ERC20Capped', function (accounts) { const [ minter, ...otherAccounts ] = accounts; const cap = ether('1000'); diff --git a/test/token/ERC20/ERC20Pausable.test.js b/test/token/ERC20/ERC20Pausable.test.js index dd175269e..60524f526 100644 --- a/test/token/ERC20/ERC20Pausable.test.js +++ b/test/token/ERC20/ERC20Pausable.test.js @@ -1,12 +1,10 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ERC20PausableMock = contract.fromArtifact('ERC20PausableMock'); +const ERC20PausableMock = artifacts.require('ERC20PausableMock'); -describe('ERC20Pausable', function () { +contract('ERC20Pausable', function (accounts) { const [ holder, recipient, anotherAccount ] = accounts; const initialSupply = new BN(100); diff --git a/test/token/ERC20/ERC20Snapshot.test.js b/test/token/ERC20/ERC20Snapshot.test.js index a00738193..29d0ad3bf 100644 --- a/test/token/ERC20/ERC20Snapshot.test.js +++ b/test/token/ERC20/ERC20Snapshot.test.js @@ -1,11 +1,9 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); -const ERC20SnapshotMock = contract.fromArtifact('ERC20SnapshotMock'); +const ERC20SnapshotMock = artifacts.require('ERC20SnapshotMock'); const { expect } = require('chai'); -describe('ERC20Snapshot', function () { +contract('ERC20Snapshot', function (accounts) { const [ initialHolder, recipient, other ] = accounts; const initialSupply = new BN(100); diff --git a/test/token/ERC20/SafeERC20.test.js b/test/token/ERC20/SafeERC20.test.js index 11eac3100..6ed8fae5e 100644 --- a/test/token/ERC20/SafeERC20.test.js +++ b/test/token/ERC20/SafeERC20.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { expectRevert } = require('@openzeppelin/test-helpers'); -const ERC20ReturnFalseMock = contract.fromArtifact('ERC20ReturnFalseMock'); -const ERC20ReturnTrueMock = contract.fromArtifact('ERC20ReturnTrueMock'); -const ERC20NoReturnMock = contract.fromArtifact('ERC20NoReturnMock'); -const SafeERC20Wrapper = contract.fromArtifact('SafeERC20Wrapper'); +const ERC20ReturnFalseMock = artifacts.require('ERC20ReturnFalseMock'); +const ERC20ReturnTrueMock = artifacts.require('ERC20ReturnTrueMock'); +const ERC20NoReturnMock = artifacts.require('ERC20NoReturnMock'); +const SafeERC20Wrapper = artifacts.require('SafeERC20Wrapper'); -describe('SafeERC20', function () { +contract('SafeERC20', function (accounts) { const [ hasNoCode ] = accounts; describe('with address that has no contract code', function () { diff --git a/test/token/ERC20/TokenTimelock.test.js b/test/token/ERC20/TokenTimelock.test.js index 10059d861..2871f9310 100644 --- a/test/token/ERC20/TokenTimelock.test.js +++ b/test/token/ERC20/TokenTimelock.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, expectRevert, time } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ERC20Mock = contract.fromArtifact('ERC20Mock'); -const TokenTimelock = contract.fromArtifact('TokenTimelock'); +const ERC20Mock = artifacts.require('ERC20Mock'); +const TokenTimelock = artifacts.require('TokenTimelock'); -describe('TokenTimelock', function () { +contract('TokenTimelock', function (accounts) { const [ beneficiary ] = accounts; const name = 'My Token'; diff --git a/test/token/ERC721/ERC721.test.js b/test/token/ERC721/ERC721.test.js index 90827264b..14bbc3929 100644 --- a/test/token/ERC721/ERC721.test.js +++ b/test/token/ERC721/ERC721.test.js @@ -1,5 +1,3 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; @@ -7,10 +5,10 @@ const { expect } = require('chai'); const { shouldSupportInterfaces } = require('../../introspection/SupportsInterface.behavior'); -const ERC721Mock = contract.fromArtifact('ERC721Mock'); -const ERC721ReceiverMock = contract.fromArtifact('ERC721ReceiverMock'); +const ERC721Mock = artifacts.require('ERC721Mock'); +const ERC721ReceiverMock = artifacts.require('ERC721ReceiverMock'); -describe('ERC721', function () { +contract('ERC721', function (accounts) { const [owner, newOwner, approved, anotherApproved, operator, other] = accounts; const name = 'Non Fungible Token'; diff --git a/test/token/ERC721/ERC721Burnable.test.js b/test/token/ERC721/ERC721Burnable.test.js index 39bac288c..4610232f6 100644 --- a/test/token/ERC721/ERC721Burnable.test.js +++ b/test/token/ERC721/ERC721Burnable.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const ERC721BurnableMock = contract.fromArtifact('ERC721BurnableMock'); +const ERC721BurnableMock = artifacts.require('ERC721BurnableMock'); -describe('ERC721Burnable', function () { +contract('ERC721Burnable', function (accounts) { const [owner, approved] = accounts; const firstTokenId = new BN(1); diff --git a/test/token/ERC721/ERC721Holder.test.js b/test/token/ERC721/ERC721Holder.test.js index 174ef8f46..2431e667c 100644 --- a/test/token/ERC721/ERC721Holder.test.js +++ b/test/token/ERC721/ERC721Holder.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ERC721Holder = contract.fromArtifact('ERC721Holder'); -const ERC721Mock = contract.fromArtifact('ERC721Mock'); +const ERC721Holder = artifacts.require('ERC721Holder'); +const ERC721Mock = artifacts.require('ERC721Mock'); -describe('ERC721Holder', function () { +contract('ERC721Holder', function (accounts) { const [ owner ] = accounts; const name = 'Non Fungible Token'; diff --git a/test/token/ERC721/ERC721Pausable.test.js b/test/token/ERC721/ERC721Pausable.test.js index b544ca37b..adc9c1905 100644 --- a/test/token/ERC721/ERC721Pausable.test.js +++ b/test/token/ERC721/ERC721Pausable.test.js @@ -1,13 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { BN, constants, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const ERC721PausableMock = contract.fromArtifact('ERC721PausableMock'); +const ERC721PausableMock = artifacts.require('ERC721PausableMock'); -describe('ERC721Pausable', function () { +contract('ERC721Pausable', function (accounts) { const [ owner, receiver, operator ] = accounts; const name = 'Non Fungible Token'; diff --git a/test/token/ERC777/ERC777.behavior.js b/test/token/ERC777/ERC777.behavior.js index 3ba80c0a7..76779e863 100644 --- a/test/token/ERC777/ERC777.behavior.js +++ b/test/token/ERC777/ERC777.behavior.js @@ -1,10 +1,9 @@ -const { contract, web3 } = require('@openzeppelin/test-environment'); const { BN, constants, expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; const { expect } = require('chai'); -const ERC777SenderRecipientMock = contract.fromArtifact('ERC777SenderRecipientMock'); +const ERC777SenderRecipientMock = artifacts.require('ERC777SenderRecipientMock'); function shouldBehaveLikeERC777DirectSendBurn (holder, recipient, data) { shouldBehaveLikeERC777DirectSend(holder, recipient, data); diff --git a/test/token/ERC777/ERC777.test.js b/test/token/ERC777/ERC777.test.js index 0822bc988..fc4386304 100644 --- a/test/token/ERC777/ERC777.test.js +++ b/test/token/ERC777/ERC777.test.js @@ -1,5 +1,3 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { BN, constants, expectEvent, expectRevert, singletons } = require('@openzeppelin/test-helpers'); const { ZERO_ADDRESS } = constants; @@ -19,10 +17,10 @@ const { shouldBehaveLikeERC20Approve, } = require('../ERC20/ERC20.behavior'); -const ERC777 = contract.fromArtifact('ERC777Mock'); -const ERC777SenderRecipientMock = contract.fromArtifact('ERC777SenderRecipientMock'); +const ERC777 = artifacts.require('ERC777Mock'); +const ERC777SenderRecipientMock = artifacts.require('ERC777SenderRecipientMock'); -describe('ERC777', function () { +contract('ERC777', function (accounts) { const [ registryFunder, holder, defaultOperatorA, defaultOperatorB, newOperator, anyone ] = accounts; const initialSupply = new BN('10000'); diff --git a/test/utils/Address.test.js b/test/utils/Address.test.js index 60e83c74d..40196fc1a 100644 --- a/test/utils/Address.test.js +++ b/test/utils/Address.test.js @@ -1,13 +1,11 @@ -const { accounts, contract, web3 } = require('@openzeppelin/test-environment'); - const { balance, ether, expectRevert, send, expectEvent } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const AddressImpl = contract.fromArtifact('AddressImpl'); -const EtherReceiver = contract.fromArtifact('EtherReceiverMock'); -const CallReceiverMock = contract.fromArtifact('CallReceiverMock'); +const AddressImpl = artifacts.require('AddressImpl'); +const EtherReceiver = artifacts.require('EtherReceiverMock'); +const CallReceiverMock = artifacts.require('CallReceiverMock'); -describe('Address', function () { +contract('Address', function (accounts) { const [ recipient, other ] = accounts; beforeEach(async function () { @@ -145,8 +143,8 @@ describe('Address', function () { }, []); await expectRevert( - this.mock.functionCall(this.contractRecipient.address, abiEncodedCall), - 'Address: low-level call failed' + this.mock.functionCall(this.contractRecipient.address, abiEncodedCall, { gas: '90000' }), + 'Address: low-level call failed', ); }).timeout(5000); diff --git a/test/utils/Arrays.test.js b/test/utils/Arrays.test.js index 42693aeb8..67128fac2 100644 --- a/test/utils/Arrays.test.js +++ b/test/utils/Arrays.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ArraysImpl = contract.fromArtifact('ArraysImpl'); +const ArraysImpl = artifacts.require('ArraysImpl'); -describe('Arrays', function () { +contract('Arrays', function (accounts) { describe('findUpperBound', function () { context('Even number of elements', function () { const EVEN_ELEMENTS_ARRAY = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; diff --git a/test/utils/Counters.test.js b/test/utils/Counters.test.js index 5650bab87..35eafa79c 100644 --- a/test/utils/Counters.test.js +++ b/test/utils/Counters.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); const { expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const CountersImpl = contract.fromArtifact('CountersImpl'); +const CountersImpl = artifacts.require('CountersImpl'); -describe('Counters', function () { +contract('Counters', function (accounts) { beforeEach(async function () { this.counter = await CountersImpl.new(); }); diff --git a/test/utils/Create2.test.js b/test/utils/Create2.test.js index 54b9b9938..ade5d7441 100644 --- a/test/utils/Create2.test.js +++ b/test/utils/Create2.test.js @@ -1,13 +1,12 @@ -const { contract, accounts, web3 } = require('@openzeppelin/test-environment'); const { balance, BN, ether, expectRevert, send } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const Create2Impl = contract.fromArtifact('Create2Impl'); -const ERC20Mock = contract.fromArtifact('ERC20Mock'); -const ERC1820Implementer = contract.fromArtifact('ERC1820Implementer'); +const Create2Impl = artifacts.require('Create2Impl'); +const ERC20Mock = artifacts.require('ERC20Mock'); +const ERC1820Implementer = artifacts.require('ERC1820Implementer'); -describe('Create2', function () { +contract('Create2', function (accounts) { const [deployerAccount] = accounts; const salt = 'salt message'; diff --git a/test/utils/EnumerableMap.test.js b/test/utils/EnumerableMap.test.js index 219fc6d5f..28af7443f 100644 --- a/test/utils/EnumerableMap.test.js +++ b/test/utils/EnumerableMap.test.js @@ -1,12 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); const { BN, expectEvent } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); const zip = require('lodash.zip'); -const EnumerableMapMock = contract.fromArtifact('EnumerableMapMock'); +const EnumerableMapMock = artifacts.require('EnumerableMapMock'); -describe('EnumerableMap', function () { +contract('EnumerableMap', function (accounts) { const [ accountA, accountB, accountC ] = accounts; const keyA = new BN('7891'); diff --git a/test/utils/EnumerableSet.test.js b/test/utils/EnumerableSet.test.js index ed292142b..71aa2c233 100644 --- a/test/utils/EnumerableSet.test.js +++ b/test/utils/EnumerableSet.test.js @@ -1,12 +1,11 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); const { BN } = require('@openzeppelin/test-helpers'); -const EnumerableAddressSetMock = contract.fromArtifact('EnumerableAddressSetMock'); -const EnumerableUintSetMock = contract.fromArtifact('EnumerableUintSetMock'); +const EnumerableAddressSetMock = artifacts.require('EnumerableAddressSetMock'); +const EnumerableUintSetMock = artifacts.require('EnumerableUintSetMock'); const { shouldBehaveLikeSet } = require('./EnumerableSet.behavior'); -describe('EnumerableSet', function () { +contract('EnumerableSet', function (accounts) { // AddressSet describe('EnumerableAddressSet', function () { const [ accountA, accountB, accountC ] = accounts; diff --git a/test/utils/Pausable.test.js b/test/utils/Pausable.test.js index 0af218563..05b384140 100644 --- a/test/utils/Pausable.test.js +++ b/test/utils/Pausable.test.js @@ -1,12 +1,10 @@ -const { accounts, contract } = require('@openzeppelin/test-environment'); - const { expectEvent, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const PausableMock = contract.fromArtifact('PausableMock'); +const PausableMock = artifacts.require('PausableMock'); -describe('Pausable', function () { +contract('Pausable', function (accounts) { const [ pauser ] = accounts; beforeEach(async function () { diff --git a/test/utils/ReentrancyGuard.test.js b/test/utils/ReentrancyGuard.test.js index 7ba5e8663..8d0ce7372 100644 --- a/test/utils/ReentrancyGuard.test.js +++ b/test/utils/ReentrancyGuard.test.js @@ -1,12 +1,11 @@ -const { contract } = require('@openzeppelin/test-environment'); const { expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const ReentrancyMock = contract.fromArtifact('ReentrancyMock'); -const ReentrancyAttack = contract.fromArtifact('ReentrancyAttack'); +const ReentrancyMock = artifacts.require('ReentrancyMock'); +const ReentrancyAttack = artifacts.require('ReentrancyAttack'); -describe('ReentrancyGuard', function () { +contract('ReentrancyGuard', function (accounts) { beforeEach(async function () { this.reentrancyMock = await ReentrancyMock.new(); expect(await this.reentrancyMock.counter()).to.be.bignumber.equal('0'); diff --git a/test/utils/SafeCast.test.js b/test/utils/SafeCast.test.js index 818db06ea..7dde27a12 100644 --- a/test/utils/SafeCast.test.js +++ b/test/utils/SafeCast.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); const { BN, expectRevert } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const SafeCastMock = contract.fromArtifact('SafeCastMock'); +const SafeCastMock = artifacts.require('SafeCastMock'); -describe('SafeCast', async () => { +contract('SafeCast', async (accounts) => { beforeEach(async function () { this.safeCast = await SafeCastMock.new(); }); diff --git a/test/utils/Strings.test.js b/test/utils/Strings.test.js index 4261bf1d3..8c16378b1 100644 --- a/test/utils/Strings.test.js +++ b/test/utils/Strings.test.js @@ -1,11 +1,10 @@ -const { contract } = require('@openzeppelin/test-environment'); const { constants } = require('@openzeppelin/test-helpers'); const { expect } = require('chai'); -const StringsMock = contract.fromArtifact('StringsMock'); +const StringsMock = artifacts.require('StringsMock'); -describe('Strings', function () { +contract('Strings', function (accounts) { beforeEach(async function () { this.strings = await StringsMock.new(); });