自省

这个 crate 处理合约的 类型自省。换句话说,它检查可以在给定合约上调用哪些函数。这被称为合约的接口。

核心

ISRC5

use openzeppelin_introspection::interface::ISRC5;

如https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-5.md[SNIP-5]中定义的 SRC5 自省标准的接口。

0x3f918d17e5ee77373b56385708f855659a07f75997f365cf87748628532a055

函数

supports_interface(interface_id: felt252) → bool external

检查合约是否实现了给定的接口。

查看 计算接口 ID 获取更多信息 关于如何计算这个 ID。

SRC5Component

use openzeppelin_introspection::src5::SRC5Component;

扩展 ISRC5 的 SRC5 组件。

可嵌入实现

可嵌入函数

supports_interface(self: @ContractState, interface_id: felt252) → bool external

内部函数

register_interface(ref self: ComponentState, interface_id: felt252) internal

注册对给定 interface_id 的支持。

deregister_interface(ref self: ComponentState, interface_id: felt252) internal

取消注册对给定 interface_id 的支持。