E boa.contracts.base_evm_contract.BoaError: Revert(b'')
E
E None
E <compiler: bad calldatasize or callvalue>
E contract "VyperContract:27", function "rate", line 27:35
E 26 def rate() -> uint256:
E ---> 27 full_answer: ChainlinkAnswer = FEED.latestRoundData()
E -------------------------------------------^
E 28 return convert(full_answer.answer, uint256) * DECIMAL_MUL
E <locals: full_answer=ChainlinkAnswer({'roundID': 0, 'answer': 826074471, 'startedAt': 0, 'updatedAt': 0, 'answeredInRound': 0})>
In fact, the error is caused by the following line:
When an exception is raised during the initcode, the source code map is incorrect. For example, take this code:
Will raise an exception with the wrong source:
In fact, the error is caused by the following line:
See this uses the assembly_runtime which won't match: https://github.com/vyperlang/titanoboa/blob/32d9ae7d22ec1dc0e531c4af71ff795576162778/boa/contracts/vyper/vyper_contract.py#L644 find_source_of also has some is_initcode that is never used: https://github.com/vyperlang/titanoboa/blob/32d9ae7d22ec1dc0e531c4af71ff795576162778/boa/contracts/vyper/vyper_contract.py#L660