I get a "No node with id 645 of type ContractDefinition" error when I try to call deployProxy in migration if my repository has a contract inherited from DefaultOperatorFilterer.
If there is no such contract, or if inheritance is removed, then the error disappears.
My output:
truffle(develop)> migrate
Compiling your contracts...
===========================
> Compiling @openzeppelin\contracts-upgradeable\access\OwnableUpgradeable.sol
> Compiling @openzeppelin\contracts-upgradeable\proxy\utils\Initializable.sol
> Compiling @openzeppelin\contracts-upgradeable\utils\AddressUpgradeable.sol
> Compiling @openzeppelin\contracts-upgradeable\utils\ContextUpgradeable.sol
> Compiling .\contracts\Box.sol
> Compiling .\contracts\Vox.sol
> Compiling operator-filter-registry\src\DefaultOperatorFilterer.sol
> Compiling operator-filter-registry\src\IOperatorFilterRegistry.sol
> Compiling operator-filter-registry\src\OperatorFilterer.sol
> Compiling operator-filter-registry\src\lib\Constants.sol
> Artifacts written to D:\workspace\projects\test\build\contracts
> Compiled successfully using:
- solc: 0.8.19+commit.7dd6d404.Emscripten.clang
Starting migrations...
======================
> Network name: 'develop'
> Network id: 5777
> Block gas limit: 6721975 (0x6691b7)
1-box.js
========
Exiting: Review successful transactions manually by checking the transaction hashes above on Etherscan.
Error: No node with id 645 of type ContractDefinition
at deref (D:\workspace\projects\test\node_modules\@openzeppelin\upgrades-core\src\ast-dereferencer.ts:38:11)
at curried (D:\workspace\projects\test\node_modules\@openzeppelin\upgrades-core\src\utils\curry.ts:13:14)
at getInheritedContractOpcodeErrors (D:\workspace\projects\test\node_modules\@openzeppelin\upgrades-core\src\validate\run.ts:398:34)
at getInheritedContractOpcodeErrors.next (<anonymous>)
at getContractOpcodeErrors (D:\workspace\projects\test\node_modules\@openzeppelin\upgrades-core\src\validate\run.ts:291:10)
at getContractOpcodeErrors.next (<anonymous>)
at getOpcodeErrors (D:\workspace\projects\test\node_modules\@openzeppelin\upgrades-core\src\validate\run.ts:266:10)
at getOpcodeErrors.next (<anonymous>)
at validate (D:\workspace\projects\test\node_modules\@openzeppelin\upgrades-core\src\validate\run.ts:204:14)
at validateArtifacts (D:\workspace\projects\test\node_modules\@openzeppelin\truffle-upgrades\src\utils\validations.ts:21:18)
at getDeployData (D:\workspace\projects\test\node_modules\@openzeppelin\truffle-upgrades\src\utils\deploy-impl.ts:41:23)
at deployProxyImpl (D:\workspace\projects\test\node_modules\@openzeppelin\truffle-upgrades\src\utils\deploy-impl.ts:64:22)
at deployProxy (D:\workspace\projects\test\node_modules\@openzeppelin\truffle-upgrades\src\deploy-proxy.ts:36:26)
at module.exports (D:\workspace\projects\test\migrations\1-box.js:5:3)
Code to reproduce
I have prepared a minimal repository that reproduces this: https://github.com/dmitry537/deploy-proxy-test
Environment
Ganache v7.8.0
Solidity - 0.8.19 (solc-js)
Node v18.16.0
Web3.js v1.10.0
Windows 10
help me please...