delvtech / council-kit

A monorepo of apps and packages for the Council governance protocol.
https://council.delv.tech
GNU Affero General Public License v3.0
27 stars 22 forks source link

Upgrade all the things #407

Closed ryangoree closed 6 months ago

ryangoree commented 6 months ago

[!WARNING] This PR touches nearly every file in the repo, so you're better off just looking at the code in the branch vs crashing your window trying to load "Files changed".

This PR upgrades every dependency to the latest and refactors all of the packages to use the same patterns from the Hyperdrive frontend monorepo.

Package Changes

~@council/contract-stub~ -> removed

The contract stub package contained tools for stubbing ethers-v5 typechain classes. We now use evm-client for stubbing.

~@council/cli~ -> @delvtech/council-cli

The CLI was refactored to use clide-js. This is a package I'm currently maintaining built from what I learned building the old Council CLI. The result is a much cleaner code base that will be easier to read and maintain, more accurate help menus, a CLI that's installable from NPM (the old CLI used modules that couldn't be packaged up for install), and support for the latest ESM-only packages.

~@council/deploy~ -> removed

Most of this code lives on in the CLI.

~@council/sdk~ -> @delvtech/council-core, @delvtech/council-viem, @delvtech/council-ethers

The council-sdk, which was built on ethers-v5 has been refactored to use evm-client. This refactor removes the concept of DataSources, but keeps Models as the primary API, now powered by an evm-client Network instance and a factory function that can create evm-client Contract instances.

~@council/typechain~ -> @delvtech/council-artifacts

The ethers-v5 typechain package has been replace with a more general artifacts package that includes named exports for each contract's ABI and bytecode.

~@council/prettier-config~ -> removed

We're just using a single top-level prettier for the monorepo now and letting eslint handle everything else.

vercel[bot] commented 6 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
council-kit-council-ui ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 22, 2024 5:12pm
council-kit-landing-page ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 22, 2024 5:12pm