feat: split cometbls light client types out from unionlabs (#3124)
- introduced `cometbls-light-client-types` - i put this under `light-clients/cometbls-light-client/types` for now, but we can pretty trivially move this down the line when we do https://github.com/unionlabs/union/issues/2997 - also introduced a new `ChainId` type in this library to enforce the length invariant on cometbls chain ids, allowing us to remove several duplicated checks in various places. - used `alloy::sol!` for ethabi spec here instead of `ethers` - slightly changed the constructor and error type of the `Bounded*` types to make conversion much easier - introduced `new_const` constructor for use in const contexts, this functions exactly the same as the old `new` constructor - small change to `required!`, it now requires that the error type impls `From<MissingField>` - as such, derived `thiserror::Error` for some final remaining error types - introduced `impl_proto_via_try_from_into!` - i want to eventually remove `macros::model`, since it doesn't quite work across many crates as well as it does when its designed for one crate (`unionlabs`). This covers the same boilerplate as the `#[model]` macro, but as a declarative macro. - `unionlabs::hash::Hash<N>` <-> `alloy::core::primitives::FixedBytes<N>` - remove logic inside of `canonicalize_stored_header` as this logic is no longer needed with the new evm ibc stack - i would remove it completely, but thats a larger change that should be done as we migrate each light client. it currently just passes through the original value, which is fine since the evm light clients don't even work right now anyways 😁 - cleaned up clippy warnings across the repo, they were driving me insane. i'll fix the clippy ci job later
B
ben committed
42027a6346ea9984ffd7db0041e568a505f3892f
Committed by GitHub <noreply@github.com>
on 10/20/2024, 6:07:57 PM