@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.
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run.test.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validate-ignore-errors.test.d.ts.map
@@ -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.20.6",
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": "56dd6059cc916a95378d9e5893306fbb9020f071"
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> {
@@ -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].content;
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`);
@@ -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 = getUsedContractsAndLibraries(fullContractName, runValidation).flatMap(
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 getUsedContractsAndLibraries(contractName: string, runValidation: ValidationRunData) {
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
+ });