dev-protocol/protocol-v2

Using @typechain/truffle-v5

aggre opened this issue · 0 comments

aggre commented

Detailed description

Currently, this project is using Truffle v5.

"truffle": "5.4.1",

But Typechain is targeted as @typechain/truffle-v4.

"generate": "yarn compile && typechain --target=truffle-v4 './build/**/*.json'",

"@typechain/truffle-v4": "4.1.0",

We need to use @typechain/truffle-v5.

Context

Changing the Typechain version should result in many type errors, but as long as the existing test cases pass the CI, the existing codes are certainly executable code.

So, we will need to change function callings or type inferences to accommodate the new types, but basically the assertions and behavior itself should not need to change.

Possible implementation

No response

Additional information

As I tried it locally... it seems like the following major changes are needed:

  • LockupInstance type is no longer exports depositToProperty, it exports methods['depositToProperty(address,uint256)'] and methods['depositToProperty(address,uint256,bytes32)'] instead of it.
  • Truffle is no longer uses BigNumber.js, it uses bn.js instead of it. But we only use the interfaces common to both and test cases have no problem.

Code of Conduct

  • I agree to follow this project's Code of Conduct