Skip to content
Compare
Choose a tag to compare
@github-actions github-actions released this 11 Dec 15:55
· 11 commits to master since this release
2c37ec4

Major Changes

  • #340 33ad4aa Thanks @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

    - import { createAccountClaim } from '@celo/contractkit/lib/identity/claims/account'
    + import { createAccountClaim } from '@celo/metadata-claims/lib/account'
    - 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

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

    using viem it would be like

    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 7bc05c2 Thanks @shazarre! - Exposes EpochManager.getElectedSigners contract method

  • 76045eb Thanks @shazarre! - ValidatorsWrapper: add registerValidatorNoBls to allow registration without BLS keys which are not supported in L2

Patch Changes

  • #463 eba89a3 Thanks @aaronmgdr! - Add GovernanceSlasher to RegisteredContractsEnum

  • #467 43e8474 Thanks @shazarre! - fix: add transferOwnership() to proxy abi list

  • #446 42d091f Thanks @aaronmgdr! - Bump @celo/abis-12

  • #480 b83d8c4 Thanks @aaronmgdr! - Recommended node version is now node 20

  • #455 36c4369 Thanks @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 38fe4d0 Thanks @shazarre! - Renames getElected and its usages to getElectedAccounts for EpochManagerWrapper

  • #456 d5c9204 Thanks @nicolasbrugneaux! - Backwards compat for some methods using epoch's block numbers

  • Updated dependencies [c4b9c6d, d988d31, 4ef76eb, 26b9779, fb08485]: