Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat @celo/viem-accounts/ledger #344

Merged
merged 24 commits into from
Oct 4, 2024

Conversation

nicolasbrugneaux
Copy link
Contributor

@nicolasbrugneaux nicolasbrugneaux commented Sep 17, 2024

PR-Codex overview

This PR introduces the @celo/viem-account-ledger library, which facilitates interactions between a ledger device and the viem framework. It includes type definitions, configuration files, and examples for usage, along with initial documentation.

Detailed summary

  • Added Hex type definition in src/types.ts.
  • Created initial release notes in CHANGELOG.md.
  • Configured ESLint and TypeScript settings in .eslintrc.cjs and tsconfig.json.
  • Exported constants and functions from src/index.ts.
  • Introduced a README.md with installation and usage instructions.
  • Implemented core functionality in src/ledger-to-account.ts.
  • Added tests for ledgerToAccount in ledger-to-account.test.ts.
  • Defined token handling functions in src/tokens.ts.
  • Included utility functions in src/utils.ts.
  • Established a mock ledger for testing in src/test-utils.ts.
  • Updated .npmignore to exclude unnecessary files.

The following files were skipped due to too many changes: yarn.lock

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Copy link

changeset-bot bot commented Sep 17, 2024

🦋 Changeset detected

Latest commit: 3e2e807

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@celo/viem-account-ledger Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

socket-security bot commented Sep 17, 2024

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@vitest/[email protected] Transitive: environment, filesystem, shell +34 9.71 MB vitestbot
npm/[email protected] network Transitive: environment +6 16.4 MB jmoxey
npm/[email protected] Transitive: environment, filesystem, network, shell, unsafe +76 276 MB antfu, oreanno, patak, ...1 more

View full report↗︎

Copy link

codecov bot commented Sep 17, 2024

Codecov Report

Attention: Patch coverage is 89.41980% with 31 lines in your changes missing coverage. Please review.

Project coverage is 67.22%. Comparing base (d3b88fd) to head (3e2e807).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
packages/viem-account-ledger/src/test-utils.ts 86.41% 25 Missing ⚠️
packages/viem-account-ledger/src/utils.ts 90.74% 5 Missing ⚠️
packages/viem-account-ledger/src/index.ts 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #344      +/-   ##
==========================================
+ Coverage   66.62%   67.22%   +0.59%     
==========================================
  Files         285      291       +6     
  Lines       10677    10972     +295     
  Branches     1516     1561      +45     
==========================================
+ Hits         7114     7376     +262     
- Misses       3401     3441      +40     
+ Partials      162      155       -7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@aaronmgdr
Copy link
Member

nice first draft!

@nicolasbrugneaux nicolasbrugneaux marked this pull request as ready for review September 24, 2024 08:53
@nicolasbrugneaux nicolasbrugneaux requested a review from a team as a code owner September 24, 2024 08:53
@aaronmgdr
Copy link
Member

Hey i spoke with marek yesterday. He wants us to start defaulting to the normal ETH derivation path.

@aaronmgdr
Copy link
Member

maybe we can start that as the default here with CELO one as an option.

Copy link

socket-security bot commented Oct 4, 2024

👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring: npm/[email protected]

View full report↗︎

Next steps

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all

@nicolasbrugneaux
Copy link
Contributor Author

@SocketSecurity ignore npm/[email protected]

@nicolasbrugneaux nicolasbrugneaux enabled auto-merge (squash) October 4, 2024 16:16
@nicolasbrugneaux nicolasbrugneaux force-pushed the nicolasbrugneaux/wallet-ledger branch from 7639e5c to ab13273 Compare October 4, 2024 16:18
@nicolasbrugneaux nicolasbrugneaux merged commit 6bba5e3 into master Oct 4, 2024
23 of 37 checks passed
@nicolasbrugneaux nicolasbrugneaux deleted the nicolasbrugneaux/wallet-ledger branch October 4, 2024 16:41
@github-actions github-actions bot mentioned this pull request Oct 4, 2024
@nicolasbrugneaux nicolasbrugneaux linked an issue Oct 7, 2024 that may be closed by this pull request
@nicolasbrugneaux
Copy link
Contributor Author

part of #318

aaronmgdr pushed a commit that referenced this pull request Oct 14, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to master, this PR
will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`master` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `master`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @celo/[email protected]

### Major Changes

- [#339](#339)
[`87223ba`](87223ba)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove support for
reserve:\* commands. As foretold by
<https://forum.celo.org/t/sunset-of-reserve-commands/8454>

- [#343](#343)
[`54741cc`](54741cc)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove commands
identity:identifier, identity:get-attestations

See
<https://forum.celo.org/t/rfc-deprecation-of-celocli-identity-commands/8676>

### Patch Changes

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix incorrect
message where the transfered token was used as gas token in the
messaging but not in actuality

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix Transfering,
exchanging cusd (and other fee tokens) and or using gasCurrency flag
with ledger devices prior to 1.2

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix: account:new
can now be called without a node

- Updated dependencies
\[[`693f6e7`](693f6e7),
[`5a0a922`](5a0a922),
[`33ad4aa`](33ad4aa),
[`4ef76eb`](4ef76eb),
[`33ad4aa`](33ad4aa)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Removes all exports
under the lib/identity folder. These have been move to a new
@celo/metadata-claims package and should be imported from there.

Note that folder structure is also flattened slightly. so replace
`@celo/contractkit/lib/identity/claims/` with
`@celo/metadata-claims/lib/`

    example

    ```diff
- import { createAccountClaim } from
'@celo/contractkit/lib/identity/claims/account'
+ import { createAccountClaim } from '@celo/metadata-claims/lib/account'
    ```

    ```diff
- import { ContractKit, IdentityMetadataWrapper, newKitFromWeb3 } from
'@celo/contractkit'
    - import { ClaimTypes } from '@celo/contractkit/lib/identity'
    + import { ContractKit, newKitFromWeb3 } from '@celo/contractkit'
+ import { ClaimTypes, IdentityMetadataWrapper } from
'@celo/metadata-claims'

    ```

Note that Contractkit is Not a dependency. Instead when using
`IdentityMetadataWrapper` you should make an object that satisfis the
`AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Introducing
@celo/metadata-claims These are a series of functions extracted from
@celo/contractkit since they didnt strictly need depend on contractkit
itsefl. Developers can now use IdentityMetadataWrapper with any js rpc
library like ethers or viem or web3js without being forced to import
ContractKit.

Instead when using `IdentityMetadataWrapper` you should make an object
that satisfis the `AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#344](#344)
[`6bba5e3`](6bba5e3)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Initial release

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`33ad4aa`](33ad4aa),
[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`33ad4aa`](33ad4aa),
[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix issue where
ledger running celo firmware app 1.1.10 could not send fee token
transactions or perform and interactions with those contracts

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]


<!-- start pr-codex -->

---

## PR-Codex overview
This PR focuses on updating various Celo SDK packages to their beta
versions, enhancing dependency management and incorporating new
features. It includes significant version bumps and updates to
changelogs across multiple packages.

### Detailed summary
- Updated `@celo/base` to `7.0.0-beta.0`
- Updated `@celo/connect` to `6.0.3-beta.0`
- Updated `@celo/utils` to `8.0.0-beta.0`
- Updated `@celo/dev-utils` to `0.0.6-beta.0`
- Added multiple changelog entries for various packages
- Introduced new `@celo/metadata-claims` package at `1.0.0-beta.0`
- Updated `@celo/contractkit` to `9.0.0-beta.0`
- Updated versions in `CHANGELOG.md` files across several packages

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot mentioned this pull request Dec 11, 2024
aaronmgdr pushed a commit that referenced this pull request Dec 11, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to master, this PR
will be updated.


# Releases
## @celo/[email protected]

### Major Changes

- [#407](#407)
[`3890220`](3890220)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove
transfer:gold -- this was an old alias for transfer:celo which has the
same functionality

- [#412](#412)
[`23d36cc`](23d36cc)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove `celocli
validator:force-deaffiliate`

This command was only ever usable pre mainnet launch. The force
deaffiliate method it would call is only callable by one of the
whitelisted Slasher Contracts.

To force removal of validator with poor uptime use `celocli
validator:downtime-slash` or to sever association with a validator from
your group use `celocli validator:deaffiliate`

- [#339](#339)
[`87223ba`](87223ba)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove support for
reserve:\* commands. As foretold by
<https://forum.celo.org/t/sunset-of-reserve-commands/8454>

- [#407](#407)
[`3890220`](3890220)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove
account:recover-old

This was meant to be a temporary command for migrating account from a
beta version of Valora to the release version. Please use a previous
version of celocli if you need to make this one time recovery.

- [#343](#343)
[`54741cc`](54741cc)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove commands
identity:identifier, identity:get-attestations

See
<https://forum.celo.org/t/rfc-deprecation-of-celocli-identity-commands/8676>

### Minor Changes

- [#420](#420)
[`fb08485`](fb08485)
Thanks [@shazarre](https://github.com/shazarre)! - Adds support for safe
integration for L2 hotfix security council approvals

- [#429](#429)
[`5b02036`](5b02036)
Thanks [@shazarre](https://github.com/shazarre)! - Removes L2 BLS keys
support for account:authorize

- [#447](#447)
[`7bc05c2`](7bc05c2)
Thanks [@shazarre](https://github.com/shazarre)! -
validator:signed-blocks not supported on L2 anymore, fixes
validator:status L2

- [#471](#471)
[`26b9779`](26b9779)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - For `account:new`
command add alias "celoLegacy" to the `--derivationPath` flag

- [#459](#459)
[`0e559c7`](0e559c7)
Thanks [@shazarre](https://github.com/shazarre)! - Introduces a new
command `account:claim-rpc-url` allowing to claim RPC URLs

-
[`76045eb`](76045eb)
Thanks [@shazarre](https://github.com/shazarre)! - BLS keys are now
optional as being deprecated on L2, validator:register and
releasecelo:authorize no longer require them in L2 context

### Patch Changes

- [#421](#421)
[`7d42a05`](7d42a05)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - fix
governance:build-proposal with contracts from mento or which use
solidity 0.8

- [#463](#463)
[`eba89a3`](eba89a3)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add
GovernanceSlasher to RegisteredContractsEnum

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- [#425](#425)
[`952bc81`](952bc81)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
deprecates the flags --whitelisters and --nonwhitelisters from the
governance:show command

- [#456](#456)
[`d5c9204`](d5c9204)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! - Fix
rewards:show for L2

- [#472](#472)
[`1df8688`](1df8688)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Dont show flags for
privateKey, gasCurrency, useLedger, and related flags in help for
commands which dont actually make use of them.

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix incorrect
message where the transfered token was used as gas token in the
messaging but not in actuality

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix Transfering,
exchanging cusd (and other fee tokens) and or using gasCurrency flag
with ledger devices prior to 1.2

- [#471](#471)
[`26b9779`](26b9779)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - when account:new is
called it displays the full bip44 derivation path in the output. Before
it would miss the last 2 positions.

- [#480](#480)
[`b83d8c4`](b83d8c4)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Recommended node
version is now node 20

- [#452](#452)
[`2283374`](2283374)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Show deprecated
warning on flags which will be removed after cel2 launch

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix: account:new
can now be called without a node

- [#449](#449)
[`97f0a53`](97f0a53)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Show --node and
--useLedger flags when --help is called. Show aliases for networks in
--node help

- [#452](#452)
[`2283374`](2283374)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - use onchain values
instead of static for lock requirements

- [#450](#450)
[`9558b56`](9558b56)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Gracefully throw if --estimate wasnt passed on L1

- [#427](#427)
[`ee33677`](ee33677)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Change a dependency to use npm rather than github

- Updated dependencies
\[[`eba89a3`](eba89a3),
[`43e8474`](43e8474),
[`693f6e7`](693f6e7),
[`7d42a05`](7d42a05),
[`c4b9c6d`](c4b9c6d),
[`7bc05c2`](7bc05c2),
[`5a0a922`](5a0a922),
[`0e559c7`](0e559c7),
[`33ad4aa`](33ad4aa),
[`d988d31`](d988d31),
[`42d091f`](42d091f),
[`b83d8c4`](b83d8c4),
[`36c4369`](36c4369),
[`4ef76eb`](4ef76eb),
[`76045eb`](76045eb),
[`38fe4d0`](38fe4d0),
[`26b9779`](26b9779),
[`33ad4aa`](33ad4aa),
[`b366827`](b366827),
[`a23246e`](a23246e),
[`fb08485`](fb08485),
[`7d42a05`](7d42a05),
[`ee33677`](ee33677),
[`d5c9204`](d5c9204)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

### Minor Changes

- [#471](#471)
[`26b9779`](26b9779)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - add
DerivationPathAliases export

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Removes all exports
under the lib/identity folder. These have been move to a new
@celo/metadata-claims package and should be imported from there.

Note that folder structure is also flattened slightly. so replace
`@celo/contractkit/lib/identity/claims/` with
`@celo/metadata-claims/lib/`

    example

    ```diff
- import { createAccountClaim } from
'@celo/contractkit/lib/identity/claims/account'
+ import { createAccountClaim } from '@celo/metadata-claims/lib/account'
    ```

    ```diff
- import { ContractKit, IdentityMetadataWrapper, newKitFromWeb3 } from
'@celo/contractkit'
    - import { ClaimTypes } from '@celo/contractkit/lib/identity'
    + import { ContractKit, newKitFromWeb3 } from '@celo/contractkit'
+ import { ClaimTypes, IdentityMetadataWrapper } from
'@celo/metadata-claims'

    ```

Note that Contractkit is Not a dependency. Instead when using
`IdentityMetadataWrapper` you should make an object that satisfis the
`AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Minor Changes

- [#447](#447)
[`7bc05c2`](7bc05c2)
Thanks [@shazarre](https://github.com/shazarre)! - Exposes
EpochManager.getElectedSigners contract method

-
[`76045eb`](76045eb)
Thanks [@shazarre](https://github.com/shazarre)! - ValidatorsWrapper:
add registerValidatorNoBls to allow registration without BLS keys which
are not supported in L2

### Patch Changes

- [#463](#463)
[`eba89a3`](eba89a3)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add
GovernanceSlasher to RegisteredContractsEnum

- [#467](#467)
[`43e8474`](43e8474)
Thanks [@shazarre](https://github.com/shazarre)! - fix: add
transferOwnership() to proxy abi list

- [#446](#446)
[`42d091f`](42d091f)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Bump @celo/abis-12

- [#480](#480)
[`b83d8c4`](b83d8c4)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Recommended node
version is now node 20

- [#455](#455)
[`36c4369`](36c4369)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Mark contract
wrapper methods that will not work on L2 because solidity contracts have
onlyL1 modifier as deprecated.

| Deprecated Contract / Method | Replacement or none |
| -------------------------------------------- |
----------------------------------------- |
| Validators#registerValidator | Validators#registerValidatorNoBLS |
| BlockchainParams#getEpochNumberOfBlock |
EpochManager#getEpochNumberOfBlock |
| BlockchainParams#getFirstBlockNumberForEpoch |
EpochManager#getFirstBlockAtEpoch |
| Election#getCurrentValidatorSigners | EpochManager#getElectedSigners |
| Election#getGroupEpochRewards |
Election#getGroupEpochRewardsBasedOnScore |
| GovernanceSlasher#slash | GovernanceSlasher#slashL2 |
| DoubleSigningSlasher | X |
| DowntimeSlasher | X |

- [#400](#400)
[`38fe4d0`](38fe4d0)
Thanks [@shazarre](https://github.com/shazarre)! - Renames `getElected`
and its usages to `getElectedAccounts` for `EpochManagerWrapper`

- [#456](#456)
[`d5c9204`](d5c9204)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Backwards compat for some methods using epoch's block numbers

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Introducing
@celo/metadata-claims These are a series of functions extracted from
@celo/contractkit since they didnt strictly need depend on contractkit
itsefl. Developers can now use IdentityMetadataWrapper with any js rpc
library like ethers or viem or web3js without being forced to import
ContractKit.

Instead when using `IdentityMetadataWrapper` you should make an object
that satisfis the `AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Minor Changes

- [#459](#459)
[`0e559c7`](0e559c7)
Thanks [@shazarre](https://github.com/shazarre)! - Add support for
RPC_URL claim type

### Patch Changes

- [#475](#475)
[`b366827`](b366827)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Publish lib instead
of src

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#344](#344)
[`6bba5e3`](6bba5e3)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Initial release

### Patch Changes

- [#443](#443)
[`a23246e`](a23246e)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! - Safer
handling of v from device

- [#427](#427)
[`ee33677`](ee33677)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Change a dependency to use npm rather than github

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Minor Changes

- [#420](#420)
[`fb08485`](fb08485)
Thanks [@shazarre](https://github.com/shazarre)! - Now CeloProvider can
be wrapped in EIP-1193 partially compatible object (request + args)

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#400](#400)
[`38fe4d0`](38fe4d0)
Thanks [@shazarre](https://github.com/shazarre)! - Upgrades to latest
devchain

- [#446](#446)
[`42d091f`](42d091f)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Bump @celo/abis-12

- [#420](#420)
[`fb08485`](fb08485)
Thanks [@shazarre](https://github.com/shazarre)! - Adds actual Celo
chain id when running anvil

- Updated dependencies
\[[`fb08485`](fb08485)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`eba89a3`](eba89a3),
[`43e8474`](43e8474),
[`7bc05c2`](7bc05c2),
[`33ad4aa`](33ad4aa),
[`42d091f`](42d091f),
[`b83d8c4`](b83d8c4),
[`36c4369`](36c4369),
[`4ef76eb`](4ef76eb),
[`76045eb`](76045eb),
[`38fe4d0`](38fe4d0),
[`26b9779`](26b9779),
[`fb08485`](fb08485),
[`d5c9204`](d5c9204)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#463](#463)
[`eba89a3`](eba89a3)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add
GovernanceSlasher to RegisteredContractsEnum

- [#421](#421)
[`7d42a05`](7d42a05)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - minor update to
inquirer lib

- [#446](#446)
[`42d091f`](42d091f)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Bump @celo/abis-12

- [#421](#421)
[`7d42a05`](7d42a05)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix being unable to
use 08 and mento contracts with proposal builder

- Updated dependencies
\[[`eba89a3`](eba89a3),
[`43e8474`](43e8474),
[`7bc05c2`](7bc05c2),
[`33ad4aa`](33ad4aa),
[`42d091f`](42d091f),
[`b83d8c4`](b83d8c4),
[`36c4369`](36c4369),
[`4ef76eb`](4ef76eb),
[`76045eb`](76045eb),
[`38fe4d0`](38fe4d0),
[`26b9779`](26b9779),
[`fb08485`](fb08485),
[`d5c9204`](d5c9204)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- [#408](#408)
[`d988d31`](d988d31)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Improve support for celo-legacy and modern txs within ledger

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix issue where
ledger running celo firmware app 1.1.10 could not send fee token
transactions or perform and interactions with those contracts

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- [#408](#408)
[`d988d31`](d988d31)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Improve support for celo-legacy and modern txs within ledger

- [#443](#443)
[`a23246e`](a23246e)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! - Safer
handling of v from device

- [#427](#427)
[`ee33677`](ee33677)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Change a dependency to use npm rather than github

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- [#408](#408)
[`d988d31`](d988d31)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Improve support for celo-legacy and modern txs within ledger

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]


<!-- start pr-codex -->

---

## PR-Codex overview
This PR primarily focuses on updating the versions of various `@celo`
packages from beta versions to stable releases, along with some minor
dependency updates and changelog entries for new features and fixes.

### Detailed summary
- Deleted multiple `.changeset` files.
- Updated versions for `@celo/base`, `@celo/utils`, `@celo/connect`,
`@celo/contractkit`, and several wallet packages from beta to stable.
- Added changelog entries for patch updates in various packages.
- Improved support for ledger transactions and fixed bugs related to
wallet interactions.

> The following files were skipped due to too many changes: `yarn.lock`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants