Vyper

正文必須只包含狀態可變性標籤:Vyper

  • June 7, 2022

我有一個正在製作的界面:

interface IAggregatorV3:
   @view
   @external
   def decimals() -> uint8:
       pass

但是,我收到此編譯錯誤:

Body must only contain state mutability label

這是怎麼回事?

消息錯誤是說,而不是pass函式的主體必須只包含狀態可變性標籤,例如:viewpure

嘗試以下(基於文件的範例):

interface IAggregatorV3:
   def decimals() -> uint8: view
       
@external
def test(some_address: address):
   IAggregatorV3(some_address).decimals() 

獨立介面(去掉interface IAggregatorV3

@external
@view
def decimals() -> uint8:
   pass

此外,介面定義的可見性類型不是必需的,external因為介面可用於進行外部呼叫。在此處聲明和使用 Vyper 中的介面。

更多關於 Vyper 中的可變性的資訊

引用自:https://ethereum.stackexchange.com/questions/129755