Unverified Commit 84bb6ef3 authored by yann300's avatar yann300 Committed by GitHub

Merge pull request #1270 from ethereum/yann300-patch-26

Update extracting swarm hash
parents 27a4ca1f 1f2e92ba
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
"@babel/preset-es2015": "latest", "@babel/preset-es2015": "latest",
"@babel/preset-es2017": "latest", "@babel/preset-es2017": "latest",
"@babel/preset-stage-0": "^7.0.0", "@babel/preset-stage-0": "^7.0.0",
"babel-eslint": "^10.0.0", "babel-eslint": "^7.1.1",
"babelify": "^10.0.0", "babelify": "^10.0.0",
"notify-error": "^1.2.0", "notify-error": "^1.2.0",
"solc": "^0.5.0", "solc": "^0.5.0",
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
"@babel/preset-es2015": "latest", "@babel/preset-es2015": "latest",
"@babel/preset-es2017": "latest", "@babel/preset-es2017": "latest",
"@babel/preset-stage-0": "^7.0.0", "@babel/preset-stage-0": "^7.0.0",
"babel-eslint": "^10.0.0", "babel-eslint": "^7.1.1",
"babelify": "^10.0.0", "babelify": "^10.0.0",
"standard": "^7.0.1", "standard": "^7.0.1",
"tape": "^4.6.0" "tape": "^4.6.0"
......
...@@ -176,6 +176,21 @@ module.exports = { ...@@ -176,6 +176,21 @@ module.exports = {
}, },
/** /**
* return a regex which extract the swarmhash from the bytecode, from POC 0.3
*
* @return {RegEx}
*/
swarmHashExtractionPOC3: function () {
return /a265627a7a72315820([0-9a-f]{64})64736f6c6343([0-9a-f]{6})0032$/
},
extractSwarmHash: function (value) {
value = value.replace(this.swarmHashExtraction(), '')
value = value.replace(this.swarmHashExtractionPOC3(), '')
return value
},
/**
* Compare bytecode. return true if the code is equal (handle swarm hash and library references) * Compare bytecode. return true if the code is equal (handle swarm hash and library references)
* @param {String} code1 - the bytecode that is actually deployed (contains resolved library reference and a potentially different swarmhash) * @param {String} code1 - the bytecode that is actually deployed (contains resolved library reference and a potentially different swarmhash)
* @param {String} code2 - the bytecode generated by the compiler (contains unresolved library reference and a potentially different swarmhash) * @param {String} code2 - the bytecode generated by the compiler (contains unresolved library reference and a potentially different swarmhash)
...@@ -198,8 +213,8 @@ module.exports = { ...@@ -198,8 +213,8 @@ module.exports = {
code2 = replaceLibReference(code2, pos) code2 = replaceLibReference(code2, pos)
code1 = replaceLibReference(code1, pos) code1 = replaceLibReference(code1, pos)
} }
code1 = code1.replace(this.swarmHashExtraction(), '') code1 = this.extractSwarmHash(code1)
code2 = code2.replace(this.swarmHashExtraction(), '') code2 = this.extractSwarmHash(code2)
if (code1 && code2 && code1.indexOf(code2) === 0) { if (code1 && code2 && code1.indexOf(code2) === 0) {
return true return true
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment