類型信息

2022-05-12 17:02 更新

該表達式type(X)可用于檢索有關類型的信息 X。目前,對該功能的支持有限(X可以是合約或整數(shù)類型),但將來可能會擴展。

以下屬性可用于合同類型C:

type(C).name

合同的名稱。

type(C).creationCode

包含合約創(chuàng)建字節(jié)碼的內存字節(jié)數(shù)組。這可以在內聯(lián)匯編中用于構建自定義創(chuàng)建例程,尤其是通過使用create2操作碼。此屬性不能在合約本身或任何派生合約中訪問。它導致字節(jié)碼包含在調用站點的字節(jié)碼中,因此不可能進行這樣的循環(huán)引用。

type(C).runtimeCode

包含合約運行時字節(jié)碼的內存字節(jié)數(shù)組。這是通常由 的構造函數(shù)部署的代碼C。如果C有一個使用內聯(lián)匯編的構造函數(shù),這可能與實際部署的字節(jié)碼不同。另請注意,庫在部署時會修改其運行時字節(jié)碼以防止常規(guī)調用。與 相同的限制.creationCode也適用于此屬性。

除了上述屬性之外,接口類型還可以使用以下屬性I:

type(I).interfaceId

bytes4包含給定接口的EIP-165 接口標識符的值I。此標識符被定義為XOR接口本身內定義的所有函數(shù)選擇器中的一個 - 不包括所有繼承的函數(shù)。

以下屬性可用于整數(shù)類型T:

type(T).min

type 可表示的最小值T。

type(T).max

type 可表示的最大值T


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號