test whole signature

pull/3094/head
yann300 7 years ago
parent 15733e77c0
commit a71cdafca0
  1. 3
      remix-lib/src/util.js

@ -187,7 +187,8 @@ module.exports = {
if (code1 === code2) return true if (code1 === code2) return true
if (code2 === '0x') return false // abstract contract. see comment if (code2 === '0x') return false // abstract contract. see comment
if (code2.substr(4, 40) === '0000000000000000000000000000000000000000') { if (code2.substr(2, 46) === '7300000000000000000000000000000000000000003014') {
// testing the following signature: PUSH20 00..00 ADDRESS EQ
// in the context of a library, that slot contains the address of the library (pushed by the compiler to avoid calling library other than with a DELEGATECALL) // in the context of a library, that slot contains the address of the library (pushed by the compiler to avoid calling library other than with a DELEGATECALL)
// if code2 is not a library, well we still suppose that the comparison remain relevant even if we remove some information from `code1` // if code2 is not a library, well we still suppose that the comparison remain relevant even if we remove some information from `code1`
code1 = replaceLibReference(code1, 4) code1 = replaceLibReference(code1, 4)

Loading…
Cancel
Save