diff --git a/.changeset/afraid-seas-cross.md b/.changeset/afraid-seas-cross.md new file mode 100644 index 0000000000..b1ff580dec --- /dev/null +++ b/.changeset/afraid-seas-cross.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +fix governance:build-proposal with contracts from mento or which use solidity 0.8 diff --git a/.changeset/breezy-panthers-sort.md b/.changeset/breezy-panthers-sort.md new file mode 100644 index 0000000000..8bed45fef2 --- /dev/null +++ b/.changeset/breezy-panthers-sort.md @@ -0,0 +1,7 @@ +--- +'@celo/contractkit': patch +'@celo/governance': patch +'@celo/celocli': patch +--- + +Add GovernanceSlasher to RegisteredContractsEnum diff --git a/.changeset/calm-sheep-tie.md b/.changeset/calm-sheep-tie.md new file mode 100644 index 0000000000..f4c719d150 --- /dev/null +++ b/.changeset/calm-sheep-tie.md @@ -0,0 +1,5 @@ +--- +'@celo/dev-utils': patch +--- + +Upgrades to latest devchain diff --git a/.changeset/chilled-cycles-smell.md b/.changeset/chilled-cycles-smell.md new file mode 100644 index 0000000000..a36bfb9e26 --- /dev/null +++ b/.changeset/chilled-cycles-smell.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': major +--- + +Remove transfer:gold -- this was an old alias for transfer:celo which has the same functionality diff --git a/.changeset/dirty-crabs-trade.md b/.changeset/dirty-crabs-trade.md new file mode 100644 index 0000000000..758e92d4a3 --- /dev/null +++ b/.changeset/dirty-crabs-trade.md @@ -0,0 +1,5 @@ +--- +"@celo/contractkit": patch +--- + +fix: add transferOwnership() to proxy abi list diff --git a/.changeset/dry-gifts-love.md b/.changeset/dry-gifts-love.md new file mode 100644 index 0000000000..05f30b04a6 --- /dev/null +++ b/.changeset/dry-gifts-love.md @@ -0,0 +1,5 @@ +--- +'@celo/viem-account-ledger': major +--- + +Initial release diff --git a/.changeset/dull-windows-travel.md b/.changeset/dull-windows-travel.md new file mode 100644 index 0000000000..bfc1cead84 --- /dev/null +++ b/.changeset/dull-windows-travel.md @@ -0,0 +1,9 @@ +--- +'@celo/celocli': major +--- + +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` \ No newline at end of file diff --git a/.changeset/fair-points-beg.md b/.changeset/fair-points-beg.md new file mode 100644 index 0000000000..b55157c548 --- /dev/null +++ b/.changeset/fair-points-beg.md @@ -0,0 +1,5 @@ +--- +'@celo/wallet-ledger': patch +--- + +Fix issue where ledger running celo firmware app 1.1.10 could not send fee token transactions or perform and interactions with those contracts diff --git a/.changeset/famous-cherries-kick.md b/.changeset/famous-cherries-kick.md new file mode 100644 index 0000000000..2cb3e55107 --- /dev/null +++ b/.changeset/famous-cherries-kick.md @@ -0,0 +1,5 @@ +--- +'@celo/governance': patch +--- + +minor update to inquirer lib diff --git a/.changeset/few-seals-matter.md b/.changeset/few-seals-matter.md new file mode 100644 index 0000000000..0331144a74 --- /dev/null +++ b/.changeset/few-seals-matter.md @@ -0,0 +1,12 @@ +--- +'@celo/wallet-hsm-azure': patch +'@celo/wallet-hsm-aws': patch +'@celo/wallet-hsm-gcp': patch +'@celo/wallet-ledger': patch +'@celo/wallet-remote': patch +'@celo/wallet-local': patch +'@celo/wallet-base': patch +'@celo/wallet-hsm': patch +--- + +Force patch bump wallets to deal with version conflict diff --git a/.changeset/fifty-dots-travel.md b/.changeset/fifty-dots-travel.md new file mode 100644 index 0000000000..7368ee1f9a --- /dev/null +++ b/.changeset/fifty-dots-travel.md @@ -0,0 +1,5 @@ +--- +'@celo/contractkit': minor +--- + +Exposes EpochManager.getElectedSigners contract method diff --git a/.changeset/fifty-roses-explain.md b/.changeset/fifty-roses-explain.md new file mode 100644 index 0000000000..9376ae647d --- /dev/null +++ b/.changeset/fifty-roses-explain.md @@ -0,0 +1,6 @@ +--- +'@celo/cryptographic-utils': patch +'@celo/celocli': patch +--- + +Add warning that ETH derivation path will be the default in a future major breaking change. diff --git a/.changeset/funny-sheep-repeat.md b/.changeset/funny-sheep-repeat.md new file mode 100644 index 0000000000..3dfe8bad23 --- /dev/null +++ b/.changeset/funny-sheep-repeat.md @@ -0,0 +1,5 @@ +--- +'@celo/metadata-claims': minor +--- + +Add support for RPC_URL claim type diff --git a/.changeset/gold-pumas-fry.md b/.changeset/gold-pumas-fry.md new file mode 100644 index 0000000000..c06ee3719f --- /dev/null +++ b/.changeset/gold-pumas-fry.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': major +--- + +Remove support for reserve:\* commands. As foretold by https://forum.celo.org/t/sunset-of-reserve-commands/8454 diff --git a/.changeset/good-peas-type.md b/.changeset/good-peas-type.md new file mode 100644 index 0000000000..eb3b46e00d --- /dev/null +++ b/.changeset/good-peas-type.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +deprecates the flags --whitelisters and --nonwhitelisters from the governance:show command diff --git a/.changeset/good-trees-reply.md b/.changeset/good-trees-reply.md new file mode 100644 index 0000000000..38e111ba9e --- /dev/null +++ b/.changeset/good-trees-reply.md @@ -0,0 +1,6 @@ +--- +'@celo/celocli': major +--- +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. \ No newline at end of file diff --git a/.changeset/healthy-days-smile.md b/.changeset/healthy-days-smile.md new file mode 100644 index 0000000000..914f5cb0ba --- /dev/null +++ b/.changeset/healthy-days-smile.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Fix rewards:show for L2 diff --git a/.changeset/hip-suits-search.md b/.changeset/hip-suits-search.md new file mode 100644 index 0000000000..5811cf97ec --- /dev/null +++ b/.changeset/hip-suits-search.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Dont show flags for privateKey, gasCurrency, useLedger, and related flags in help for commands which dont actually make use of them. diff --git a/.changeset/hot-pugs-nail.md b/.changeset/hot-pugs-nail.md new file mode 100644 index 0000000000..1ac80cec46 --- /dev/null +++ b/.changeset/hot-pugs-nail.md @@ -0,0 +1,42 @@ +--- +'@celo/contractkit': major +--- + +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]), + } +``` diff --git a/.changeset/hungry-cups-juggle.md b/.changeset/hungry-cups-juggle.md new file mode 100644 index 0000000000..7ea711cda9 --- /dev/null +++ b/.changeset/hungry-cups-juggle.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Fix incorrect message where the transfered token was used as gas token in the messaging but not in actuality diff --git a/.changeset/lemon-gorillas-explain.md b/.changeset/lemon-gorillas-explain.md new file mode 100644 index 0000000000..3bf0592174 --- /dev/null +++ b/.changeset/lemon-gorillas-explain.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': minor +--- + +Adds support for safe integration for L2 hotfix security council approvals diff --git a/.changeset/little-carpets-argue.md b/.changeset/little-carpets-argue.md new file mode 100644 index 0000000000..f91b7b50fc --- /dev/null +++ b/.changeset/little-carpets-argue.md @@ -0,0 +1,7 @@ +--- +'@celo/wallet-ledger': patch +'@celo/wallet-local': patch +'@celo/wallet-base': patch +--- + +Improve support for celo-legacy and modern txs within ledger diff --git a/.changeset/loud-kids-dress.md b/.changeset/loud-kids-dress.md new file mode 100644 index 0000000000..eee835e1db --- /dev/null +++ b/.changeset/loud-kids-dress.md @@ -0,0 +1,7 @@ +--- +'@celo/contractkit': patch +'@celo/governance': patch +'@celo/dev-utils': patch +--- + +Bump @celo/abis-12 diff --git a/.changeset/many-cobras-live.md b/.changeset/many-cobras-live.md new file mode 100644 index 0000000000..4f6b730420 --- /dev/null +++ b/.changeset/many-cobras-live.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Fix Transfering, exchanging cusd (and other fee tokens) and or using gasCurrency flag with ledger devices prior to 1.2 diff --git a/.changeset/moody-falcons-remain.md b/.changeset/moody-falcons-remain.md new file mode 100644 index 0000000000..02ec211be7 --- /dev/null +++ b/.changeset/moody-falcons-remain.md @@ -0,0 +1,8 @@ +--- +'@celo/celocli': major +--- +Remove commands identity:identifier, identity:get-attestations + +See https://forum.celo.org/t/rfc-deprecation-of-celocli-identity-commands/8676 + + diff --git a/.changeset/nice-fireants-cheat.md b/.changeset/nice-fireants-cheat.md new file mode 100644 index 0000000000..4c8bf3b72a --- /dev/null +++ b/.changeset/nice-fireants-cheat.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +when account:new is called it displays the full bip44 derivation path in the output. Before it would miss the last 2 positions. diff --git a/.changeset/orange-penguins-sneeze.md b/.changeset/orange-penguins-sneeze.md new file mode 100644 index 0000000000..fddd030270 --- /dev/null +++ b/.changeset/orange-penguins-sneeze.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': minor +--- + +Removes L2 BLS keys support for account:authorize diff --git a/.changeset/perfect-pianos-jump.md b/.changeset/perfect-pianos-jump.md new file mode 100644 index 0000000000..91a167591b --- /dev/null +++ b/.changeset/perfect-pianos-jump.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Show deprecated warning on flags which will be removed after cel2 launch diff --git a/.changeset/polite-pets-push.md b/.changeset/polite-pets-push.md new file mode 100644 index 0000000000..c47cea168f --- /dev/null +++ b/.changeset/polite-pets-push.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Fix: account:new can now be called without a node diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000000..a631522595 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,78 @@ +{ + "mode": "pre", + "tag": "beta", + "initialVersions": { + "@celo/celocli": "5.2.3", + "@celo/dev-utils": "0.0.6", + "@celo/base": "6.1.0", + "@celo/connect": "6.0.2", + "@celo/contractkit": "8.3.0", + "@celo/cryptographic-utils": "5.1.0", + "@celo/explorer": "5.0.12", + "@celo/governance": "5.1.3", + "@celo/keystores": "5.0.11", + "@celo/metadata-claims": "0.0.1", + "@celo/network-utils": "5.0.6", + "@celo/phone-utils": "6.0.3", + "@celo/transactions-uri": "5.0.11", + "@celo/utils": "7.0.0", + "@celo/wallet-base": "6.0.3", + "@celo/wallet-hsm": "6.0.3", + "@celo/wallet-hsm-aws": "6.0.3", + "@celo/wallet-hsm-azure": "6.0.3", + "@celo/wallet-hsm-gcp": "6.0.3", + "@celo/wallet-ledger": "6.0.3", + "@celo/wallet-local": "6.0.3", + "@celo/wallet-remote": "6.0.3", + "@celo/typescript": "0.0.1", + "@celo/viem-account-ledger": "0.0.1" + }, + "changesets": [ + "afraid-seas-cross", + "breezy-panthers-sort", + "calm-sheep-tie", + "chilled-cycles-smell", + "dirty-crabs-trade", + "dry-gifts-love", + "dull-windows-travel", + "fair-points-beg", + "famous-cherries-kick", + "few-seals-matter", + "fifty-dots-travel", + "fifty-roses-explain", + "funny-sheep-repeat", + "gold-pumas-fry", + "good-peas-type", + "good-trees-reply", + "healthy-days-smile", + "hip-suits-search", + "hot-pugs-nail", + "hungry-cups-juggle", + "lemon-gorillas-explain", + "little-carpets-argue", + "loud-kids-dress", + "many-cobras-live", + "moody-falcons-remain", + "orange-penguins-sneeze", + "perfect-pianos-jump", + "polite-pets-push", + "purple-phones-try", + "real-camels-argue", + "rude-parrots-know", + "rude-schools-help", + "seven-pets-buy", + "sharp-shirts-count", + "smart-berries-accept", + "smart-guests-refuse", + "strong-flowers-heal", + "thirty-pugs-smile", + "three-spies-wonder", + "tricky-bobcats-trade", + "twenty-humans-beg", + "twenty-rocks-pull", + "warm-papayas-smile", + "weak-beers-itch", + "wild-impalas-smoke", + "yellow-chicken-fold" + ] +} diff --git a/.changeset/purple-phones-try.md b/.changeset/purple-phones-try.md new file mode 100644 index 0000000000..29f070990f --- /dev/null +++ b/.changeset/purple-phones-try.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Show --node and --useLedger flags when --help is called. Show aliases for networks in --node help diff --git a/.changeset/real-camels-argue.md b/.changeset/real-camels-argue.md new file mode 100644 index 0000000000..4dafd8b227 --- /dev/null +++ b/.changeset/real-camels-argue.md @@ -0,0 +1,17 @@ +--- +'@celo/contractkit': patch +--- + +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 | + diff --git a/.changeset/rude-parrots-know.md b/.changeset/rude-parrots-know.md new file mode 100644 index 0000000000..020097fa39 --- /dev/null +++ b/.changeset/rude-parrots-know.md @@ -0,0 +1,17 @@ +--- +'@celo/base': major +'@celo/utils': major +--- + +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 + + + diff --git a/.changeset/rude-schools-help.md b/.changeset/rude-schools-help.md new file mode 100644 index 0000000000..e573ff9ded --- /dev/null +++ b/.changeset/rude-schools-help.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +use onchain values instead of static for lock requirements diff --git a/.changeset/seven-pets-buy.md b/.changeset/seven-pets-buy.md new file mode 100644 index 0000000000..0eb3e11cd6 --- /dev/null +++ b/.changeset/seven-pets-buy.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': minor +--- + +validator:signed-blocks not supported on L2 anymore, fixes validator:status L2 diff --git a/.changeset/sharp-shirts-count.md b/.changeset/sharp-shirts-count.md new file mode 100644 index 0000000000..38f28f2e5e --- /dev/null +++ b/.changeset/sharp-shirts-count.md @@ -0,0 +1,5 @@ +--- +'@celo/dev-utils': patch +--- + +Adds actual Celo chain id when running anvil diff --git a/.changeset/smart-berries-accept.md b/.changeset/smart-berries-accept.md new file mode 100644 index 0000000000..1f1bd091f2 --- /dev/null +++ b/.changeset/smart-berries-accept.md @@ -0,0 +1,5 @@ +--- +'@celo/contractkit': minor +--- + +ValidatorsWrapper: add registerValidatorNoBls to allow registration without BLS keys which are not supported in L2 diff --git a/.changeset/smart-guests-refuse.md b/.changeset/smart-guests-refuse.md new file mode 100644 index 0000000000..64d3c76cc2 --- /dev/null +++ b/.changeset/smart-guests-refuse.md @@ -0,0 +1,5 @@ +--- +'@celo/contractkit': patch +--- + +Renames `getElected` and its usages to `getElectedAccounts` for `EpochManagerWrapper` diff --git a/.changeset/strong-flowers-heal.md b/.changeset/strong-flowers-heal.md new file mode 100644 index 0000000000..b79ad95c63 --- /dev/null +++ b/.changeset/strong-flowers-heal.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': patch +--- + +Gracefully throw if --estimate wasnt passed on L1 diff --git a/.changeset/tasty-hounds-occur.md b/.changeset/tasty-hounds-occur.md new file mode 100644 index 0000000000..aad440fd25 --- /dev/null +++ b/.changeset/tasty-hounds-occur.md @@ -0,0 +1,5 @@ +--- +'@celo/base': minor +--- + +add DerivationPathAliases export diff --git a/.changeset/tasty-schools-reply.md b/.changeset/tasty-schools-reply.md new file mode 100644 index 0000000000..6477936d62 --- /dev/null +++ b/.changeset/tasty-schools-reply.md @@ -0,0 +1,6 @@ +--- +'@celo/celocli': minor +--- + +For `account:new` command add alias "celoLegacy" to the `--derivationPath` flag + diff --git a/.changeset/thirty-pugs-smile.md b/.changeset/thirty-pugs-smile.md new file mode 100644 index 0000000000..5b9db67881 --- /dev/null +++ b/.changeset/thirty-pugs-smile.md @@ -0,0 +1,26 @@ +--- +'@celo/metadata-claims': major +--- + +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]), + } +``` \ No newline at end of file diff --git a/.changeset/three-spies-wonder.md b/.changeset/three-spies-wonder.md new file mode 100644 index 0000000000..dd594f5e04 --- /dev/null +++ b/.changeset/three-spies-wonder.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': minor +--- + +Introduces a new command `account:claim-rpc-url` allowing to claim RPC URLs diff --git a/.changeset/tricky-bobcats-trade.md b/.changeset/tricky-bobcats-trade.md new file mode 100644 index 0000000000..9982688b32 --- /dev/null +++ b/.changeset/tricky-bobcats-trade.md @@ -0,0 +1,5 @@ +--- +'@celo/metadata-claims': patch +--- + +Publish lib instead of src diff --git a/.changeset/twenty-humans-beg.md b/.changeset/twenty-humans-beg.md new file mode 100644 index 0000000000..06d454b818 --- /dev/null +++ b/.changeset/twenty-humans-beg.md @@ -0,0 +1,6 @@ +--- +'@celo/wallet-ledger': patch +'@celo/viem-account-ledger': patch +--- + +Safer handling of v from device diff --git a/.changeset/twenty-rocks-pull.md b/.changeset/twenty-rocks-pull.md new file mode 100644 index 0000000000..b7892c2ac9 --- /dev/null +++ b/.changeset/twenty-rocks-pull.md @@ -0,0 +1,5 @@ +--- +'@celo/celocli': minor +--- + +BLS keys are now optional as being deprecated on L2, validator:register and releasecelo:authorize no longer require them in L2 context diff --git a/.changeset/warm-papayas-smile.md b/.changeset/warm-papayas-smile.md new file mode 100644 index 0000000000..714615872f --- /dev/null +++ b/.changeset/warm-papayas-smile.md @@ -0,0 +1,5 @@ +--- +'@celo/connect': minor +--- + +Now CeloProvider can be wrapped in EIP-1193 partially compatible object (request + args) diff --git a/.changeset/weak-beers-itch.md b/.changeset/weak-beers-itch.md new file mode 100644 index 0000000000..c9654affc7 --- /dev/null +++ b/.changeset/weak-beers-itch.md @@ -0,0 +1,5 @@ +--- +'@celo/governance': patch +--- + +Fix being unable to use 08 and mento contracts with proposal builder diff --git a/.changeset/wild-impalas-smoke.md b/.changeset/wild-impalas-smoke.md new file mode 100644 index 0000000000..6dd1fb5177 --- /dev/null +++ b/.changeset/wild-impalas-smoke.md @@ -0,0 +1,7 @@ +--- +'@celo/wallet-ledger': patch +'@celo/viem-account-ledger': patch +'@celo/celocli': patch +--- + +Change a dependency to use npm rather than github diff --git a/.changeset/yellow-chicken-fold.md b/.changeset/yellow-chicken-fold.md new file mode 100644 index 0000000000..05aa1a5e70 --- /dev/null +++ b/.changeset/yellow-chicken-fold.md @@ -0,0 +1,5 @@ +--- +'@celo/contractkit': patch +--- + +Backwards compat for some methods using epoch's block numbers diff --git a/.gitguardian.yml b/.gitguardian.yml new file mode 100644 index 0000000000..7139a1b7b3 --- /dev/null +++ b/.gitguardian.yml @@ -0,0 +1,13 @@ +secret: + ignored_matches: + - match: dbccfd558fe041f8b370e82596f2732b61703b74b92f777b005807bdc2889364 + name: account:new test private key + - match: 48f5aabb105a51bb5c24546a6083448f95f7b01f6abe28e101b64ecca905f474 + name: account:new test private key + - match: e0f4a80756dc55c69bb4068ed44c41b7629e7f40558437889105bc721764e275 + name: account:new test private key + - match: fcfdf730d67ee3413e4cbe560bc545427b74caddadbac7bea0cf0e0d9698a79c + name: account:new test private key + - match: eb04975ce604ca9ccf7348eb4c6baf299760b4ddcf8ad35b77f23c601c8b7242 + name: wallet-rpc private test key +version: 2 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 43b60853b3..ceb6e11500 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,10 @@ ### Description -_A few sentences describing the overall effects and goals of the pull request's commits. -What is the current behavior, and what is the updated/expected behavior with this PR?_ +_Tell us why these changes are being made_ -### Other changes +#### Other changes -_Describe any minor or "drive-by" changes here._ +_Describe any minor or "drive-by" changes here. If none delete this section_ ### Tested @@ -14,11 +13,3 @@ _An explanation of how the changes were tested or an explanation as to why they ### Related issues - Fixes #[issue number here] - -### Backwards compatibility - -_Brief explanation of why these changes are/are not backwards compatible._ - -### Documentation - -_The set of community facing docs that have been added/modified because of this change_ \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c29d07e8b1..af8fc95a5e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,7 @@ on: - master - changeset-release/master - prerelease/* + - hotfixes pull_request: types: [opened, reopened, synchronize, edited, ready_for_review] @@ -254,6 +255,30 @@ jobs: with: report-name: "contractkit-ganache" + cli-package-verification: + name: CeloCli Package Verification + runs-on: ['self-hosted', 'org', '8-cpu'] + timeout-minutes: 30 + permissions: # Must change the job token permissions to use Akeyless JWT auth + id-token: write + contents: read + needs: [install-dependencies] + steps: + - uses: actions/checkout@v4 + - name: Sync workspace + uses: ./.github/actions/sync-workspace + with: + artifacts_to_cache: ${{ needs.install-dependencies.outputs.artifacts_to_cache }} + - name: Install globally as a package + run: | + npm install -g $RUNNER_WORKSPACE/developer-tooling/packages/cli + - name: Print out the current version + run: | + celocli --version + - name: Test that it prints out alfajores contracts + run: | + celocli network:info --node alfajores + cli-tests-anvil: name: CeloCli Tests (Anvil) runs-on: ['self-hosted', 'org', '8-cpu'] @@ -317,9 +342,8 @@ jobs: needs: [install-dependencies] if: | github.base_ref == 'master' || contains(github.base_ref, 'staging') || contains(github.base_ref, 'production') || - contains(needs.install-dependencies.outputs.all_modified_files, 'packages/cli') || + contains(needs.install-dependencies.outputs.all_modified_files, 'packages/**') || contains(needs.install-dependencies.outputs.all_modified_files, 'packages/sdk') || - contains(needs.install-dependencies.outputs.all_modified_files, 'packages/typescript') || contains(needs.install-dependencies.outputs.all_modified_files, ',package.json') || contains(needs.install-dependencies.outputs.all_modified_files, ',yarn.lock') || false diff --git a/.github/workflows/cron-npm-install.yml b/.github/workflows/cron-npm-install.yml index 56b04de68e..c3e36df272 100644 --- a/.github/workflows/cron-npm-install.yml +++ b/.github/workflows/cron-npm-install.yml @@ -20,9 +20,9 @@ jobs: fail-fast: false matrix: package: - - '@celo/utils@beta' - - '@celo/contractkit@beta' - - '@celo/celocli@beta' + - '@celo/utils@beta' + - '@celo/contractkit@beta' + - '@celo/celocli@beta' steps: - name: Install @celo/celocli dependencies if: matrix.package == '@celo/celocli@beta' @@ -30,6 +30,8 @@ jobs: apt update apt install -y libusb-1.0-0-dev libudev-dev npm install node-gyp --global + git config --global url."https://".insteadOf ssh:// + - name: Installing npm package run: npm install ${{ matrix.package }} --global - name: Test celocli command diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5c35874d0e..5fd95d32b4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -3,9 +3,8 @@ name: Release Packages on: push: branches: - - main - master - - 'prerelease/*' + - hotfixes concurrency: ${{ github.workflow }}-${{ github.ref }} diff --git a/.gitignore b/.gitignore index 11d572ad76..9ea5b7afdf 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,5 @@ package.json-e # Ignore generated credentials from google-github-actions/auth gha-creds-*.json transactions.json +packages/sdk/metadata-claims/lib +packages/cli/key diff --git a/.prettierignore b/.prettierignore index f267b654ba..a608710dfa 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,6 +7,7 @@ package.json packages/**/dist packages/**/lib +packages/**/lib-es # Needed because we have packages/celotool/src/lib !packages/celotool/src/** diff --git a/README.md b/README.md index 01b7b79348..3ebfc8cdce 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ This repository contains source code for: - [`@celo/wallet-ledger`](https://www.npmjs.com/package/@celo/wallet-ledger) - [`@celo/wallet-local`](https://www.npmjs.com/package/@celo/wallet-local) - [`@celo/wallet-remote`](https://www.npmjs.com/package/@celo/wallet-remote) - - [`@celo/wallet-rpc`](https://www.npmjs.com/package/@celo/wallet-rpc) ## Contributing diff --git a/RELEASE.md b/RELEASE.md index d4ce619133..c947a4d65f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -10,7 +10,7 @@ Being assigned as the release steward means you are expected to deliver * Release notes on github for every package (automatically created by changesets bot) * If the release is significant a forum post with the highlights and link back to release notes -### What is a signicant release +### What is a significant release This is intentionally not defined. Some guiding principles: if it has been a long time, if someone will be asking about the release, if there are big fixes. @@ -45,7 +45,7 @@ require a patch, minor, or major update. ## Package Versioning -Based on [semantic versioning best practices](semver.org),g iven a version number +Based on [semantic versioning best practices](semver.org), given a version number `MAJOR.MINOR.PATCH`, increment the: - `MAJOR` version when you make incompatible API changes diff --git a/codecov.yml b/codecov.yml index 4de04af97e..69164f232b 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,17 +1,39 @@ coverage: status: - project: + patch: default: + target: 80% + only_pulls: true + +comment: + layout: 'header, diff, components' + +ignore: + - 'packages/typescript' + - 'docs' + - '.github' + - '.changeset' + +component_management: + default_rules: + statuses: + - type: project target: auto - threshold: null - removed_code_behavior: adjust_base - celotool: - paths: - - packages/celotool - celocli: - paths: - - packages/cli - sdk: - paths: - - packages/sdk - patch: off + individual_components: + - component_id: celocli + name: celocli + paths: + - packages/cli + - component_id: sdks + name: sdk + paths: + - '!packages/sdk/wallets/**' + - 'packages/sdk/**' + - component_id: wallets + name: wallets + paths: + - 'packages/sdk/wallets/**' + - component_id: viem-sdks + name: viem-sdks + paths: + - 'packages/viem-**' diff --git a/docs/command-line-interface/account.md b/docs/command-line-interface/account.md index 83f395b15e..1d721c5c23 100644 --- a/docs/command-line-interface/account.md +++ b/docs/command-line-interface/account.md @@ -9,6 +9,7 @@ Manage your account, keys, and metadata * [`celocli account:claim-domain ARG1`](#celocli-accountclaim-domain-arg1) * [`celocli account:claim-keybase ARG1`](#celocli-accountclaim-keybase-arg1) * [`celocli account:claim-name ARG1`](#celocli-accountclaim-name-arg1) +* [`celocli account:claim-rpc-url ARG1`](#celocli-accountclaim-rpc-url-arg1) * [`celocli account:claim-storage ARG1`](#celocli-accountclaim-storage-arg1) * [`celocli account:create-metadata ARG1`](#celocli-accountcreate-metadata-arg1) * [`celocli account:deauthorize`](#celocli-accountdeauthorize) @@ -21,7 +22,6 @@ Manage your account, keys, and metadata * [`celocli account:offchain-read ARG1`](#celocli-accountoffchain-read-arg1) * [`celocli account:offchain-write`](#celocli-accountoffchain-write) * [`celocli account:proof-of-possession`](#celocli-accountproof-of-possession) -* [`celocli account:recover-old`](#celocli-accountrecover-old) * [`celocli account:register`](#celocli-accountregister) * [`celocli account:register-data-encryption-key`](#celocli-accountregister-data-encryption-key) * [`celocli account:register-metadata`](#celocli-accountregister-metadata) @@ -42,10 +42,17 @@ Keep your locked Gold more secure by authorizing alternative keys to be used for USAGE $ celocli account:authorize --from 0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d -r vote|validator|attestation --signature 0x --signer - 0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d [--gasCurrency - 0x1234567890123456789012345678901234567890] [--globalHelp] [--blsKey 0x --blsPop 0x] + 0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d [-k | --useLedger | ] [-n + ] [--gasCurrency 0x1234567890123456789012345678901234567890] + [--ledgerAddresses ] [--globalHelp] [--blsKey 0x --blsPop 0x] FLAGS + -k, --privateKey= + Use a private key to sign local transactions with + + -n, --node= + URL of the node to run commands against or an alias + -r, --role=