Solidity
如何通過高級代表電話更改汽油津貼?
通過彙編使用 DELEGATECALL 操作碼時,我們可以傳遞特定數量的氣體:
let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
但高級 DELEGATECALL 沒有這樣的論點:
(bool success, bytes memory returndata) = target.delegatecall(data);
我們如何改變我們給予委託契約的 gas 津貼?
您可以在函式 args 之前使用氣體修飾符(在括號中)指定氣體,例如:
(bool success, bytes memory returndata) = target.delegatecall{ gas: 10000 }(data);
修飾符記錄在這裡:https ://docs.soliditylang.org/en/v0.8.7/types.html#address