|
|
|
@ -14,9 +14,9 @@ const testFiles = [ |
|
|
|
|
'assembly.sol', |
|
|
|
|
'ballot.sol', |
|
|
|
|
'ballot_reentrant.sol', |
|
|
|
|
// 'ballot_withoutWarnings.sol',
|
|
|
|
|
// 'cross_contract.sol',
|
|
|
|
|
// 'inheritance.sol',
|
|
|
|
|
'ballot_withoutWarnings.sol', |
|
|
|
|
'cross_contract.sol', |
|
|
|
|
'inheritance.sol', |
|
|
|
|
// 'modifier1.sol',
|
|
|
|
|
// 'modifier2.sol',
|
|
|
|
|
// 'notReentrant.sol',
|
|
|
|
@ -50,7 +50,7 @@ testFiles.forEach((fileName) => { |
|
|
|
|
test('Integration test thisLocal.js', function (t) { |
|
|
|
|
// console.log('testFileAsts---------',testFileAsts)
|
|
|
|
|
// t.plan(testFiles.length)
|
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/thisLocal').default |
|
|
|
|
|
|
|
|
@ -59,9 +59,9 @@ test('Integration test thisLocal.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 1, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -89,7 +89,7 @@ test('Integration test thisLocal.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test checksEffectsInteraction.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/checksEffectsInteraction').default |
|
|
|
|
|
|
|
|
@ -98,9 +98,9 @@ test('Integration test checksEffectsInteraction.js', function (t) { |
|
|
|
|
'assembly.sol': 1, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 1, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 1,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 1, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -128,7 +128,7 @@ test('Integration test checksEffectsInteraction.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test constantFunctions.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/constantFunctions').default |
|
|
|
|
|
|
|
|
@ -137,9 +137,9 @@ test('Integration test constantFunctions.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 1,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -167,7 +167,7 @@ test('Integration test constantFunctions.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test inlineAssembly.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/inlineAssembly').default |
|
|
|
|
|
|
|
|
@ -176,9 +176,9 @@ test('Integration test inlineAssembly.js', function (t) { |
|
|
|
|
'assembly.sol': 2, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -206,7 +206,7 @@ test('Integration test inlineAssembly.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test txOrigin.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/txOrigin').default |
|
|
|
|
|
|
|
|
@ -215,9 +215,9 @@ test('Integration test txOrigin.js', function (t) { |
|
|
|
|
'assembly.sol': 1, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -245,7 +245,7 @@ test('Integration test txOrigin.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test gasCosts.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/gasCosts').default |
|
|
|
|
|
|
|
|
@ -254,9 +254,9 @@ test('Integration test gasCosts.js', function (t) { |
|
|
|
|
'assembly.sol': 2, |
|
|
|
|
'ballot.sol': 3, |
|
|
|
|
'ballot_reentrant.sol': 2, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 1,
|
|
|
|
|
// 'inheritance.sol': 1,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 1, |
|
|
|
|
'inheritance.sol': 1, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 1,
|
|
|
|
|
// 'notReentrant.sol': 1,
|
|
|
|
@ -284,7 +284,7 @@ test('Integration test gasCosts.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test similarVariableNames.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/similarVariableNames').default |
|
|
|
|
|
|
|
|
@ -293,9 +293,9 @@ test('Integration test similarVariableNames.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 2, |
|
|
|
|
'ballot_reentrant.sol': 11, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 1,
|
|
|
|
@ -323,7 +323,7 @@ test('Integration test similarVariableNames.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test blockTimestamp.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/blockTimestamp').default |
|
|
|
|
|
|
|
|
@ -332,9 +332,9 @@ test('Integration test blockTimestamp.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 3, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -362,7 +362,7 @@ test('Integration test blockTimestamp.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test lowLevelCalls.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/lowLevelCalls').default |
|
|
|
|
|
|
|
|
@ -371,9 +371,9 @@ test('Integration test lowLevelCalls.js', function (t) { |
|
|
|
|
'assembly.sol': 1, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 7, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 1,
|
|
|
|
|
// 'inheritance.sol': 1,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 1, |
|
|
|
|
'inheritance.sol': 1, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 1,
|
|
|
|
@ -401,7 +401,7 @@ test('Integration test lowLevelCalls.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test blockBlockhash.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/blockBlockhash').default |
|
|
|
|
|
|
|
|
@ -410,9 +410,9 @@ test('Integration test blockBlockhash.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -439,51 +439,8 @@ test('Integration test blockBlockhash.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
// /*
|
|
|
|
|
|
|
|
|
|
// ! No return gives compilation error with solidity 0.5.0
|
|
|
|
|
|
|
|
|
|
// test('Integration test noReturn.js', function (t) {
|
|
|
|
|
// t.plan(testFiles.length)
|
|
|
|
|
|
|
|
|
|
// var module = require('../../dist/src/solidity-analyzer/modules/noReturn')
|
|
|
|
|
|
|
|
|
|
// var lengthCheck = {
|
|
|
|
|
// 'KingOfTheEtherThrone.sol': 0,
|
|
|
|
|
// 'assembly.sol': 1,
|
|
|
|
|
// 'ballot.sol': 0,
|
|
|
|
|
// 'ballot_reentrant.sol': 0,
|
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
// 'modifier1.sol': 1,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
|
// 'structReentrant.sol': 0,
|
|
|
|
|
// 'thisLocal.sol': 1,
|
|
|
|
|
// 'globals.sol': 0,
|
|
|
|
|
// 'library.sol': 0,
|
|
|
|
|
// 'transfer.sol': 0,
|
|
|
|
|
// 'ctor.sol': 0,
|
|
|
|
|
// 'forgottenReturn.sol': 1,
|
|
|
|
|
// 'selfdestruct.sol': 0,
|
|
|
|
|
// 'deleteDynamicArray.sol': 0,
|
|
|
|
|
// 'deleteFromDynamicArray.sol': 0,
|
|
|
|
|
// 'blockLevelCompare.sol': 0,
|
|
|
|
|
// 'intDivisionTruncate.sol': 0,
|
|
|
|
|
// 'ERC20.sol': 0,
|
|
|
|
|
// 'stringBytesLength.sol': 0,
|
|
|
|
|
// 'forLoopIteratesOverDynamicArray.sol': 0
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// runModuleOnFiles(module, t, (file, report) => {
|
|
|
|
|
// t.equal(report.length, lengthCheck[file], `${file} has right amount of noReturn warnings`)
|
|
|
|
|
// })
|
|
|
|
|
// })
|
|
|
|
|
// */
|
|
|
|
|
|
|
|
|
|
test('Integration test selfdestruct.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/selfdestruct').default |
|
|
|
|
|
|
|
|
@ -492,9 +449,9 @@ test('Integration test selfdestruct.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -522,7 +479,7 @@ test('Integration test selfdestruct.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test guardConditions.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/guardConditions').default |
|
|
|
|
|
|
|
|
@ -531,9 +488,9 @@ test('Integration test guardConditions.js', function (t) { |
|
|
|
|
'assembly.sol': 1, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -561,7 +518,7 @@ test('Integration test guardConditions.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test deleteDynamicArrays.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/deleteDynamicArrays').default |
|
|
|
|
|
|
|
|
@ -570,9 +527,9 @@ test('Integration test deleteDynamicArrays.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -600,7 +557,7 @@ test('Integration test deleteDynamicArrays.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test deleteFromDynamicArray.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/deleteFromDynamicArray').default |
|
|
|
|
|
|
|
|
@ -609,9 +566,9 @@ test('Integration test deleteFromDynamicArray.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -639,7 +596,7 @@ test('Integration test deleteFromDynamicArray.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test assignAndCompare.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/assignAndCompare').default |
|
|
|
|
|
|
|
|
@ -648,9 +605,9 @@ test('Integration test assignAndCompare.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -678,7 +635,7 @@ test('Integration test assignAndCompare.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test intDivisionTruncate.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/intDivisionTruncate').default |
|
|
|
|
|
|
|
|
@ -687,9 +644,9 @@ test('Integration test intDivisionTruncate.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -717,7 +674,7 @@ test('Integration test intDivisionTruncate.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test erc20Decimal.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/erc20Decimals').default |
|
|
|
|
|
|
|
|
@ -726,9 +683,9 @@ test('Integration test erc20Decimal.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -756,7 +713,7 @@ test('Integration test erc20Decimal.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test stringBytesLength.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/stringBytesLength').default |
|
|
|
|
|
|
|
|
@ -765,9 +722,9 @@ test('Integration test stringBytesLength.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -795,7 +752,7 @@ test('Integration test stringBytesLength.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test etherTransferInLoop.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/etherTransferInLoop').default |
|
|
|
|
|
|
|
|
@ -804,9 +761,9 @@ test('Integration test etherTransferInLoop.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 0, |
|
|
|
|
'ballot_reentrant.sol': 0, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
@ -834,7 +791,7 @@ test('Integration test etherTransferInLoop.js', function (t) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
test('Integration test forLoopIteratesOverDynamicArray.js', function (t) { |
|
|
|
|
t.plan(4) |
|
|
|
|
t.plan(7) |
|
|
|
|
|
|
|
|
|
var module = require('../../dist/src/solidity-analyzer/modules/forLoopIteratesOverDynamicArray').default |
|
|
|
|
|
|
|
|
@ -843,9 +800,9 @@ test('Integration test forLoopIteratesOverDynamicArray.js', function (t) { |
|
|
|
|
'assembly.sol': 0, |
|
|
|
|
'ballot.sol': 2, |
|
|
|
|
'ballot_reentrant.sol': 1, |
|
|
|
|
// 'ballot_withoutWarnings.sol': 0,
|
|
|
|
|
// 'cross_contract.sol': 0,
|
|
|
|
|
// 'inheritance.sol': 0,
|
|
|
|
|
'ballot_withoutWarnings.sol': 0, |
|
|
|
|
'cross_contract.sol': 0, |
|
|
|
|
'inheritance.sol': 0, |
|
|
|
|
// 'modifier1.sol': 0,
|
|
|
|
|
// 'modifier2.sol': 0,
|
|
|
|
|
// 'notReentrant.sol': 0,
|
|
|
|
|