Skip to content

v5.7.0

Compare
Choose a tag to compare
@milapsheth milapsheth released this 24 Mar 01:00
· 54 commits to main since this release

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 payGas method 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))
    • params are optional and empty bytes can be provided for now. In the future, params can be used to provide additional context for the gas payment (e.g. pay with an ERC20, enable GMP express etc.)
    • If estimateOnChain is set to true, the gas payment call will revert if msg.value is less than the on-chain gas quote.
  • 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