我陷入了需要初始化 FunctionsClient 智能合约的问题。 但由于我的智能合约是可升级的智能合约,因此我没有构造函数而不是初始化函数,因此在这种情况下如何初始化 FunctionsClient。
提供示例 -
constructor() FunctionsClient(router) ConfirmedOwner(msg.sender) {}
问题-
function initialize(address _admin) FunctionsClient(router) public initializer {
_grantRole(ADMIN_ROLE, _admin);
_grantRole(DEFAULT_ADMIN_ROLE, _admin);
}
initialize()
只是一个普通的函数调用。
初始化修饰符仅被调用一次
您无法从初始化程序调用
FunctionsClient(router)
- 如果父合约具有您无法调用的初始化逻辑,否则您通常需要将此逻辑复制粘贴到初始化程序