Skip to content

Commit b69b17e

Browse files
author
Victor Velev
committed
make fixture codegen conditional and use web3-eth-abi instead of web3
1 parent c41c12a commit b69b17e

File tree

3 files changed

+72
-1739
lines changed

3 files changed

+72
-1739
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"semver": "7.3.5",
2727
"sync-request": "^6.1.0",
2828
"tmp-promise": "^3.0.2",
29-
"web3": "^1.6.1",
29+
"web3-eth-abi": "^1.7.0",
3030
"which": "2.0.2",
3131
"yaml": "^1.5.1"
3232
},

src/protocols/ethereum/codegen/abi.js

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,21 @@ const immutable = require('immutable')
22
const fs = require('fs')
33
const yaml = require('yaml')
44
const request = require('sync-request')
5-
const Web3 = require('web3')
6-
const web3 = new Web3(null)
5+
const Web3EthAbi = require('web3-eth-abi');
76

87
const tsCodegen = require('../../../codegen/typescript')
98
const typesCodegen = require('../../../codegen/types')
109
const util = require('../../../codegen/util')
1110

11+
const doFixtureCodegen = fs.existsSync('./fixtures.yaml');
12+
1213
module.exports = class AbiCodeGenerator {
1314
constructor(abi) {
1415
this.abi = abi
1516
}
1617

1718
generateModuleImports() {
18-
return [
19+
let imports = [
1920
tsCodegen.moduleImports(
2021
[
2122
// Ethereum integration
@@ -32,14 +33,21 @@ module.exports = class AbiCodeGenerator {
3233
'BigInt',
3334
],
3435
'@graphprotocol/graph-ts',
35-
),
36-
tsCodegen.moduleImports(
37-
[
38-
'newMockEvent',
39-
],
40-
'matchstick-as/assembly/index',
41-
),
36+
)
4237
]
38+
39+
if (doFixtureCodegen) {
40+
imports.push(
41+
tsCodegen.moduleImports(
42+
[
43+
'newMockEvent',
44+
],
45+
'matchstick-as/assembly/index',
46+
)
47+
)
48+
}
49+
50+
return imports
4351
}
4452

4553
generateTypes() {
@@ -227,7 +235,7 @@ module.exports = class AbiCodeGenerator {
227235
)
228236

229237
// Fixture generation
230-
try {
238+
if (doFixtureCodegen) {
231239
const args = yaml.parse(fs.readFileSync('./fixtures.yaml', 'utf8'))
232240
const blockNumber = args['blockNumber']
233241
const contractAddr = args['contractAddr']
@@ -241,7 +249,7 @@ module.exports = class AbiCodeGenerator {
241249
throw new Error(body.result)
242250
}
243251

244-
let res = web3.eth.abi.decodeLog(
252+
let res = Web3EthAbi.decodeLog(
245253
namesAndTypes,
246254
body.result[0].data,
247255
[]
@@ -268,9 +276,6 @@ module.exports = class AbiCodeGenerator {
268276
`,
269277
)
270278
)
271-
} catch (e) {
272-
// no fixtures
273-
console.log(e)
274279
}
275280

276281
return [klass, paramsClass, ...tupleClasses]

0 commit comments

Comments
 (0)