v5.7.0
Changelog
This release introduces new features and several improvements
- Introduced a new on-chain gas estimation method in the gas service.
- A gas price oracle will be enabled soon to update gas prices on the gas service.
- L2 specific gas pricing rules are taken into account for Optimism/Base (i.e L1 data fee is automatically added in the gas quote). This will be extended to other L2s, including Arbitrum, in an upcoming release.
 
- A new payGasmethod has been added to the gas service that will support all types of gas service methods generically.- Example usage: gasService.payGas{value: msg.value}(address(this), destinationChain, destinationAddress, payload, executionGasLimit, estimateOnChain, refundAddress, new bytes(0))
- paramsare optional and empty bytes can be provided for now. In the future,- paramscan be used to provide additional context for the gas payment (e.g. pay with an ERC20, enable GMP express etc.)
- If estimateOnChainis set totrue, the gas payment call will revert ifmsg.valueis less than the on-chain gas quote.
 
- Example usage: 
- A new InterchainMultisig contract that allows batching calls across many chains.
- Bumped Solidity compiler version to v0.8.23
What's Changed
- fix: minor test coverage gaps by @deanamiel in #111
- fix(InterchainAddressTracker): removing Upgradable by @re1ro in #112
- feat: remove the constructor from InterhcainAddressTracker to make it easier r to be upgradable. by @Foivos in #114
- fix(Upgradable): improved contract id verification by @re1ro in #116
- feat: fix proxy contract compiler settings by @milapsheth in #118
- feat: add hardhat utils by @milapsheth in #119
- chore: update prettier config by @milapsheth in #120
- feat(GMP Gateway): new GMP Gateway interface by @re1ro in #117
- feat(InterchainMultisig): weighted multisig contract by @re1ro in #125
- feat(ServiceGovernance): external Multisig by @re1ro in #128
- feat(WeightedAuthModule): auth module for the gateway by @re1ro in #129
- fix(Upgradable): storing new implementation before the delegate call by @re1ro in #131
- feat(InterchainMultisig): full interface and script utils by @re1ro in #130
- fix(utils): encodeInterchainCallsBatch with batchId as bytes32 by @re1ro in #132
- feat(GasEstimate): new base contract for gas estimation by @re1ro in #133
- fix(InterchainMultisig): storage slot location by @re1ro in #135
- feat(amplifier): add simplified Amplifier gateway by @milapsheth in #136
- refactor(amplifier): use struct based storage slot instead of EternalStorage by @milapsheth in #137
- refactor(amplifier): avoid self external calls by reverting on error by @milapsheth in #138
- feat: add codecov action by @deanamiel in #139
- ci: fix codecov action by @milapsheth in #141
- feat: add cancel in progress to workflows by @deanamiel in #143
- fix(gas-estimation): make InterchainGasEstimation an abstract contract by @milapsheth in #144
- fix(hardhat): update hardhat dep by @milapsheth in #145
- ci: switch to blacksmith runners by @milapsheth in #142
- feat(GasEstimation): adding support for express fee by @re1ro in #146
- ci(build): bump solidity version to v0.8.23 and parallelize tests by @milapsheth in #147
Full Changelog: v5.6.4...v5.7.0