@openzeppelin/upgrades-core 1.20.6 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
- package/artifacts/build-info.json +117 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +4 -0
- package/dist/provider.js.map +1 -1
- package/dist/src-decoder.js +1 -1
- package/dist/src-decoder.js.map +1 -1
- package/dist/validate/query.d.ts.map +1 -1
- package/dist/validate/query.js +12 -8
- package/dist/validate/query.js.map +1 -1
- package/dist/validate/run.d.ts +5 -0
- package/dist/validate/run.d.ts.map +1 -1
- package/dist/validate/run.js +140 -26
- package/dist/validate/run.js.map +1 -1
- package/dist/validate/run.test.d.ts +2 -0
- package/dist/validate/run.test.d.ts.map +1 -0
- package/dist/validate/run.test.js +43 -0
- package/dist/validate/run.test.js.map +1 -0
- package/dist/validate-ignore-errors.test.d.ts +2 -0
- package/dist/validate-ignore-errors.test.d.ts.map +1 -0
- package/dist/validate-ignore-errors.test.js +123 -0
- package/dist/validate-ignore-errors.test.js.map +1 -0
- package/package.json +2 -2
- package/src/provider.ts +4 -0
- package/src/src-decoder.ts +1 -1
- package/src/validate/query.ts +15 -11
- package/src/validate/run.test.ts +49 -0
- package/src/validate/run.ts +220 -31
- package/src/validate-ignore-errors.test.ts +137 -0
package/dist/validate/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/validate/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/validate/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.test.d.ts","sourceRoot":"","sources":["../../src/validate/run.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ava_1 = __importDefault(require("ava"));
|
|
7
|
+
const run_1 = require("./run");
|
|
8
|
+
(0, ava_1.default)('getAnnotationArgs', t => {
|
|
9
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor selfdestruct';
|
|
10
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
11
|
+
});
|
|
12
|
+
(0, ava_1.default)('getAnnotationArgs no arg', t => {
|
|
13
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow';
|
|
14
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), []);
|
|
15
|
+
});
|
|
16
|
+
(0, ava_1.default)('getAnnotationArgs space no arg', t => {
|
|
17
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow ';
|
|
18
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), []);
|
|
19
|
+
});
|
|
20
|
+
(0, ava_1.default)('getAnnotationArgs whitespace at end', t => {
|
|
21
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor ';
|
|
22
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), ['constructor']);
|
|
23
|
+
});
|
|
24
|
+
(0, ava_1.default)('getAnnotationArgs same type', t => {
|
|
25
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor\n @custom:oz-upgrades-unsafe-allow selfdestruct';
|
|
26
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
27
|
+
});
|
|
28
|
+
(0, ava_1.default)('getAnnotationArgs multiline', t => {
|
|
29
|
+
const doc = ' othercomments\n @custom:oz-upgrades-unsafe-allow constructor selfdestruct\n @custom:oz-upgrades-unsafe-allow-reachable delegatecall';
|
|
30
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
31
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow-reachable'), ['delegatecall']);
|
|
32
|
+
});
|
|
33
|
+
(0, ava_1.default)('getAnnotationArgs multiline with spaces and comments', t => {
|
|
34
|
+
const doc = ' some other comments\n @custom:oz-upgrades-unsafe-allow \n constructor \n selfdestruct \n @custom:oz-upgrades-unsafe-allow-reachable \n delegatecall';
|
|
35
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
36
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow-reachable'), ['delegatecall']);
|
|
37
|
+
});
|
|
38
|
+
(0, ava_1.default)('getAnnotationArgs multiline multiple preceding spaces', t => {
|
|
39
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor selfdestruct \n @custom:oz-upgrades-unsafe-allow-reachable delegatecall ';
|
|
40
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
41
|
+
t.deepEqual((0, run_1.getAnnotationArgs)(doc, 'oz-upgrades-unsafe-allow-reachable'), ['delegatecall']);
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=run.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.test.js","sourceRoot":"","sources":["../../src/validate/run.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AAEvB,+BAA0C;AAE1C,IAAA,aAAI,EAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE;IAC5B,MAAM,GAAG,GAAG,4DAA4D,CAAC;IACzE,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE;IACnC,MAAM,GAAG,GAAG,mCAAmC,CAAC;IAChD,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE;IACzC,MAAM,GAAG,GAAG,oCAAoC,CAAC;IACjD,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE;IAC9C,MAAM,GAAG,GAAG,gDAAgD,CAAC;IAC7D,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE;IACtC,MAAM,GAAG,GAAG,+FAA+F,CAAC;IAC5G,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE;IACtC,MAAM,GAAG,GACP,sIAAsI,CAAC;IACzI,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,oCAAoC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAC/D,MAAM,GAAG,GACP,mKAAmK,CAAC;IACtK,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,oCAAoC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE;IAChE,MAAM,GAAG,GACP,mIAAmI,CAAC;IACtI,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,SAAS,CAAC,IAAA,uBAAiB,EAAC,GAAG,EAAE,oCAAoC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-ignore-errors.test.d.ts","sourceRoot":"","sources":["../src/validate-ignore-errors.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ava_1 = __importDefault(require("ava"));
|
|
7
|
+
const hardhat_1 = require("hardhat");
|
|
8
|
+
const validate_1 = require("./validate");
|
|
9
|
+
const src_decoder_1 = require("./src-decoder");
|
|
10
|
+
const test = ava_1.default;
|
|
11
|
+
test.before(async (t) => {
|
|
12
|
+
const contracts = [
|
|
13
|
+
'contracts/test/ignore-errors/SafeContract.sol:SafeContract',
|
|
14
|
+
'contracts/test/ignore-errors/SafeContractWithFreeFunctionCall.sol:SafeContractWithFreeFunctionCall',
|
|
15
|
+
'contracts/test/ignore-errors/SafeContractWithLibraryCall.sol:SafeContractWithLibraryCall',
|
|
16
|
+
'contracts/test/ignore-errors/SafeContractWithLibraryImport.sol:SafeContractWithLibraryImport',
|
|
17
|
+
'contracts/test/ignore-errors/SafeContractWithLibraryUsingFor.sol:SafeContractWithLibraryUsingFor',
|
|
18
|
+
'contracts/test/ignore-errors/SafeContractWithTransitiveLibraryCall.sol:SafeContractWithTransitiveLibraryCall',
|
|
19
|
+
'contracts/test/ignore-errors/SafeContractWithParentCall.sol:SafeContractWithParentCall',
|
|
20
|
+
'contracts/test/ignore-errors/RiskyParentContract.sol:RiskyParentContract',
|
|
21
|
+
'contracts/test/ignore-errors/UnsafeContract.sol:UnsafeContract',
|
|
22
|
+
'contracts/test/ignore-errors/UnsafeContractWithFreeFunctionCall.sol:UnsafeContractWithFreeFunctionCall',
|
|
23
|
+
'contracts/test/ignore-errors/UnsafeContractWithLibraryCall.sol:UnsafeContractWithLibraryCall',
|
|
24
|
+
'contracts/test/ignore-errors/UnsafeContractWithLibraryUsingFor.sol:UnsafeContractWithLibraryUsingFor',
|
|
25
|
+
'contracts/test/ignore-errors/UnsafeContractWithTransitiveLibraryCall.sol:UnsafeContractWithTransitiveLibraryCall',
|
|
26
|
+
'contracts/test/ignore-errors/UnsafeContractWithParentCall.sol:UnsafeContractWithParentCall',
|
|
27
|
+
'contracts/test/ignore-errors/UnsafeContractWithInheritedParent.sol:UnsafeContractWithInheritedParent',
|
|
28
|
+
'contracts/test/ignore-errors/UnsafeContractWithInheritedTransitiveParent.sol:UnsafeContractWithInheritedTransitiveParent',
|
|
29
|
+
'contracts/test/ignore-errors/UnsafeAllow.sol:UnsafeAllow',
|
|
30
|
+
'contracts/test/ignore-errors/AllowReachable.sol:AllowReachable',
|
|
31
|
+
'contracts/test/ignore-errors/UnsafeAllowReachableDifferentOpcode.sol:UnsafeAllowReachableDifferentOpcode',
|
|
32
|
+
'contracts/test/ignore-errors/UnsafeAllowParent.sol:UnsafeAllowParent',
|
|
33
|
+
'contracts/test/ignore-errors/AllowReachableParent.sol:AllowReachableParent',
|
|
34
|
+
'contracts/test/ignore-errors/UnsafeAllowReachableParentDifferentOpcode.sol:UnsafeAllowReachableParentDifferentOpcode',
|
|
35
|
+
'contracts/test/ignore-errors/AllowChildInheritedTransitive.sol:AllowChildInheritedTransitive',
|
|
36
|
+
'contracts/test/ignore-errors/AllowChild.sol:AllowChild',
|
|
37
|
+
'contracts/test/ignore-errors/AllowChildCallTransitive.sol:AllowChildCallTransitive',
|
|
38
|
+
'contracts/test/ignore-errors/AllowChildSelfReachable.sol:AllowChildSelfReachable',
|
|
39
|
+
'contracts/test/ignore-errors/SafeRecursion.sol:SafeRecursion',
|
|
40
|
+
'contracts/test/ignore-errors/UnsafeRecursion.sol:UnsafeRecursion',
|
|
41
|
+
'contracts/test/ignore-errors/Constructors.sol:UnsafeChild1',
|
|
42
|
+
'contracts/test/ignore-errors/Constructors.sol:UnsafeChild2',
|
|
43
|
+
'contracts/test/ignore-errors/Constructors.sol:UnsafeChild3',
|
|
44
|
+
'contracts/test/ignore-errors/Constructors.sol:UnsafeChild4',
|
|
45
|
+
'contracts/test/ignore-errors/Constructors.sol:AllowChild5',
|
|
46
|
+
'contracts/test/ignore-errors/Constructors.sol:AllowChild6',
|
|
47
|
+
'contracts/test/ignore-errors/Constructors.sol:UnsafeAllowChild7',
|
|
48
|
+
'contracts/test/ignore-errors/Constructors.sol:AllowReachableChild8',
|
|
49
|
+
'contracts/test/ignore-errors/Constructors.sol:UnsafeChild9',
|
|
50
|
+
// 'contracts/test/ignore-errors/Modifiers.sol:ModifierNotUsed',
|
|
51
|
+
'contracts/test/ignore-errors/Modifiers.sol:ModifierUsed',
|
|
52
|
+
];
|
|
53
|
+
t.context.validation = {};
|
|
54
|
+
for (const contract of contracts) {
|
|
55
|
+
const buildInfo = await hardhat_1.artifacts.getBuildInfo(contract);
|
|
56
|
+
if (buildInfo === undefined) {
|
|
57
|
+
throw new Error(`Build info not found for contract ${contract}`);
|
|
58
|
+
}
|
|
59
|
+
const solcOutput = buildInfo.output;
|
|
60
|
+
const solcInput = buildInfo.input;
|
|
61
|
+
const decodeSrc = (0, src_decoder_1.solcInputOutputDecoder)(solcInput, solcOutput);
|
|
62
|
+
Object.assign(t.context.validation, (0, validate_1.validate)(solcOutput, decodeSrc));
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
function testValid(name, kind, valid) {
|
|
66
|
+
testOverride(name, kind, {}, valid);
|
|
67
|
+
}
|
|
68
|
+
function testOverride(name, kind, opts, valid) {
|
|
69
|
+
const optKeys = Object.keys(opts);
|
|
70
|
+
const describeOpts = optKeys.length > 0 ? '(' + optKeys.join(', ') + ')' : '';
|
|
71
|
+
const testName = [valid ? 'accepts' : 'rejects', kind, name, describeOpts].join(' ');
|
|
72
|
+
test(testName, t => {
|
|
73
|
+
const version = (0, validate_1.getContractVersion)(t.context.validation, name);
|
|
74
|
+
const assertUpgSafe = () => (0, validate_1.assertUpgradeSafe)([t.context.validation], version, { kind, ...opts });
|
|
75
|
+
if (valid) {
|
|
76
|
+
t.notThrows(assertUpgSafe);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
t.throws(assertUpgSafe);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
testValid('SafeContract', 'transparent', true);
|
|
84
|
+
testValid('SafeContractWithFreeFunctionCall', 'transparent', true);
|
|
85
|
+
testValid('SafeContractWithLibraryCall', 'transparent', true);
|
|
86
|
+
testValid('SafeContractWithLibraryImport', 'transparent', true);
|
|
87
|
+
testValid('SafeContractWithLibraryUsingFor', 'transparent', true);
|
|
88
|
+
testValid('SafeContractWithTransitiveLibraryCall', 'transparent', true);
|
|
89
|
+
testValid('SafeContractWithParentCall', 'transparent', true);
|
|
90
|
+
testValid('RiskyParentContract', 'transparent', false);
|
|
91
|
+
testValid('UnsafeContract', 'transparent', false);
|
|
92
|
+
testValid('UnsafeContractWithFreeFunctionCall', 'transparent', false);
|
|
93
|
+
testValid('UnsafeContractWithLibraryCall', 'transparent', false);
|
|
94
|
+
testValid('UnsafeContractWithLibraryUsingFor', 'transparent', false);
|
|
95
|
+
testValid('UnsafeContractWithTransitiveLibraryCall', 'transparent', false);
|
|
96
|
+
testValid('UnsafeContractWithParentCall', 'transparent', false);
|
|
97
|
+
testValid('UnsafeContractWithInheritedParent', 'transparent', false);
|
|
98
|
+
testValid('UnsafeContractWithInheritedTransitiveParent', 'transparent', false);
|
|
99
|
+
testValid('UnsafeAllow', 'transparent', false);
|
|
100
|
+
testValid('AllowReachable', 'transparent', true);
|
|
101
|
+
testValid('UnsafeAllowReachableDifferentOpcode', 'transparent', false);
|
|
102
|
+
testValid('UnsafeAllowParent', 'transparent', false);
|
|
103
|
+
testValid('AllowReachableParent', 'transparent', true);
|
|
104
|
+
testValid('UnsafeAllowReachableParentDifferentOpcode', 'transparent', false);
|
|
105
|
+
testValid('AllowChildInheritedTransitive', 'transparent', true);
|
|
106
|
+
testValid('AllowChild', 'transparent', true);
|
|
107
|
+
testValid('AllowChildCallTransitive', 'transparent', true);
|
|
108
|
+
testValid('AllowChildSelfReachable', 'transparent', true);
|
|
109
|
+
testValid('SafeRecursion', 'transparent', true);
|
|
110
|
+
testValid('UnsafeRecursion', 'transparent', false);
|
|
111
|
+
testValid('UnsafeChild1', 'transparent', false);
|
|
112
|
+
testValid('UnsafeChild2', 'transparent', false);
|
|
113
|
+
testValid('UnsafeChild3', 'transparent', false);
|
|
114
|
+
testValid('UnsafeChild4', 'transparent', false);
|
|
115
|
+
testValid('AllowChild5', 'transparent', true);
|
|
116
|
+
testValid('AllowChild6', 'transparent', true);
|
|
117
|
+
testValid('UnsafeAllowChild7', 'transparent', false);
|
|
118
|
+
testValid('AllowReachableChild8', 'transparent', true);
|
|
119
|
+
testValid('UnsafeChild9', 'transparent', false);
|
|
120
|
+
// TODO: do not throw an error in this case
|
|
121
|
+
// testValid('ModifierNotUsed', 'transparent', true);
|
|
122
|
+
testValid('ModifierUsed', 'transparent', false);
|
|
123
|
+
//# sourceMappingURL=validate-ignore-errors.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-ignore-errors.test.js","sourceRoot":"","sources":["../src/validate-ignore-errors.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openzeppelin/upgrades-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "https://github.com/OpenZeppelin/openzeppelin-upgrades/tree/master/packages/core",
|
|
6
6
|
"license": "MIT",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"proper-lockfile": "^4.1.1",
|
|
59
59
|
"solidity-ast": "^0.4.15"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "14a1d3a0e8e968f9963124f4ff135b261605ced2"
|
|
62
62
|
}
|
package/src/provider.ts
CHANGED
|
@@ -102,10 +102,14 @@ export const networkNames: { [chainId in number]?: string } = Object.freeze({
|
|
|
102
102
|
4: 'rinkeby',
|
|
103
103
|
5: 'goerli',
|
|
104
104
|
42: 'kovan',
|
|
105
|
+
56: 'bsc',
|
|
106
|
+
97: 'bsc-testnet',
|
|
105
107
|
137: 'polygon',
|
|
106
108
|
80001: 'polygon-mumbai',
|
|
107
109
|
43113: 'avalanche-fuji',
|
|
108
110
|
43114: 'avalanche',
|
|
111
|
+
42220: 'celo',
|
|
112
|
+
44787: 'celo-alfajores',
|
|
109
113
|
});
|
|
110
114
|
|
|
111
115
|
export async function isDevelopmentNetwork(provider: EthereumProvider): Promise<boolean> {
|
package/src/src-decoder.ts
CHANGED
|
@@ -19,7 +19,7 @@ export function solcInputOutputDecoder(solcInput: SolcInput, solcOutput: SolcOut
|
|
|
19
19
|
if (sourcePath === undefined) {
|
|
20
20
|
throw new Error(`Source file not available`);
|
|
21
21
|
}
|
|
22
|
-
const content = solcInput.sources[sourcePath]
|
|
22
|
+
const content = solcInput.sources[sourcePath]?.content;
|
|
23
23
|
const name = path.relative(basePath, sourcePath);
|
|
24
24
|
if (content === undefined) {
|
|
25
25
|
throw new Error(`Content for ${name} not available`);
|
package/src/validate/query.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Version, getVersion } from '../version';
|
|
2
|
-
import { ValidationRunData, ValidationError } from './run';
|
|
2
|
+
import { ValidationRunData, ValidationError, isOpcodeError } from './run';
|
|
3
3
|
import { StorageLayout } from '../storage/layout';
|
|
4
4
|
import { unlinkBytecode } from '../link-refs';
|
|
5
5
|
import { ValidationOptions, processExceptions } from './overrides';
|
|
@@ -143,9 +143,7 @@ export function getErrors(data: ValidationData, version: Version, opts: Validati
|
|
|
143
143
|
const [fullContractName, runValidation] = getContractNameAndRunValidation(dataV3, version);
|
|
144
144
|
const c = runValidation[fullContractName];
|
|
145
145
|
|
|
146
|
-
const errors =
|
|
147
|
-
name => runValidation[name].errors,
|
|
148
|
-
);
|
|
146
|
+
const errors = getAllErrors(runValidation, fullContractName);
|
|
149
147
|
|
|
150
148
|
const selfAndInheritedMethods = getAllMethods(runValidation, fullContractName);
|
|
151
149
|
|
|
@@ -159,21 +157,27 @@ export function getErrors(data: ValidationData, version: Version, opts: Validati
|
|
|
159
157
|
return processExceptions(fullContractName, errors, opts);
|
|
160
158
|
}
|
|
161
159
|
|
|
160
|
+
function getAllErrors(runValidation: ValidationRunData, fullContractName: string) {
|
|
161
|
+
// add self's opcode errors only, since opcode errors already include parents
|
|
162
|
+
const opcodeErrors = runValidation[fullContractName].errors.filter(error => isOpcodeError(error));
|
|
163
|
+
|
|
164
|
+
// add other errors from self and inherited contracts
|
|
165
|
+
const otherErrors = getUsedContracts(fullContractName, runValidation)
|
|
166
|
+
.flatMap(name => runValidation[name].errors)
|
|
167
|
+
.filter(error => !isOpcodeError(error));
|
|
168
|
+
|
|
169
|
+
return [...opcodeErrors, ...otherErrors];
|
|
170
|
+
}
|
|
171
|
+
|
|
162
172
|
function getAllMethods(runValidation: ValidationRunData, fullContractName: string): string[] {
|
|
163
173
|
const c = runValidation[fullContractName];
|
|
164
174
|
return c.methods.concat(...c.inherit.map(name => runValidation[name].methods));
|
|
165
175
|
}
|
|
166
176
|
|
|
167
|
-
function
|
|
177
|
+
function getUsedContracts(contractName: string, runValidation: ValidationRunData) {
|
|
168
178
|
const c = runValidation[contractName];
|
|
169
179
|
// Add current contract and all of its parents
|
|
170
180
|
const res = new Set([contractName, ...c.inherit]);
|
|
171
|
-
// Add used libraries transitively until no more are found
|
|
172
|
-
for (const c1 of res) {
|
|
173
|
-
for (const c2 of runValidation[c1].libraries) {
|
|
174
|
-
res.add(c2);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
181
|
return Array.from(res);
|
|
178
182
|
}
|
|
179
183
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
|
|
3
|
+
import { getAnnotationArgs } from './run';
|
|
4
|
+
|
|
5
|
+
test('getAnnotationArgs', t => {
|
|
6
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor selfdestruct';
|
|
7
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
test('getAnnotationArgs no arg', t => {
|
|
11
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow';
|
|
12
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), []);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
test('getAnnotationArgs space no arg', t => {
|
|
16
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow ';
|
|
17
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), []);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
test('getAnnotationArgs whitespace at end', t => {
|
|
21
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor ';
|
|
22
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), ['constructor']);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('getAnnotationArgs same type', t => {
|
|
26
|
+
const doc = ' @custom:oz-upgrades-unsafe-allow constructor\n @custom:oz-upgrades-unsafe-allow selfdestruct';
|
|
27
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('getAnnotationArgs multiline', t => {
|
|
31
|
+
const doc =
|
|
32
|
+
' othercomments\n @custom:oz-upgrades-unsafe-allow constructor selfdestruct\n @custom:oz-upgrades-unsafe-allow-reachable delegatecall';
|
|
33
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
34
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow-reachable'), ['delegatecall']);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test('getAnnotationArgs multiline with spaces and comments', t => {
|
|
38
|
+
const doc =
|
|
39
|
+
' some other comments\n @custom:oz-upgrades-unsafe-allow \n constructor \n selfdestruct \n @custom:oz-upgrades-unsafe-allow-reachable \n delegatecall';
|
|
40
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
41
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow-reachable'), ['delegatecall']);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('getAnnotationArgs multiline multiple preceding spaces', t => {
|
|
45
|
+
const doc =
|
|
46
|
+
' @custom:oz-upgrades-unsafe-allow constructor selfdestruct \n @custom:oz-upgrades-unsafe-allow-reachable delegatecall ';
|
|
47
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow'), ['constructor', 'selfdestruct']);
|
|
48
|
+
t.deepEqual(getAnnotationArgs(doc, 'oz-upgrades-unsafe-allow-reachable'), ['delegatecall']);
|
|
49
|
+
});
|