parent
31fa63e257
commit
9bde45fd63
@ -0,0 +1,3 @@ |
||||
module.exports = [ |
||||
require('./txOrigin') |
||||
] |
@ -0,0 +1,34 @@ |
||||
var name = 'tx origin' |
||||
var desc = 'warn if tx.origin is used' |
||||
|
||||
function txOrigin () { |
||||
this.txOriginNode = [] |
||||
} |
||||
|
||||
txOrigin.prototype.visit = function (node) { |
||||
if (node.name === 'MemberAccess' && |
||||
node.attributes.member_name === 'origin' && |
||||
node.attributes.type === 'address' && |
||||
node.children && node.children.length && |
||||
node.children[0].attributes.type === 'tx' && |
||||
node.children[0].attributes.value === 'tx') { |
||||
this.txOriginNode.push(node) |
||||
} |
||||
} |
||||
|
||||
txOrigin.prototype.report = function (node) { |
||||
var report = this.txOriginNode.length + ' use of tx.origin\n' |
||||
this.txOriginNode.map(function (item, i) { |
||||
report += item.src + '\n' |
||||
}) |
||||
return { |
||||
name: name, |
||||
report: report |
||||
} |
||||
} |
||||
|
||||
module.exports = { |
||||
name: name, |
||||
description: desc, |
||||
Module: txOrigin |
||||
} |
Loading…
Reference in new issue