Commit 06ab69e5 by github-actions

Transpile 79cb606f

parent 3ff38d85
# Changelog # Changelog
## 4.4.2 (2022-01-11)
### Bugfixes
* `GovernorCompatibilityBravo`: Fix error in the encoding of calldata for proposals submitted through the compatibility interface with explicit signatures. ([#3100](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/#3100))
## 4.4.1 (2021-12-14) ## 4.4.1 (2021-12-14)
* `Initializable`: change the existing `initializer` modifier and add a new `onlyInitializing` modifier to prevent reentrancy risk. ([#3006](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3006)) * `Initializable`: change the existing `initializer` modifier and add a new `onlyInitializing` modifier to prevent reentrancy risk. ([#3006](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3006))
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (governance/compatibility/GovernorCompatibilityBravo.sol) // OpenZeppelin Contracts (last updated v4.4.2) (governance/compatibility/GovernorCompatibilityBravo.sol)
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
...@@ -144,7 +144,7 @@ abstract contract GovernorCompatibilityBravoUpgradeable is Initializable, IGover ...@@ -144,7 +144,7 @@ abstract contract GovernorCompatibilityBravoUpgradeable is Initializable, IGover
for (uint256 i = 0; i < signatures.length; ++i) { for (uint256 i = 0; i < signatures.length; ++i) {
fullcalldatas[i] = bytes(signatures[i]).length == 0 fullcalldatas[i] = bytes(signatures[i]).length == 0
? calldatas[i] ? calldatas[i]
: abi.encodeWithSignature(signatures[i], calldatas[i]); : abi.encodePacked(bytes4(keccak256(bytes(signatures[i]))), calldatas[i]);
} }
return fullcalldatas; return fullcalldatas;
......
...@@ -13,6 +13,7 @@ contract CallReceiverMockUpgradeable is Initializable { ...@@ -13,6 +13,7 @@ contract CallReceiverMockUpgradeable is Initializable {
string public sharedAnswer; string public sharedAnswer;
event MockFunctionCalled(); event MockFunctionCalled();
event MockFunctionCalledWithArgs(uint256 a, uint256 b);
uint256[] private _array; uint256[] private _array;
...@@ -22,6 +23,12 @@ contract CallReceiverMockUpgradeable is Initializable { ...@@ -22,6 +23,12 @@ contract CallReceiverMockUpgradeable is Initializable {
return "0x1234"; return "0x1234";
} }
function mockFunctionWithArgs(uint256 a, uint256 b) public payable returns (string memory) {
emit MockFunctionCalledWithArgs(a, b);
return "0x1234";
}
function mockFunctionNonPayable() public returns (string memory) { function mockFunctionNonPayable() public returns (string memory) {
emit MockFunctionCalled(); emit MockFunctionCalled();
......
{ {
"name": "@openzeppelin/contracts-upgradeable", "name": "@openzeppelin/contracts-upgradeable",
"description": "Secure Smart Contract library for Solidity", "description": "Secure Smart Contract library for Solidity",
"version": "4.4.1", "version": "4.4.2",
"files": [ "files": [
"**/*.sol", "**/*.sol",
"/build/contracts/*.json", "/build/contracts/*.json",
......
{ {
"name": "openzeppelin-solidity", "name": "openzeppelin-solidity",
"version": "4.4.1", "version": "4.4.2",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "openzeppelin-solidity", "name": "openzeppelin-solidity",
"version": "4.4.0", "version": "4.4.2",
"license": "MIT", "license": "MIT",
"bin": { "bin": {
"openzeppelin-contracts-migrate-imports": "scripts/migrate-imports.js" "openzeppelin-contracts-migrate-imports": "scripts/migrate-imports.js"
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
"prettier": "^2.3.0", "prettier": "^2.3.0",
"prettier-plugin-solidity": "^1.0.0-beta.16", "prettier-plugin-solidity": "^1.0.0-beta.16",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"semver": "^7.3.5",
"solhint": "^3.3.6", "solhint": "^3.3.6",
"solidity-ast": "^0.4.25", "solidity-ast": "^0.4.25",
"solidity-coverage": "^0.7.11", "solidity-coverage": "^0.7.11",
...@@ -1325,39 +1326,6 @@ ...@@ -1325,39 +1326,6 @@
"@oclif/config": "^1" "@oclif/config": "^1"
} }
}, },
"node_modules/@oclif/command/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@oclif/command/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@oclif/command/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@oclif/config": { "node_modules/@oclif/config": {
"version": "1.17.0", "version": "1.17.0",
"resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz", "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz",
...@@ -1789,6 +1757,15 @@ ...@@ -1789,6 +1757,15 @@
"web3-utils": "^1.2.5" "web3-utils": "^1.2.5"
} }
}, },
"node_modules/@openzeppelin/test-helpers/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/@sentry/core": { "node_modules/@sentry/core": {
"version": "5.30.0", "version": "5.30.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz",
...@@ -2267,33 +2244,6 @@ ...@@ -2267,33 +2244,6 @@
"integrity": "sha512-9YY+HQpXMTrF8HgRByjeQhd21GXAz2ktMPTcs6oWSj5HJR52fgsNoelMOmgigwcpt9j4tu4IVSaWaJB2n2TbvQ==", "integrity": "sha512-9YY+HQpXMTrF8HgRByjeQhd21GXAz2ktMPTcs6oWSj5HJR52fgsNoelMOmgigwcpt9j4tu4IVSaWaJB2n2TbvQ==",
"dev": true "dev": true
}, },
"node_modules/@truffle/contract/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@truffle/contract/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@truffle/contract/node_modules/supports-color": { "node_modules/@truffle/contract/node_modules/supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
...@@ -2662,12 +2612,6 @@ ...@@ -2662,12 +2612,6 @@
"node": ">=8.0.0" "node": ">=8.0.0"
} }
}, },
"node_modules/@truffle/contract/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@truffle/debug-utils": { "node_modules/@truffle/debug-utils": {
"version": "4.2.14", "version": "4.2.14",
"resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-4.2.14.tgz", "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-4.2.14.tgz",
...@@ -6049,6 +5993,15 @@ ...@@ -6049,6 +5993,15 @@
"node": ">=4.8" "node": ">=4.8"
} }
}, },
"node_modules/cross-spawn/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/crypt": { "node_modules/crypt": {
"version": "0.0.2", "version": "0.0.2",
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
...@@ -8661,51 +8614,51 @@ ...@@ -8661,51 +8614,51 @@
}, },
"node_modules/ganache-cli/node_modules/@types/bn.js": { "node_modules/ganache-cli/node_modules/@types/bn.js": {
"version": "4.11.6", "version": "4.11.6",
"integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/ganache-cli/node_modules/@types/node": { "node_modules/ganache-cli/node_modules/@types/node": {
"version": "14.11.2", "version": "14.11.2",
"integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/@types/pbkdf2": { "node_modules/ganache-cli/node_modules/@types/pbkdf2": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/ganache-cli/node_modules/@types/secp256k1": { "node_modules/ganache-cli/node_modules/@types/secp256k1": {
"version": "4.0.1", "version": "4.0.1",
"integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/ganache-cli/node_modules/ansi-regex": { "node_modules/ganache-cli/node_modules/ansi-regex": {
"version": "4.1.0", "version": "4.1.0",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/ganache-cli/node_modules/ansi-styles": { "node_modules/ganache-cli/node_modules/ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"color-convert": "^1.9.0" "color-convert": "^1.9.0"
}, },
...@@ -8715,36 +8668,36 @@ ...@@ -8715,36 +8668,36 @@
}, },
"node_modules/ganache-cli/node_modules/base-x": { "node_modules/ganache-cli/node_modules/base-x": {
"version": "3.0.8", "version": "3.0.8",
"integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
}, },
"node_modules/ganache-cli/node_modules/blakejs": { "node_modules/ganache-cli/node_modules/blakejs": {
"version": "1.1.0", "version": "1.1.0",
"integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "CC0-1.0"
}, },
"node_modules/ganache-cli/node_modules/bn.js": { "node_modules/ganache-cli/node_modules/bn.js": {
"version": "4.11.9", "version": "4.11.9",
"integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/brorand": { "node_modules/ganache-cli/node_modules/brorand": {
"version": "1.1.0", "version": "1.1.0",
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/browserify-aes": { "node_modules/ganache-cli/node_modules/browserify-aes": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"buffer-xor": "^1.0.3", "buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0", "cipher-base": "^1.0.0",
...@@ -8756,18 +8709,18 @@ ...@@ -8756,18 +8709,18 @@
}, },
"node_modules/ganache-cli/node_modules/bs58": { "node_modules/ganache-cli/node_modules/bs58": {
"version": "4.0.1", "version": "4.0.1",
"integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"base-x": "^3.0.2" "base-x": "^3.0.2"
} }
}, },
"node_modules/ganache-cli/node_modules/bs58check": { "node_modules/ganache-cli/node_modules/bs58check": {
"version": "2.1.2", "version": "2.1.2",
"integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"bs58": "^4.0.0", "bs58": "^4.0.0",
"create-hash": "^1.1.0", "create-hash": "^1.1.0",
...@@ -8776,30 +8729,30 @@ ...@@ -8776,30 +8729,30 @@
}, },
"node_modules/ganache-cli/node_modules/buffer-from": { "node_modules/ganache-cli/node_modules/buffer-from": {
"version": "1.1.1", "version": "1.1.1",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/buffer-xor": { "node_modules/ganache-cli/node_modules/buffer-xor": {
"version": "1.0.3", "version": "1.0.3",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/camelcase": { "node_modules/ganache-cli/node_modules/camelcase": {
"version": "5.3.1", "version": "5.3.1",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/ganache-cli/node_modules/cipher-base": { "node_modules/ganache-cli/node_modules/cipher-base": {
"version": "1.0.4", "version": "1.0.4",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
...@@ -8807,9 +8760,9 @@ ...@@ -8807,9 +8760,9 @@
}, },
"node_modules/ganache-cli/node_modules/cliui": { "node_modules/ganache-cli/node_modules/cliui": {
"version": "5.0.0", "version": "5.0.0",
"integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "ISC",
"dependencies": { "dependencies": {
"string-width": "^3.1.0", "string-width": "^3.1.0",
"strip-ansi": "^5.2.0", "strip-ansi": "^5.2.0",
...@@ -8818,24 +8771,24 @@ ...@@ -8818,24 +8771,24 @@
}, },
"node_modules/ganache-cli/node_modules/color-convert": { "node_modules/ganache-cli/node_modules/color-convert": {
"version": "1.9.3", "version": "1.9.3",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"color-name": "1.1.3" "color-name": "1.1.3"
} }
}, },
"node_modules/ganache-cli/node_modules/color-name": { "node_modules/ganache-cli/node_modules/color-name": {
"version": "1.1.3", "version": "1.1.3",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/create-hash": { "node_modules/ganache-cli/node_modules/create-hash": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"cipher-base": "^1.0.1", "cipher-base": "^1.0.1",
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -8846,9 +8799,9 @@ ...@@ -8846,9 +8799,9 @@
}, },
"node_modules/ganache-cli/node_modules/create-hmac": { "node_modules/ganache-cli/node_modules/create-hmac": {
"version": "1.1.7", "version": "1.1.7",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"cipher-base": "^1.0.3", "cipher-base": "^1.0.3",
"create-hash": "^1.1.0", "create-hash": "^1.1.0",
...@@ -8860,9 +8813,9 @@ ...@@ -8860,9 +8813,9 @@
}, },
"node_modules/ganache-cli/node_modules/cross-spawn": { "node_modules/ganache-cli/node_modules/cross-spawn": {
"version": "6.0.5", "version": "6.0.5",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"nice-try": "^1.0.4", "nice-try": "^1.0.4",
"path-key": "^2.0.1", "path-key": "^2.0.1",
...@@ -8876,18 +8829,18 @@ ...@@ -8876,18 +8829,18 @@
}, },
"node_modules/ganache-cli/node_modules/decamelize": { "node_modules/ganache-cli/node_modules/decamelize": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/ganache-cli/node_modules/elliptic": { "node_modules/ganache-cli/node_modules/elliptic": {
"version": "6.5.3", "version": "6.5.3",
"integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"bn.js": "^4.4.0", "bn.js": "^4.4.0",
"brorand": "^1.0.1", "brorand": "^1.0.1",
...@@ -8900,24 +8853,24 @@ ...@@ -8900,24 +8853,24 @@
}, },
"node_modules/ganache-cli/node_modules/emoji-regex": { "node_modules/ganache-cli/node_modules/emoji-regex": {
"version": "7.0.3", "version": "7.0.3",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/end-of-stream": { "node_modules/ganache-cli/node_modules/end-of-stream": {
"version": "1.4.4", "version": "1.4.4",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
"node_modules/ganache-cli/node_modules/ethereum-cryptography": { "node_modules/ganache-cli/node_modules/ethereum-cryptography": {
"version": "0.1.3", "version": "0.1.3",
"integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/pbkdf2": "^3.0.0", "@types/pbkdf2": "^3.0.0",
"@types/secp256k1": "^4.0.1", "@types/secp256k1": "^4.0.1",
...@@ -8938,9 +8891,9 @@ ...@@ -8938,9 +8891,9 @@
}, },
"node_modules/ganache-cli/node_modules/ethereumjs-util": { "node_modules/ganache-cli/node_modules/ethereumjs-util": {
"version": "6.2.1", "version": "6.2.1",
"integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MPL-2.0",
"dependencies": { "dependencies": {
"@types/bn.js": "^4.11.3", "@types/bn.js": "^4.11.3",
"bn.js": "^4.11.0", "bn.js": "^4.11.0",
...@@ -8953,9 +8906,9 @@ ...@@ -8953,9 +8906,9 @@
}, },
"node_modules/ganache-cli/node_modules/ethjs-util": { "node_modules/ganache-cli/node_modules/ethjs-util": {
"version": "0.1.6", "version": "0.1.6",
"integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"is-hex-prefixed": "1.0.0", "is-hex-prefixed": "1.0.0",
"strip-hex-prefix": "1.0.0" "strip-hex-prefix": "1.0.0"
...@@ -8967,9 +8920,9 @@ ...@@ -8967,9 +8920,9 @@
}, },
"node_modules/ganache-cli/node_modules/evp_bytestokey": { "node_modules/ganache-cli/node_modules/evp_bytestokey": {
"version": "1.0.3", "version": "1.0.3",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"md5.js": "^1.3.4", "md5.js": "^1.3.4",
"safe-buffer": "^5.1.1" "safe-buffer": "^5.1.1"
...@@ -8977,9 +8930,9 @@ ...@@ -8977,9 +8930,9 @@
}, },
"node_modules/ganache-cli/node_modules/execa": { "node_modules/ganache-cli/node_modules/execa": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"cross-spawn": "^6.0.0", "cross-spawn": "^6.0.0",
"get-stream": "^4.0.0", "get-stream": "^4.0.0",
...@@ -8995,9 +8948,9 @@ ...@@ -8995,9 +8948,9 @@
}, },
"node_modules/ganache-cli/node_modules/find-up": { "node_modules/ganache-cli/node_modules/find-up": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"locate-path": "^3.0.0" "locate-path": "^3.0.0"
}, },
...@@ -9007,18 +8960,18 @@ ...@@ -9007,18 +8960,18 @@
}, },
"node_modules/ganache-cli/node_modules/get-caller-file": { "node_modules/ganache-cli/node_modules/get-caller-file": {
"version": "2.0.5", "version": "2.0.5",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "ISC",
"engines": { "engines": {
"node": "6.* || 8.* || >= 10.*" "node": "6.* || 8.* || >= 10.*"
} }
}, },
"node_modules/ganache-cli/node_modules/get-stream": { "node_modules/ganache-cli/node_modules/get-stream": {
"version": "4.1.0", "version": "4.1.0",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"pump": "^3.0.0" "pump": "^3.0.0"
}, },
...@@ -9028,9 +8981,9 @@ ...@@ -9028,9 +8981,9 @@
}, },
"node_modules/ganache-cli/node_modules/hash-base": { "node_modules/ganache-cli/node_modules/hash-base": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"inherits": "^2.0.4", "inherits": "^2.0.4",
"readable-stream": "^3.6.0", "readable-stream": "^3.6.0",
...@@ -9042,9 +8995,9 @@ ...@@ -9042,9 +8995,9 @@
}, },
"node_modules/ganache-cli/node_modules/hash.js": { "node_modules/ganache-cli/node_modules/hash.js": {
"version": "1.1.7", "version": "1.1.7",
"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"inherits": "^2.0.3", "inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1" "minimalistic-assert": "^1.0.1"
...@@ -9052,9 +9005,9 @@ ...@@ -9052,9 +9005,9 @@
}, },
"node_modules/ganache-cli/node_modules/hmac-drbg": { "node_modules/ganache-cli/node_modules/hmac-drbg": {
"version": "1.0.1", "version": "1.0.1",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"hash.js": "^1.0.3", "hash.js": "^1.0.3",
"minimalistic-assert": "^1.0.0", "minimalistic-assert": "^1.0.0",
...@@ -9063,33 +9016,33 @@ ...@@ -9063,33 +9016,33 @@
}, },
"node_modules/ganache-cli/node_modules/inherits": { "node_modules/ganache-cli/node_modules/inherits": {
"version": "2.0.4", "version": "2.0.4",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/invert-kv": { "node_modules/ganache-cli/node_modules/invert-kv": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/ganache-cli/node_modules/is-fullwidth-code-point": { "node_modules/ganache-cli/node_modules/is-fullwidth-code-point": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/ganache-cli/node_modules/is-hex-prefixed": { "node_modules/ganache-cli/node_modules/is-hex-prefixed": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=6.5.0", "node": ">=6.5.0",
"npm": ">=3" "npm": ">=3"
...@@ -9097,25 +9050,25 @@ ...@@ -9097,25 +9050,25 @@
}, },
"node_modules/ganache-cli/node_modules/is-stream": { "node_modules/ganache-cli/node_modules/is-stream": {
"version": "1.1.0", "version": "1.1.0",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/ganache-cli/node_modules/isexe": { "node_modules/ganache-cli/node_modules/isexe": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/keccak": { "node_modules/ganache-cli/node_modules/keccak": {
"version": "3.0.1", "version": "3.0.1",
"integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"node-addon-api": "^2.0.0", "node-addon-api": "^2.0.0",
"node-gyp-build": "^4.2.0" "node-gyp-build": "^4.2.0"
...@@ -9126,9 +9079,9 @@ ...@@ -9126,9 +9079,9 @@
}, },
"node_modules/ganache-cli/node_modules/lcid": { "node_modules/ganache-cli/node_modules/lcid": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"invert-kv": "^2.0.0" "invert-kv": "^2.0.0"
}, },
...@@ -9138,9 +9091,9 @@ ...@@ -9138,9 +9091,9 @@
}, },
"node_modules/ganache-cli/node_modules/locate-path": { "node_modules/ganache-cli/node_modules/locate-path": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"p-locate": "^3.0.0", "p-locate": "^3.0.0",
"path-exists": "^3.0.0" "path-exists": "^3.0.0"
...@@ -9151,9 +9104,9 @@ ...@@ -9151,9 +9104,9 @@
}, },
"node_modules/ganache-cli/node_modules/map-age-cleaner": { "node_modules/ganache-cli/node_modules/map-age-cleaner": {
"version": "0.1.3", "version": "0.1.3",
"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"p-defer": "^1.0.0" "p-defer": "^1.0.0"
}, },
...@@ -9163,9 +9116,9 @@ ...@@ -9163,9 +9116,9 @@
}, },
"node_modules/ganache-cli/node_modules/md5.js": { "node_modules/ganache-cli/node_modules/md5.js": {
"version": "1.3.5", "version": "1.3.5",
"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"hash-base": "^3.0.0", "hash-base": "^3.0.0",
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -9174,9 +9127,9 @@ ...@@ -9174,9 +9127,9 @@
}, },
"node_modules/ganache-cli/node_modules/mem": { "node_modules/ganache-cli/node_modules/mem": {
"version": "4.3.0", "version": "4.3.0",
"integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"map-age-cleaner": "^0.1.1", "map-age-cleaner": "^0.1.1",
"mimic-fn": "^2.0.0", "mimic-fn": "^2.0.0",
...@@ -9188,42 +9141,42 @@ ...@@ -9188,42 +9141,42 @@
}, },
"node_modules/ganache-cli/node_modules/mimic-fn": { "node_modules/ganache-cli/node_modules/mimic-fn": {
"version": "2.1.0", "version": "2.1.0",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/ganache-cli/node_modules/minimalistic-assert": { "node_modules/ganache-cli/node_modules/minimalistic-assert": {
"version": "1.0.1", "version": "1.0.1",
"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/minimalistic-crypto-utils": { "node_modules/ganache-cli/node_modules/minimalistic-crypto-utils": {
"version": "1.0.1", "version": "1.0.1",
"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/nice-try": { "node_modules/ganache-cli/node_modules/nice-try": {
"version": "1.0.5", "version": "1.0.5",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/node-addon-api": { "node_modules/ganache-cli/node_modules/node-addon-api": {
"version": "2.0.2", "version": "2.0.2",
"integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/node-gyp-build": { "node_modules/ganache-cli/node_modules/node-gyp-build": {
"version": "4.2.3", "version": "4.2.3",
"integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"bin": { "bin": {
"node-gyp-build": "bin.js", "node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js", "node-gyp-build-optional": "optional.js",
...@@ -9232,9 +9185,9 @@ ...@@ -9232,9 +9185,9 @@
}, },
"node_modules/ganache-cli/node_modules/npm-run-path": { "node_modules/ganache-cli/node_modules/npm-run-path": {
"version": "2.0.2", "version": "2.0.2",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"path-key": "^2.0.0" "path-key": "^2.0.0"
}, },
...@@ -9244,18 +9197,18 @@ ...@@ -9244,18 +9197,18 @@
}, },
"node_modules/ganache-cli/node_modules/once": { "node_modules/ganache-cli/node_modules/once": {
"version": "1.4.0", "version": "1.4.0",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "ISC",
"dependencies": { "dependencies": {
"wrappy": "1" "wrappy": "1"
} }
}, },
"node_modules/ganache-cli/node_modules/os-locale": { "node_modules/ganache-cli/node_modules/os-locale": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"execa": "^1.0.0", "execa": "^1.0.0",
"lcid": "^2.0.0", "lcid": "^2.0.0",
...@@ -9267,36 +9220,36 @@ ...@@ -9267,36 +9220,36 @@
}, },
"node_modules/ganache-cli/node_modules/p-defer": { "node_modules/ganache-cli/node_modules/p-defer": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/ganache-cli/node_modules/p-finally": { "node_modules/ganache-cli/node_modules/p-finally": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/ganache-cli/node_modules/p-is-promise": { "node_modules/ganache-cli/node_modules/p-is-promise": {
"version": "2.1.0", "version": "2.1.0",
"integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/ganache-cli/node_modules/p-limit": { "node_modules/ganache-cli/node_modules/p-limit": {
"version": "2.3.0", "version": "2.3.0",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"p-try": "^2.0.0" "p-try": "^2.0.0"
}, },
...@@ -9309,9 +9262,9 @@ ...@@ -9309,9 +9262,9 @@
}, },
"node_modules/ganache-cli/node_modules/p-locate": { "node_modules/ganache-cli/node_modules/p-locate": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"p-limit": "^2.0.0" "p-limit": "^2.0.0"
}, },
...@@ -9321,36 +9274,36 @@ ...@@ -9321,36 +9274,36 @@
}, },
"node_modules/ganache-cli/node_modules/p-try": { "node_modules/ganache-cli/node_modules/p-try": {
"version": "2.2.0", "version": "2.2.0",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/ganache-cli/node_modules/path-exists": { "node_modules/ganache-cli/node_modules/path-exists": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/ganache-cli/node_modules/path-key": { "node_modules/ganache-cli/node_modules/path-key": {
"version": "2.0.1", "version": "2.0.1",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/ganache-cli/node_modules/pbkdf2": { "node_modules/ganache-cli/node_modules/pbkdf2": {
"version": "3.1.1", "version": "3.1.1",
"integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"create-hash": "^1.1.2", "create-hash": "^1.1.2",
"create-hmac": "^1.1.4", "create-hmac": "^1.1.4",
...@@ -9364,9 +9317,9 @@ ...@@ -9364,9 +9317,9 @@
}, },
"node_modules/ganache-cli/node_modules/pump": { "node_modules/ganache-cli/node_modules/pump": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"end-of-stream": "^1.1.0", "end-of-stream": "^1.1.0",
"once": "^1.3.1" "once": "^1.3.1"
...@@ -9374,18 +9327,18 @@ ...@@ -9374,18 +9327,18 @@
}, },
"node_modules/ganache-cli/node_modules/randombytes": { "node_modules/ganache-cli/node_modules/randombytes": {
"version": "2.1.0", "version": "2.1.0",
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"safe-buffer": "^5.1.0" "safe-buffer": "^5.1.0"
} }
}, },
"node_modules/ganache-cli/node_modules/readable-stream": { "node_modules/ganache-cli/node_modules/readable-stream": {
"version": "3.6.0", "version": "3.6.0",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"inherits": "^2.0.3", "inherits": "^2.0.3",
"string_decoder": "^1.1.1", "string_decoder": "^1.1.1",
...@@ -9397,24 +9350,24 @@ ...@@ -9397,24 +9350,24 @@
}, },
"node_modules/ganache-cli/node_modules/require-directory": { "node_modules/ganache-cli/node_modules/require-directory": {
"version": "2.1.1", "version": "2.1.1",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/ganache-cli/node_modules/require-main-filename": { "node_modules/ganache-cli/node_modules/require-main-filename": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/ripemd160": { "node_modules/ganache-cli/node_modules/ripemd160": {
"version": "2.0.2", "version": "2.0.2",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"hash-base": "^3.0.0", "hash-base": "^3.0.0",
"inherits": "^2.0.1" "inherits": "^2.0.1"
...@@ -9422,9 +9375,9 @@ ...@@ -9422,9 +9375,9 @@
}, },
"node_modules/ganache-cli/node_modules/rlp": { "node_modules/ganache-cli/node_modules/rlp": {
"version": "2.2.6", "version": "2.2.6",
"integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MPL-2.0",
"dependencies": { "dependencies": {
"bn.js": "^4.11.1" "bn.js": "^4.11.1"
}, },
...@@ -9434,7 +9387,6 @@ ...@@ -9434,7 +9387,6 @@
}, },
"node_modules/ganache-cli/node_modules/safe-buffer": { "node_modules/ganache-cli/node_modules/safe-buffer": {
"version": "5.2.1", "version": "5.2.1",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
...@@ -9450,20 +9402,21 @@ ...@@ -9450,20 +9402,21 @@
"url": "https://feross.org/support" "url": "https://feross.org/support"
} }
], ],
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/scrypt-js": { "node_modules/ganache-cli/node_modules/scrypt-js": {
"version": "3.0.1", "version": "3.0.1",
"integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/secp256k1": { "node_modules/ganache-cli/node_modules/secp256k1": {
"version": "4.0.2", "version": "4.0.2",
"integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"elliptic": "^6.5.2", "elliptic": "^6.5.2",
"node-addon-api": "^2.0.0", "node-addon-api": "^2.0.0",
...@@ -9475,30 +9428,30 @@ ...@@ -9475,30 +9428,30 @@
}, },
"node_modules/ganache-cli/node_modules/semver": { "node_modules/ganache-cli/node_modules/semver": {
"version": "5.7.1", "version": "5.7.1",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "ISC",
"bin": { "bin": {
"semver": "bin/semver" "semver": "bin/semver"
} }
}, },
"node_modules/ganache-cli/node_modules/set-blocking": { "node_modules/ganache-cli/node_modules/set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/setimmediate": { "node_modules/ganache-cli/node_modules/setimmediate": {
"version": "1.0.5", "version": "1.0.5",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/sha.js": { "node_modules/ganache-cli/node_modules/sha.js": {
"version": "2.4.11", "version": "2.4.11",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "(MIT AND BSD-3-Clause)",
"dependencies": { "dependencies": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
...@@ -9509,9 +9462,9 @@ ...@@ -9509,9 +9462,9 @@
}, },
"node_modules/ganache-cli/node_modules/shebang-command": { "node_modules/ganache-cli/node_modules/shebang-command": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"shebang-regex": "^1.0.0" "shebang-regex": "^1.0.0"
}, },
...@@ -9521,33 +9474,33 @@ ...@@ -9521,33 +9474,33 @@
}, },
"node_modules/ganache-cli/node_modules/shebang-regex": { "node_modules/ganache-cli/node_modules/shebang-regex": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/ganache-cli/node_modules/signal-exit": { "node_modules/ganache-cli/node_modules/signal-exit": {
"version": "3.0.3", "version": "3.0.3",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/source-map": { "node_modules/ganache-cli/node_modules/source-map": {
"version": "0.6.1", "version": "0.6.1",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "BSD-3-Clause",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/ganache-cli/node_modules/source-map-support": { "node_modules/ganache-cli/node_modules/source-map-support": {
"version": "0.5.12", "version": "0.5.12",
"integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",
"source-map": "^0.6.0" "source-map": "^0.6.0"
...@@ -9555,18 +9508,18 @@ ...@@ -9555,18 +9508,18 @@
}, },
"node_modules/ganache-cli/node_modules/string_decoder": { "node_modules/ganache-cli/node_modules/string_decoder": {
"version": "1.3.0", "version": "1.3.0",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"safe-buffer": "~5.2.0" "safe-buffer": "~5.2.0"
} }
}, },
"node_modules/ganache-cli/node_modules/string-width": { "node_modules/ganache-cli/node_modules/string-width": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"emoji-regex": "^7.0.1", "emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0", "is-fullwidth-code-point": "^2.0.0",
...@@ -9578,9 +9531,9 @@ ...@@ -9578,9 +9531,9 @@
}, },
"node_modules/ganache-cli/node_modules/strip-ansi": { "node_modules/ganache-cli/node_modules/strip-ansi": {
"version": "5.2.0", "version": "5.2.0",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"ansi-regex": "^4.1.0" "ansi-regex": "^4.1.0"
}, },
...@@ -9590,18 +9543,18 @@ ...@@ -9590,18 +9543,18 @@
}, },
"node_modules/ganache-cli/node_modules/strip-eof": { "node_modules/ganache-cli/node_modules/strip-eof": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/ganache-cli/node_modules/strip-hex-prefix": { "node_modules/ganache-cli/node_modules/strip-hex-prefix": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"is-hex-prefixed": "1.0.0" "is-hex-prefixed": "1.0.0"
}, },
...@@ -9612,15 +9565,15 @@ ...@@ -9612,15 +9565,15 @@
}, },
"node_modules/ganache-cli/node_modules/util-deprecate": { "node_modules/ganache-cli/node_modules/util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "MIT"
}, },
"node_modules/ganache-cli/node_modules/which": { "node_modules/ganache-cli/node_modules/which": {
"version": "1.3.1", "version": "1.3.1",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "ISC",
"dependencies": { "dependencies": {
"isexe": "^2.0.0" "isexe": "^2.0.0"
}, },
...@@ -9630,15 +9583,15 @@ ...@@ -9630,15 +9583,15 @@
}, },
"node_modules/ganache-cli/node_modules/which-module": { "node_modules/ganache-cli/node_modules/which-module": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/wrap-ansi": { "node_modules/ganache-cli/node_modules/wrap-ansi": {
"version": "5.1.0", "version": "5.1.0",
"integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"ansi-styles": "^3.2.0", "ansi-styles": "^3.2.0",
"string-width": "^3.0.0", "string-width": "^3.0.0",
...@@ -9650,21 +9603,21 @@ ...@@ -9650,21 +9603,21 @@
}, },
"node_modules/ganache-cli/node_modules/wrappy": { "node_modules/ganache-cli/node_modules/wrappy": {
"version": "1.0.2", "version": "1.0.2",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/y18n": { "node_modules/ganache-cli/node_modules/y18n": {
"version": "4.0.0", "version": "4.0.0",
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true, "dev": true,
"inBundle": true "inBundle": true,
"license": "ISC"
}, },
"node_modules/ganache-cli/node_modules/yargs": { "node_modules/ganache-cli/node_modules/yargs": {
"version": "13.2.4", "version": "13.2.4",
"integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "MIT",
"dependencies": { "dependencies": {
"cliui": "^5.0.0", "cliui": "^5.0.0",
"find-up": "^3.0.0", "find-up": "^3.0.0",
...@@ -9681,9 +9634,9 @@ ...@@ -9681,9 +9634,9 @@
}, },
"node_modules/ganache-cli/node_modules/yargs-parser": { "node_modules/ganache-cli/node_modules/yargs-parser": {
"version": "13.1.2", "version": "13.1.2",
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"dev": true, "dev": true,
"inBundle": true, "inBundle": true,
"license": "ISC",
"dependencies": { "dependencies": {
"camelcase": "^5.0.0", "camelcase": "^5.0.0",
"decamelize": "^1.2.0" "decamelize": "^1.2.0"
...@@ -13742,6 +13695,15 @@ ...@@ -13742,6 +13695,15 @@
"semver": "^5.7.0" "semver": "^5.7.0"
} }
}, },
"node_modules/node-environment-flags/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/node-fetch": { "node_modules/node-fetch": {
"version": "2.6.5", "version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
...@@ -13891,6 +13853,15 @@ ...@@ -13891,6 +13853,15 @@
"validate-npm-package-license": "^3.0.1" "validate-npm-package-license": "^3.0.1"
} }
}, },
"node_modules/normalize-package-data/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/normalize-path": { "node_modules/normalize-path": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
...@@ -14813,33 +14784,6 @@ ...@@ -14813,33 +14784,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/prettier-plugin-solidity/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/prettier-plugin-solidity/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/prettier-plugin-solidity/node_modules/string-width": { "node_modules/prettier-plugin-solidity/node_modules/string-width": {
"version": "4.2.3", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
...@@ -14872,12 +14816,6 @@ ...@@ -14872,12 +14816,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/prettier-plugin-solidity/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/printj": { "node_modules/printj": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
...@@ -15845,14 +15783,38 @@ ...@@ -15845,14 +15783,38 @@
} }
}, },
"node_modules/semver": { "node_modules/semver": {
"version": "5.7.1", "version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true, "dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": { "bin": {
"semver": "bin/semver" "semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
} }
}, },
"node_modules/semver/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/semver/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/send": { "node_modules/send": {
"version": "0.17.1", "version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
...@@ -16600,6 +16562,15 @@ ...@@ -16600,6 +16562,15 @@
"rimraf": "bin.js" "rimraf": "bin.js"
} }
}, },
"node_modules/solc/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/solc/node_modules/string-width": { "node_modules/solc/node_modules/string-width": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
...@@ -17225,12 +17196,6 @@ ...@@ -17225,12 +17196,6 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/solidity-coverage/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/solidity-docgen": { "node_modules/solidity-docgen": {
"version": "0.5.16", "version": "0.5.16",
"resolved": "https://registry.npmjs.org/solidity-docgen/-/solidity-docgen-0.5.16.tgz", "resolved": "https://registry.npmjs.org/solidity-docgen/-/solidity-docgen-0.5.16.tgz",
...@@ -17311,18 +17276,6 @@ ...@@ -17311,18 +17276,6 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"node_modules/solidity-docgen/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/solidity-docgen/node_modules/require-from-string": { "node_modules/solidity-docgen/node_modules/require-from-string": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
...@@ -17344,21 +17297,6 @@ ...@@ -17344,21 +17297,6 @@
"rimraf": "bin.js" "rimraf": "bin.js"
} }
}, },
"node_modules/solidity-docgen/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/solidity-docgen/node_modules/solc": { "node_modules/solidity-docgen/node_modules/solc": {
"version": "0.6.12", "version": "0.6.12",
"resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz",
...@@ -17390,12 +17328,6 @@ ...@@ -17390,12 +17328,6 @@
"semver": "bin/semver" "semver": "bin/semver"
} }
}, },
"node_modules/solidity-docgen/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/source-list-map": { "node_modules/source-list-map": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
...@@ -21885,32 +21817,6 @@ ...@@ -21885,32 +21817,6 @@
"@oclif/plugin-help": "^3", "@oclif/plugin-help": "^3",
"debug": "^4.1.1", "debug": "^4.1.1",
"semver": "^7.3.2" "semver": "^7.3.2"
},
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
} }
}, },
"@oclif/config": { "@oclif/config": {
...@@ -22267,6 +22173,14 @@ ...@@ -22267,6 +22173,14 @@
"semver": "^5.6.0", "semver": "^5.6.0",
"web3": "^1.2.5", "web3": "^1.2.5",
"web3-utils": "^1.2.5" "web3-utils": "^1.2.5"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
} }
}, },
"@sentry/core": { "@sentry/core": {
...@@ -22717,24 +22631,6 @@ ...@@ -22717,24 +22631,6 @@
"integrity": "sha512-9YY+HQpXMTrF8HgRByjeQhd21GXAz2ktMPTcs6oWSj5HJR52fgsNoelMOmgigwcpt9j4tu4IVSaWaJB2n2TbvQ==", "integrity": "sha512-9YY+HQpXMTrF8HgRByjeQhd21GXAz2ktMPTcs6oWSj5HJR52fgsNoelMOmgigwcpt9j4tu4IVSaWaJB2n2TbvQ==",
"dev": true "dev": true
}, },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
...@@ -23028,12 +22924,6 @@ ...@@ -23028,12 +22924,6 @@
"randombytes": "^2.1.0", "randombytes": "^2.1.0",
"utf8": "3.0.0" "utf8": "3.0.0"
} }
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
} }
} }
}, },
...@@ -25897,6 +25787,14 @@ ...@@ -25897,6 +25787,14 @@
"semver": "^5.5.0", "semver": "^5.5.0",
"shebang-command": "^1.2.0", "shebang-command": "^1.2.0",
"which": "^1.2.9" "which": "^1.2.9"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
} }
}, },
"crypt": { "crypt": {
...@@ -28075,7 +27973,6 @@ ...@@ -28075,7 +27973,6 @@
"dependencies": { "dependencies": {
"@types/bn.js": { "@types/bn.js": {
"version": "4.11.6", "version": "4.11.6",
"integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28084,13 +27981,11 @@ ...@@ -28084,13 +27981,11 @@
}, },
"@types/node": { "@types/node": {
"version": "14.11.2", "version": "14.11.2",
"integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"@types/pbkdf2": { "@types/pbkdf2": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28099,7 +27994,6 @@ ...@@ -28099,7 +27994,6 @@
}, },
"@types/secp256k1": { "@types/secp256k1": {
"version": "4.0.1", "version": "4.0.1",
"integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28108,13 +28002,11 @@ ...@@ -28108,13 +28002,11 @@
}, },
"ansi-regex": { "ansi-regex": {
"version": "4.1.0", "version": "4.1.0",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28123,7 +28015,6 @@ ...@@ -28123,7 +28015,6 @@
}, },
"base-x": { "base-x": {
"version": "3.0.8", "version": "3.0.8",
"integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28132,25 +28023,21 @@ ...@@ -28132,25 +28023,21 @@
}, },
"blakejs": { "blakejs": {
"version": "1.1.0", "version": "1.1.0",
"integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"bn.js": { "bn.js": {
"version": "4.11.9", "version": "4.11.9",
"integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"brorand": { "brorand": {
"version": "1.1.0", "version": "1.1.0",
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"browserify-aes": { "browserify-aes": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28164,7 +28051,6 @@ ...@@ -28164,7 +28051,6 @@
}, },
"bs58": { "bs58": {
"version": "4.0.1", "version": "4.0.1",
"integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28173,7 +28059,6 @@ ...@@ -28173,7 +28059,6 @@
}, },
"bs58check": { "bs58check": {
"version": "2.1.2", "version": "2.1.2",
"integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28184,25 +28069,21 @@ ...@@ -28184,25 +28069,21 @@
}, },
"buffer-from": { "buffer-from": {
"version": "1.1.1", "version": "1.1.1",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"buffer-xor": { "buffer-xor": {
"version": "1.0.3", "version": "1.0.3",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"camelcase": { "camelcase": {
"version": "5.3.1", "version": "5.3.1",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"cipher-base": { "cipher-base": {
"version": "1.0.4", "version": "1.0.4",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28212,7 +28093,6 @@ ...@@ -28212,7 +28093,6 @@
}, },
"cliui": { "cliui": {
"version": "5.0.0", "version": "5.0.0",
"integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28223,7 +28103,6 @@ ...@@ -28223,7 +28103,6 @@
}, },
"color-convert": { "color-convert": {
"version": "1.9.3", "version": "1.9.3",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28232,13 +28111,11 @@ ...@@ -28232,13 +28111,11 @@
}, },
"color-name": { "color-name": {
"version": "1.1.3", "version": "1.1.3",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"create-hash": { "create-hash": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28251,7 +28128,6 @@ ...@@ -28251,7 +28128,6 @@
}, },
"create-hmac": { "create-hmac": {
"version": "1.1.7", "version": "1.1.7",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28265,7 +28141,6 @@ ...@@ -28265,7 +28141,6 @@
}, },
"cross-spawn": { "cross-spawn": {
"version": "6.0.5", "version": "6.0.5",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28278,13 +28153,11 @@ ...@@ -28278,13 +28153,11 @@
}, },
"decamelize": { "decamelize": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"elliptic": { "elliptic": {
"version": "6.5.3", "version": "6.5.3",
"integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28299,13 +28172,11 @@ ...@@ -28299,13 +28172,11 @@
}, },
"emoji-regex": { "emoji-regex": {
"version": "7.0.3", "version": "7.0.3",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"end-of-stream": { "end-of-stream": {
"version": "1.4.4", "version": "1.4.4",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28314,7 +28185,6 @@ ...@@ -28314,7 +28185,6 @@
}, },
"ethereum-cryptography": { "ethereum-cryptography": {
"version": "0.1.3", "version": "0.1.3",
"integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28337,7 +28207,6 @@ ...@@ -28337,7 +28207,6 @@
}, },
"ethereumjs-util": { "ethereumjs-util": {
"version": "6.2.1", "version": "6.2.1",
"integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28352,7 +28221,6 @@ ...@@ -28352,7 +28221,6 @@
}, },
"ethjs-util": { "ethjs-util": {
"version": "0.1.6", "version": "0.1.6",
"integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28362,7 +28230,6 @@ ...@@ -28362,7 +28230,6 @@
}, },
"evp_bytestokey": { "evp_bytestokey": {
"version": "1.0.3", "version": "1.0.3",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28372,7 +28239,6 @@ ...@@ -28372,7 +28239,6 @@
}, },
"execa": { "execa": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28387,7 +28253,6 @@ ...@@ -28387,7 +28253,6 @@
}, },
"find-up": { "find-up": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28396,13 +28261,11 @@ ...@@ -28396,13 +28261,11 @@
}, },
"get-caller-file": { "get-caller-file": {
"version": "2.0.5", "version": "2.0.5",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"get-stream": { "get-stream": {
"version": "4.1.0", "version": "4.1.0",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28411,7 +28274,6 @@ ...@@ -28411,7 +28274,6 @@
}, },
"hash-base": { "hash-base": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28422,7 +28284,6 @@ ...@@ -28422,7 +28284,6 @@
}, },
"hash.js": { "hash.js": {
"version": "1.1.7", "version": "1.1.7",
"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28432,7 +28293,6 @@ ...@@ -28432,7 +28293,6 @@
}, },
"hmac-drbg": { "hmac-drbg": {
"version": "1.0.1", "version": "1.0.1",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28443,43 +28303,36 @@ ...@@ -28443,43 +28303,36 @@
}, },
"inherits": { "inherits": {
"version": "2.0.4", "version": "2.0.4",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"invert-kv": { "invert-kv": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"is-hex-prefixed": { "is-hex-prefixed": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"is-stream": { "is-stream": {
"version": "1.1.0", "version": "1.1.0",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"isexe": { "isexe": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"keccak": { "keccak": {
"version": "3.0.1", "version": "3.0.1",
"integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28489,7 +28342,6 @@ ...@@ -28489,7 +28342,6 @@
}, },
"lcid": { "lcid": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28498,7 +28350,6 @@ ...@@ -28498,7 +28350,6 @@
}, },
"locate-path": { "locate-path": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28508,7 +28359,6 @@ ...@@ -28508,7 +28359,6 @@
}, },
"map-age-cleaner": { "map-age-cleaner": {
"version": "0.1.3", "version": "0.1.3",
"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28517,7 +28367,6 @@ ...@@ -28517,7 +28367,6 @@
}, },
"md5.js": { "md5.js": {
"version": "1.3.5", "version": "1.3.5",
"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28528,7 +28377,6 @@ ...@@ -28528,7 +28377,6 @@
}, },
"mem": { "mem": {
"version": "4.3.0", "version": "4.3.0",
"integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28539,43 +28387,36 @@ ...@@ -28539,43 +28387,36 @@
}, },
"mimic-fn": { "mimic-fn": {
"version": "2.1.0", "version": "2.1.0",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"minimalistic-assert": { "minimalistic-assert": {
"version": "1.0.1", "version": "1.0.1",
"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"minimalistic-crypto-utils": { "minimalistic-crypto-utils": {
"version": "1.0.1", "version": "1.0.1",
"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"node-addon-api": { "node-addon-api": {
"version": "2.0.2", "version": "2.0.2",
"integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"node-gyp-build": { "node-gyp-build": {
"version": "4.2.3", "version": "4.2.3",
"integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"npm-run-path": { "npm-run-path": {
"version": "2.0.2", "version": "2.0.2",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28584,7 +28425,6 @@ ...@@ -28584,7 +28425,6 @@
}, },
"once": { "once": {
"version": "1.4.0", "version": "1.4.0",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28593,7 +28433,6 @@ ...@@ -28593,7 +28433,6 @@
}, },
"os-locale": { "os-locale": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28604,25 +28443,21 @@ ...@@ -28604,25 +28443,21 @@
}, },
"p-defer": { "p-defer": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"p-finally": { "p-finally": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"p-is-promise": { "p-is-promise": {
"version": "2.1.0", "version": "2.1.0",
"integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"p-limit": { "p-limit": {
"version": "2.3.0", "version": "2.3.0",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28631,7 +28466,6 @@ ...@@ -28631,7 +28466,6 @@
}, },
"p-locate": { "p-locate": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28640,25 +28474,21 @@ ...@@ -28640,25 +28474,21 @@
}, },
"p-try": { "p-try": {
"version": "2.2.0", "version": "2.2.0",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"path-exists": { "path-exists": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"pbkdf2": { "pbkdf2": {
"version": "3.1.1", "version": "3.1.1",
"integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28671,7 +28501,6 @@ ...@@ -28671,7 +28501,6 @@
}, },
"pump": { "pump": {
"version": "3.0.0", "version": "3.0.0",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28681,7 +28510,6 @@ ...@@ -28681,7 +28510,6 @@
}, },
"randombytes": { "randombytes": {
"version": "2.1.0", "version": "2.1.0",
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28690,7 +28518,6 @@ ...@@ -28690,7 +28518,6 @@
}, },
"readable-stream": { "readable-stream": {
"version": "3.6.0", "version": "3.6.0",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28701,19 +28528,16 @@ ...@@ -28701,19 +28528,16 @@
}, },
"require-directory": { "require-directory": {
"version": "2.1.1", "version": "2.1.1",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"require-main-filename": { "require-main-filename": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"ripemd160": { "ripemd160": {
"version": "2.0.2", "version": "2.0.2",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28723,7 +28547,6 @@ ...@@ -28723,7 +28547,6 @@
}, },
"rlp": { "rlp": {
"version": "2.2.6", "version": "2.2.6",
"integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28732,19 +28555,16 @@ ...@@ -28732,19 +28555,16 @@
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.2.1", "version": "5.2.1",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"scrypt-js": { "scrypt-js": {
"version": "3.0.1", "version": "3.0.1",
"integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"secp256k1": { "secp256k1": {
"version": "4.0.2", "version": "4.0.2",
"integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28755,25 +28575,21 @@ ...@@ -28755,25 +28575,21 @@
}, },
"semver": { "semver": {
"version": "5.7.1", "version": "5.7.1",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"set-blocking": { "set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"setimmediate": { "setimmediate": {
"version": "1.0.5", "version": "1.0.5",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"sha.js": { "sha.js": {
"version": "2.4.11", "version": "2.4.11",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28783,7 +28599,6 @@ ...@@ -28783,7 +28599,6 @@
}, },
"shebang-command": { "shebang-command": {
"version": "1.2.0", "version": "1.2.0",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28792,25 +28607,21 @@ ...@@ -28792,25 +28607,21 @@
}, },
"shebang-regex": { "shebang-regex": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"signal-exit": { "signal-exit": {
"version": "3.0.3", "version": "3.0.3",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"source-map-support": { "source-map-support": {
"version": "0.5.12", "version": "0.5.12",
"integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28820,7 +28631,6 @@ ...@@ -28820,7 +28631,6 @@
}, },
"string_decoder": { "string_decoder": {
"version": "1.3.0", "version": "1.3.0",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28829,7 +28639,6 @@ ...@@ -28829,7 +28639,6 @@
}, },
"string-width": { "string-width": {
"version": "3.1.0", "version": "3.1.0",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28840,7 +28649,6 @@ ...@@ -28840,7 +28649,6 @@
}, },
"strip-ansi": { "strip-ansi": {
"version": "5.2.0", "version": "5.2.0",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28849,13 +28657,11 @@ ...@@ -28849,13 +28657,11 @@
}, },
"strip-eof": { "strip-eof": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"strip-hex-prefix": { "strip-hex-prefix": {
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28864,13 +28670,11 @@ ...@@ -28864,13 +28670,11 @@
}, },
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"which": { "which": {
"version": "1.3.1", "version": "1.3.1",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28879,13 +28683,11 @@ ...@@ -28879,13 +28683,11 @@
}, },
"which-module": { "which-module": {
"version": "2.0.0", "version": "2.0.0",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"wrap-ansi": { "wrap-ansi": {
"version": "5.1.0", "version": "5.1.0",
"integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28896,19 +28698,16 @@ ...@@ -28896,19 +28698,16 @@
}, },
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"y18n": { "y18n": {
"version": "4.0.0", "version": "4.0.0",
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"bundled": true, "bundled": true,
"dev": true "dev": true
}, },
"yargs": { "yargs": {
"version": "13.2.4", "version": "13.2.4",
"integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -28927,7 +28726,6 @@ ...@@ -28927,7 +28726,6 @@
}, },
"yargs-parser": { "yargs-parser": {
"version": "13.1.2", "version": "13.1.2",
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -32199,6 +31997,14 @@ ...@@ -32199,6 +31997,14 @@
"requires": { "requires": {
"object.getownpropertydescriptors": "^2.0.3", "object.getownpropertydescriptors": "^2.0.3",
"semver": "^5.7.0" "semver": "^5.7.0"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
} }
}, },
"node-fetch": { "node-fetch": {
...@@ -32336,6 +32142,14 @@ ...@@ -32336,6 +32142,14 @@
"resolve": "^1.10.0", "resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5", "semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1" "validate-npm-package-license": "^3.0.1"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
} }
}, },
"normalize-path": { "normalize-path": {
...@@ -33041,24 +32855,6 @@ ...@@ -33041,24 +32855,6 @@
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true "dev": true
}, },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"string-width": { "string-width": {
"version": "4.2.3", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
...@@ -33086,12 +32882,6 @@ ...@@ -33086,12 +32882,6 @@
"requires": { "requires": {
"ansi-regex": "^5.0.1" "ansi-regex": "^5.0.1"
} }
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
} }
} }
}, },
...@@ -33822,10 +33612,30 @@ ...@@ -33822,10 +33612,30 @@
"dev": true "dev": true
}, },
"semver": { "semver": {
"version": "5.7.1", "version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
},
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true "dev": true
}
}
}, },
"send": { "send": {
"version": "0.17.1", "version": "0.17.1",
...@@ -34442,6 +34252,12 @@ ...@@ -34442,6 +34252,12 @@
"glob": "^7.1.3" "glob": "^7.1.3"
} }
}, },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"string-width": { "string-width": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
...@@ -34952,12 +34768,6 @@ ...@@ -34952,12 +34768,6 @@
"requires": { "requires": {
"has-flag": "^3.0.0" "has-flag": "^3.0.0"
} }
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
} }
} }
}, },
...@@ -35029,15 +34839,6 @@ ...@@ -35029,15 +34839,6 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"require-from-string": { "require-from-string": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
...@@ -35053,15 +34854,6 @@ ...@@ -35053,15 +34854,6 @@
"glob": "^7.1.3" "glob": "^7.1.3"
} }
}, },
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"solc": { "solc": {
"version": "0.6.12", "version": "0.6.12",
"resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz",
...@@ -35085,12 +34877,6 @@ ...@@ -35085,12 +34877,6 @@
"dev": true "dev": true
} }
} }
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
} }
} }
}, },
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"private": true, "private": true,
"name": "openzeppelin-solidity", "name": "openzeppelin-solidity",
"description": "Secure Smart Contract library for Solidity", "description": "Secure Smart Contract library for Solidity",
"version": "4.4.1", "version": "4.4.2",
"files": [ "files": [
"/contracts/**/*.sol", "/contracts/**/*.sol",
"/build/contracts/*.json", "/build/contracts/*.json",
...@@ -79,6 +79,7 @@ ...@@ -79,6 +79,7 @@
"prettier": "^2.3.0", "prettier": "^2.3.0",
"prettier-plugin-solidity": "^1.0.0-beta.16", "prettier-plugin-solidity": "^1.0.0-beta.16",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"semver": "^7.3.5",
"solhint": "^3.3.6", "solhint": "^3.3.6",
"solidity-ast": "^0.4.25", "solidity-ast": "^0.4.25",
"solidity-coverage": "^0.7.11", "solidity-coverage": "^0.7.11",
......
#!/usr/bin/env node #!/usr/bin/env node
const fs = require('fs'); const fs = require('fs');
const glob = require('glob');
const proc = require('child_process'); const proc = require('child_process');
const semver = require('semver');
const run = (cmd, ...args) => proc.execFileSync(cmd, args, { encoding: 'utf8' }).trim();
const gitStatus = proc.execFileSync('git', ['status', '--porcelain', '-uno', 'contracts/**/*.sol']); const gitStatus = run('git', 'status', '--porcelain', '-uno', 'contracts/**/*.sol');
if (gitStatus.length > 0) { if (gitStatus.length > 0) {
console.error('Contracts directory is not clean'); console.error('Contracts directory is not clean');
process.exit(1); process.exit(1);
...@@ -13,15 +12,24 @@ if (gitStatus.length > 0) { ...@@ -13,15 +12,24 @@ if (gitStatus.length > 0) {
const { version } = require('../../package.json'); const { version } = require('../../package.json');
const files = glob.sync('contracts/!(mocks)/**/*.sol'); // Get latest tag according to semver.
const [ tag ] = run('git', 'tag')
.split(/\r?\n/)
.filter(v => semver.lt(semver.coerce(v), version)) // only consider older tags, ignore current prereleases
.sort(semver.rcompare);
// Ordering tag → HEAD is important here.
const files = run('git', 'diff', tag, 'HEAD', '--name-only', 'contracts/**/*.sol')
.split(/\r?\n/)
.filter(file => file && !file.match(/mock/i));
for (const file of files) { for (const file of files) {
const current = fs.readFileSync(file, 'utf8'); const current = fs.readFileSync(file, 'utf8');
const updated = current.replace( const updated = current.replace(
/(\/\/ SPDX-License-Identifier:.*)$(\n\/\/ OpenZeppelin Contracts v.*$)?/m, /(\/\/ SPDX-License-Identifier:.*)$(\n\/\/ OpenZeppelin Contracts .*$)?/m,
`$1\n// OpenZeppelin Contracts v${version} (${file.replace('contracts/', '')})`, `$1\n// OpenZeppelin Contracts (last updated v${version}) (${file.replace('contracts/', '')})`,
); );
fs.writeFileSync(file, updated); fs.writeFileSync(file, updated);
} }
proc.execFileSync('git', ['add', '--update', 'contracts']); run('git', 'add', '--update', 'contracts');
...@@ -18,11 +18,47 @@ function tryGet (obj, path = '') { ...@@ -18,11 +18,47 @@ function tryGet (obj, path = '') {
} }
} }
function zip (...args) {
return Array(Math.max(...args.map(array => array.length)))
.fill()
.map((_, i) => args.map(array => array[i]));
}
function concatHex (...args) {
return web3.utils.bytesToHex([].concat(...args.map(h => web3.utils.hexToBytes(h || '0x'))));
}
function runGovernorWorkflow () { function runGovernorWorkflow () {
beforeEach(async function () { beforeEach(async function () {
this.receipts = {}; this.receipts = {};
// distinguish depending on the proposal length
// - length 4: propose(address[], uint256[], bytes[], string) → GovernorCore
// - length 5: propose(address[], uint256[], string[], bytes[], string) → GovernorCompatibilityBravo
this.useCompatibilityInterface = this.settings.proposal.length === 5;
// compute description hash
this.descriptionHash = web3.utils.keccak256(this.settings.proposal.slice(-1).find(Boolean)); this.descriptionHash = web3.utils.keccak256(this.settings.proposal.slice(-1).find(Boolean));
this.id = await this.mock.hashProposal(...this.settings.proposal.slice(0, -1), this.descriptionHash);
// condensed proposal, used for queue and execute operation
this.settings.shortProposal = [
// targets
this.settings.proposal[0],
// values
this.settings.proposal[1],
// calldata (prefix selector if necessary)
this.useCompatibilityInterface
? zip(
this.settings.proposal[2].map(selector => selector && web3.eth.abi.encodeFunctionSignature(selector)),
this.settings.proposal[3],
).map(hexs => concatHex(...hexs))
: this.settings.proposal[2],
// descriptionHash
this.descriptionHash,
];
// proposal id
this.id = await this.mock.hashProposal(...this.settings.shortProposal);
}); });
it('run', async function () { it('run', async function () {
...@@ -38,7 +74,11 @@ function runGovernorWorkflow () { ...@@ -38,7 +74,11 @@ function runGovernorWorkflow () {
// propose // propose
if (this.mock.propose && tryGet(this.settings, 'steps.propose.enable') !== false) { if (this.mock.propose && tryGet(this.settings, 'steps.propose.enable') !== false) {
this.receipts.propose = await getReceiptOrRevert( this.receipts.propose = await getReceiptOrRevert(
this.mock.methods['propose(address[],uint256[],bytes[],string)']( this.mock.methods[
this.useCompatibilityInterface
? 'propose(address[],uint256[],string[],bytes[],string)'
: 'propose(address[],uint256[],bytes[],string)'
](
...this.settings.proposal, ...this.settings.proposal,
{ from: this.settings.proposer }, { from: this.settings.proposer },
), ),
...@@ -98,9 +138,13 @@ function runGovernorWorkflow () { ...@@ -98,9 +138,13 @@ function runGovernorWorkflow () {
// queue // queue
if (this.mock.queue && tryGet(this.settings, 'steps.queue.enable') !== false) { if (this.mock.queue && tryGet(this.settings, 'steps.queue.enable') !== false) {
this.receipts.queue = await getReceiptOrRevert( this.receipts.queue = await getReceiptOrRevert(
this.mock.methods['queue(address[],uint256[],bytes[],bytes32)']( this.useCompatibilityInterface
...this.settings.proposal.slice(0, -1), ? this.mock.methods['queue(uint256)'](
this.descriptionHash, this.id,
{ from: this.settings.queuer },
)
: this.mock.methods['queue(address[],uint256[],bytes[],bytes32)'](
...this.settings.shortProposal,
{ from: this.settings.queuer }, { from: this.settings.queuer },
), ),
tryGet(this.settings, 'steps.queue.error'), tryGet(this.settings, 'steps.queue.error'),
...@@ -114,9 +158,13 @@ function runGovernorWorkflow () { ...@@ -114,9 +158,13 @@ function runGovernorWorkflow () {
// execute // execute
if (this.mock.execute && tryGet(this.settings, 'steps.execute.enable') !== false) { if (this.mock.execute && tryGet(this.settings, 'steps.execute.enable') !== false) {
this.receipts.execute = await getReceiptOrRevert( this.receipts.execute = await getReceiptOrRevert(
this.mock.methods['execute(address[],uint256[],bytes[],bytes32)']( this.useCompatibilityInterface
...this.settings.proposal.slice(0, -1), ? this.mock.methods['execute(uint256)'](
this.descriptionHash, this.id,
{ from: this.settings.executer },
)
: this.mock.methods['execute(address[],uint256[],bytes[],bytes32)'](
...this.settings.shortProposal,
{ from: this.settings.executer }, { from: this.settings.executer },
), ),
tryGet(this.settings, 'steps.execute.error'), tryGet(this.settings, 'steps.execute.error'),
......
const { BN, expectEvent, expectRevert, time } = require('@openzeppelin/test-helpers'); const { BN, expectEvent, expectRevert } = require('@openzeppelin/test-helpers');
const Enums = require('../../helpers/enums'); const Enums = require('../../helpers/enums');
const RLP = require('rlp'); const RLP = require('rlp');
...@@ -11,24 +11,6 @@ const Timelock = artifacts.require('CompTimelock'); ...@@ -11,24 +11,6 @@ const Timelock = artifacts.require('CompTimelock');
const Governor = artifacts.require('GovernorCompatibilityBravoMock'); const Governor = artifacts.require('GovernorCompatibilityBravoMock');
const CallReceiver = artifacts.require('CallReceiverMock'); const CallReceiver = artifacts.require('CallReceiverMock');
async function getReceiptOrRevert (promise, error = undefined) {
if (error) {
await expectRevert(promise, error);
return undefined;
} else {
const { receipt } = await promise;
return receipt;
}
}
function tryGet (obj, path = '') {
try {
return path.split('.').reduce((o, k) => o[k], obj);
} catch (_) {
return undefined;
}
}
function makeContractAddress (creator, nonce) { function makeContractAddress (creator, nonce) {
return web3.utils.toChecksumAddress(web3.utils.sha3(RLP.encode([creator, nonce])).slice(12).substring(14)); return web3.utils.toChecksumAddress(web3.utils.sha3(RLP.encode([creator, nonce])).slice(12).substring(14));
} }
...@@ -194,6 +176,67 @@ contract('GovernorCompatibilityBravo', function (accounts) { ...@@ -194,6 +176,67 @@ contract('GovernorCompatibilityBravo', function (accounts) {
runGovernorWorkflow(); runGovernorWorkflow();
}); });
describe('with function selector and arguments', function () {
beforeEach(async function () {
this.settings = {
proposal: [
Array(4).fill(this.receiver.address),
Array(4).fill(web3.utils.toWei('0')),
[
'',
'',
'mockFunctionNonPayable()',
'mockFunctionWithArgs(uint256,uint256)',
],
[
this.receiver.contract.methods.mockFunction().encodeABI(),
this.receiver.contract.methods.mockFunctionWithArgs(17, 42).encodeABI(),
'0x',
web3.eth.abi.encodeParameters(['uint256', 'uint256'], [18, 43]),
],
'<proposal description>', // description
],
proposer,
tokenHolder: owner,
voters: [
{
voter: voter1,
weight: web3.utils.toWei('10'),
support: Enums.VoteType.For,
},
],
steps: {
queue: { delay: 7 * 86400 },
},
};
});
runGovernorWorkflow();
afterEach(async function () {
await expectEvent.inTransaction(
this.receipts.execute.transactionHash,
this.receiver,
'MockFunctionCalled',
);
await expectEvent.inTransaction(
this.receipts.execute.transactionHash,
this.receiver,
'MockFunctionCalled',
);
await expectEvent.inTransaction(
this.receipts.execute.transactionHash,
this.receiver,
'MockFunctionCalledWithArgs',
{ a: '17', b: '42' },
);
await expectEvent.inTransaction(
this.receipts.execute.transactionHash,
this.receiver,
'MockFunctionCalledWithArgs',
{ a: '18', b: '43' },
);
});
});
describe('proposalThreshold not reached', function () { describe('proposalThreshold not reached', function () {
beforeEach(async function () { beforeEach(async function () {
this.settings = { this.settings = {
...@@ -266,8 +309,8 @@ contract('GovernorCompatibilityBravo', function (accounts) { ...@@ -266,8 +309,8 @@ contract('GovernorCompatibilityBravo', function (accounts) {
proposal: [ proposal: [
[ this.receiver.address ], // targets [ this.receiver.address ], // targets
[ web3.utils.toWei('0') ], // values [ web3.utils.toWei('0') ], // values
[ '' ], // signatures [ 'mockFunction()' ], // signatures
[ this.receiver.contract.methods.mockFunction().encodeABI() ], // calldatas [ '0x' ], // calldatas
'<proposal description>', // description '<proposal description>', // description
], ],
proposer, proposer,
...@@ -351,8 +394,8 @@ contract('GovernorCompatibilityBravo', function (accounts) { ...@@ -351,8 +394,8 @@ contract('GovernorCompatibilityBravo', function (accounts) {
proposer, proposer,
targets: this.settings.proposal[0], targets: this.settings.proposal[0],
// values: this.settings.proposal[1].map(value => new BN(value)), // values: this.settings.proposal[1].map(value => new BN(value)),
signatures: this.settings.proposal[2], signatures: this.settings.proposal[2].map(_ => ''),
calldatas: this.settings.proposal[3], calldatas: this.settings.shortProposal[2],
startBlock: new BN(this.receipts.propose.blockNumber).add(this.votingDelay), startBlock: new BN(this.receipts.propose.blockNumber).add(this.votingDelay),
endBlock: new BN(this.receipts.propose.blockNumber).add(this.votingDelay).add(this.votingPeriod), endBlock: new BN(this.receipts.propose.blockNumber).add(this.votingDelay).add(this.votingPeriod),
description: this.settings.proposal[4], description: this.settings.proposal[4],
...@@ -378,98 +421,6 @@ contract('GovernorCompatibilityBravo', function (accounts) { ...@@ -378,98 +421,6 @@ contract('GovernorCompatibilityBravo', function (accounts) {
'MockFunctionCalled', 'MockFunctionCalled',
); );
}); });
runGovernorWorkflow();
it('run', async function () {
// transfer tokens
if (tryGet(this.settings, 'voters')) {
for (const voter of this.settings.voters) {
if (voter.weight) {
await this.token.transfer(voter.voter, voter.weight, { from: this.settings.tokenHolder });
}
}
}
// propose
if (this.mock.propose && tryGet(this.settings, 'steps.propose.enable') !== false) {
this.receipts.propose = await getReceiptOrRevert(
this.mock.methods['propose(address[],uint256[],string[],bytes[],string)'](
...this.settings.proposal,
{ from: this.settings.proposer },
),
tryGet(this.settings, 'steps.propose.error'),
);
if (tryGet(this.settings, 'steps.propose.error') === undefined) {
this.id = this.receipts.propose.logs.find(({ event }) => event === 'ProposalCreated').args.proposalId;
this.snapshot = await this.mock.proposalSnapshot(this.id);
this.deadline = await this.mock.proposalDeadline(this.id);
}
if (tryGet(this.settings, 'steps.propose.delay')) {
await time.increase(tryGet(this.settings, 'steps.propose.delay'));
}
if (
tryGet(this.settings, 'steps.propose.error') === undefined &&
tryGet(this.settings, 'steps.propose.noadvance') !== true
) {
await time.advanceBlockTo(this.snapshot);
}
}
// vote
if (tryGet(this.settings, 'voters')) {
this.receipts.castVote = [];
for (const voter of this.settings.voters) {
if (!voter.signature) {
this.receipts.castVote.push(
await getReceiptOrRevert(
this.mock.castVote(this.id, voter.support, { from: voter.voter }),
voter.error,
),
);
} else {
const { v, r, s } = await voter.signature({ proposalId: this.id, support: voter.support });
this.receipts.castVote.push(
await getReceiptOrRevert(
this.mock.castVoteBySig(this.id, voter.support, v, r, s),
voter.error,
),
);
}
if (tryGet(voter, 'delay')) {
await time.increase(tryGet(voter, 'delay'));
}
}
}
// fast forward
if (tryGet(this.settings, 'steps.wait.enable') !== false) {
await time.advanceBlockTo(this.deadline);
}
// queue
if (this.mock.queue && tryGet(this.settings, 'steps.queue.enable') !== false) {
this.receipts.queue = await getReceiptOrRevert(
this.mock.methods['queue(uint256)'](this.id, { from: this.settings.queuer }),
tryGet(this.settings, 'steps.queue.error'),
);
this.eta = await this.mock.proposalEta(this.id);
if (tryGet(this.settings, 'steps.queue.delay')) {
await time.increase(tryGet(this.settings, 'steps.queue.delay'));
}
}
// execute
if (this.mock.execute && tryGet(this.settings, 'steps.execute.enable') !== false) {
this.receipts.execute = await getReceiptOrRevert(
this.mock.methods['execute(uint256)'](this.id, { from: this.settings.executer }),
tryGet(this.settings, 'steps.execute.error'),
);
if (tryGet(this.settings, 'steps.execute.delay')) {
await time.increase(tryGet(this.settings, 'steps.execute.delay'));
}
}
});
}); });
}); });
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment