Vyper
無法在 Vyper 合約介面中使用外部合約地址作為函式參數
我正在嘗試使用最新的編譯器編譯 Uniswap Exchange 合約
vyper
。我首先更新了對新定義的 ERC20 引用
token: ERC20
並設置了一個 importfrom vyper.interfaces import ERC20
。下一個問題是
getExchange()
工廠界面中的功能。vyper.exceptions.TypeMismatchException: line 68:15 Typecasting from base type address(ERC20) to address unavailable
這發生在以下行:
assert self.factory.getExchange(self.token) == self
我試圖通過修改
getExchange
介面來解決它:def getExchange(token_addr: ERC20) -> address: constant
但這會產生另一個錯誤:
vyper.exceptions.InvalidTypeException: line 8: Invalid base type: ERC20 def getExchange(token_addr: ERC20) -> address: constant
如何讓它編譯?
原來這是一個編譯器錯誤,正在解決。