Solidity Contracts v4.0.0-rc.1
Description
This release candidate is the first Solidity IBC release since the contracts moved into their own `ibc-solidity/` directory and the repository was renamed to `cosmos/ibc-contracts`. It is focused on new light client support, end-to-end pausability and rate limiting.
Features
• Besu light client: `BesuLightClient` is a single contract that verifies both Besu IBFT 2.0 and QBFT chains in header-validator mode. It uses OpenZeppelin's RLP and trie proof libraries for membership and non-membership proofs, stores only consensus state hashes to save gas, and supports a configurable trust level, trusting period and max clock drift. Misbehaviour is permissionless: the client freezes on double signs, time non-monotonicity, sub-second block times, and validator set changes that could not come from a single valid chain.
• IBCMulticall: a standalone, AccessManaged batcher for relayers in the style of Multicall3's `aggregate3`. Each call in a batch can be allowed to fail without reverting the rest, so a batch still lands when, for example, IFT rate limits only fit some of its refunds.
• Pausing across the stack: following the pausability ADR , `ICS26Router` can pause app and
Excerpt of 9,433 characters under the source licence. Read the whole release on GitHub ↗