我正在用 Solidity 编写代理合同。为了在我的后备函数中转发来电,我使用了内联汇编代码。我是一名学生,下面的代码是我的导师在教程中编写的代码。
我的代码收到以下错误:
必须调用内置函数“gas”。
我假设 Solidity 自教程制作以来已经发展,但我在网上找不到任何东西(谷歌或文档)。
这是代码:
assembly {
let result := delegatecall(gas, implementation, add(data, 0x20), mload(data), 0, 0)
let size := returndatasize
let ptr := mload(0x40)
returndatacopy(ptr, 0, size)
switch result
case 0 {revert(ptr, size)}
default{return(ptr, size)}
}
错误是指第 2 行中用红色下划线标出的单词“gas”。
有什么改变吗?