diff --git a/CHANGELOG.md b/CHANGELOG.md index 96bfdbf3f..cc9d6a72b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## vNEXT +- Add `set-callback-gas.ts` script. (#121) - Accept any signature format in `SignatureVerifier.v8` when the account is a smart contract. (#120) - Update UML class diagrams. (#112) - Generate Solidity documentation. (#111) diff --git a/scripts/set-callback-gas.ts b/scripts/set-callback-gas.ts new file mode 100644 index 000000000..28de48811 --- /dev/null +++ b/scripts/set-callback-gas.ts @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2024 IEXEC BLOCKCHAIN TECH +// SPDX-License-Identifier: Apache-2.0 + +import hre, { deployments } from 'hardhat'; +import { IexecAccessors__factory, IexecMaintenanceDelegate__factory } from '../typechain'; + +(async () => { + const requestedCallbackGas = Number(process.env.CALLBACK_GAS); + if (!requestedCallbackGas) { + console.error('`CALLBACK_GAS` env variable is missing. Aborting.'); + process.exit(1); + } + console.log(`Setting callback-gas to ${requestedCallbackGas.toLocaleString()} ..`); + const [owner] = await hre.ethers.getSigners(); + const erc1538ProxyAddress = (await deployments.get('ERC1538Proxy')).address; + const viewCallbackGas = async () => + (await IexecAccessors__factory.connect(erc1538ProxyAddress, owner).callbackgas()) + .toNumber() + .toLocaleString(); + const callbackGasBefore = await viewCallbackGas(); + await IexecMaintenanceDelegate__factory.connect(erc1538ProxyAddress, owner) + .setCallbackGas(requestedCallbackGas) + .then((tx) => tx.wait()); + console.log(`Changed callback-gas from ${callbackGasBefore} to ${await viewCallbackGas()}`); +})().catch((error) => console.log(error));