Releases: celo-org/celo-monorepo
CLI 1.5
What's Changed
CLI v1.3.0
What's Changed
- Improve validator signer authorization examples by @kphed in #7612
- Fix loss of precision releasegold:withdraw CLI command by @oneeman in #7748
- AS base docker image by @codyborn in #7749
- [cli] transfer:erc20 and balance commands by @gastonponti in #7753
- Add token address support to oracle commands. by @pedro-clabs in #8010
- Upgrade vulnerable dependencies by @eruizgar91 in #8073
- Granda Mento support in CLI by @martinvol in #8534
- CLI governance:propose support for dependencies on existing proposals by @tkporter in #8550
- Add
grandamento:execute
,grandamento:get-buy-amount
, small fixes, and some Granda Mento wrapper fns by @tkporter in #8612 - Remove validator group confirmation for revoking votes by @dckesler in #8637
Core Contracts Release 7
Release Notes:
This is the seventh release of the Celo Core Contracts. It follows the release process per the docs.
Audits:
OpenZeppelin Core Contracts Release 7 Audit: Part 1, Part 2
Key updates in this release:
Release 7 gives validators the option to delegate a portion of their epoch
payments, provides some modifications to stable token related contracts to
simplifying deployments of new stable tokens, provides a safer way of interacting
with LockedGold pending withdrawals on-chain (paving the way for liquid staking
derivatives), and adds an extra sanity check in the Exchange.
- Allow validators to delegate part of their epoch payment (#8993)
This change allows validators to specify an address that will receive a fraction
of each of their epoch payments, allowing e.g. regular donations of part of
their payments.
-
Fixed Exchange.sol reverting on deployment due to expecting sortedOracles report on null address (#8334)
-
Remove oracle check (#9367)
These two changes will allow a future stable token deployment flow that is much
more convenient and faster than what is necessary with the current release
process. Currently, several separate governance proposals need to pass, each
executing after the others, leading to a new stable token requiring several
weeks from first proposal to on-chain activation. With careful changes to sanity
checks, this could be reduced to needing a single governance proposal.
- Get pending withdrawal (#9369)
Previously, the only way to access an account's pending withdrawals was by
calling the getPendingWithdrawals
function, which would return the array of
all pending withdrawals for that account. This makes it difficult to implement
onchain LockedGold accounts governed by a smart contract -- if any party is able
to create new pending withdrawals, once the pending withdrawals array gets big
enough, getPendingWithdrawals
would revert every time due to the gas cost of
reading the entire array into memory.
This PR introduces a new getPendingWithdrawal
function that looks up a single
pending withdrawal given a particular index.
- Added a spread bound check in the setSpread function (#9252)
A simple sanity check that ensures the Exchange's spread, which is meant to be
a percentage, is less than or equal to 100%.
Specific Version Updates:
Contract Name | Old | New |
---|---|---|
Accounts |
1.1.3.0 | 1.1.4.0 |
LockedGold |
1.1.1.2 | 1.1.2.0 |
Validators |
1.2.0.2 | 1.2.0.3 |
Exchange |
1.1.1.0 | 1.2.0.0 |
ExchangeBRL |
1.1.1.0 | 1.2.0.0 |
ExchangeEUR |
1.1.1.0 | 1.2.0.0 |
GrandaMento |
1.1.0.0 | 1.1.0.1 |
Reserve |
1.1.2.1 | 1.1.2.2 |
ContractKit SDKs v2.0
Version 2 of Releases for ConractKit SDKs Suite
- @celo/base
- @celo/connect
- @celo/contractkit
- @celo/cryptographic-utils
- @celo/dappkit
- @celo/encrypted-backup
- @celo/explorer
- @celo/governance
- @celo/identity
- @celo/keystores
- @celo/network-utils
- @celo/phone-utils
- @celo/transactions-uri
- @celo/utils
- @celo/wallet-base
- @celo/wallet-**
New Packages
@celo/cryptographic-utils
Crypto functions and utils that were move out of the @celo/utils package to reduce bundle size
@celo/encrypted-backup
an SDK for creating PIN/password encrypted user data backups as used by PEAR
Breaking Changes
See Upgrade Guide
@celo/utils
-
All Phone number and Country related functions have been removed. Please import from @celo/phone-utils instead
-
comment encryption, bls and mneumonic functions moved to @celo/cryptographic-utils
@celo/contractkit
- AccountsWrapper.authorizeValidatorSigner now requires a ValidatorWrapper as third param
- WrapperCache, AddressRegistry, Contract Wrappers, proxySend now require a
Connection
rather than akit
as an argument.
New Features
@celo/contractkit
MiniContractKit
a minimal version of contract kit with acess to only a few contracts and wrappers
Core Contracts Release 7
Release Notes:
This is the seventh release of the Celo Core Contracts. It follows the release process per the docs.
Audits:
OpenZeppelin Core Contracts Release 7 Audit (to be published soon)
Key updates in this release:
TODO
Specific Version Updates:
Core Contracts
TODO
Attestation Service 1.5.0
Release Notes
This is a backwards-compatible release that includes the following features/fixes:
- feature: configure Twilio Verify or Messaging by country
- we recommend using the configuration settings specified here
- see this PR for more details
- bugfix: signature parsing error for EIP712TypedData
- see this PR for more details
- bugfix: make ongoingDeliveryId index non-unique to fix rare bug with Verify API
- see this PR for more details
- note: though this will change the structure of database, this is not a breaking change. If downgrading from Attestation Service
v1.5.0
to1.4.0-
, this can in rare cases cause a one-time dip in automatic resends for in-progress attestations.
Relevant Commits included
7d47b0b5fa3b80165091d1e0c1732503cc83b618
de7d9a9c071cd20d86b164ae1da0b1d8f15d8b4e
cf48bd7dd467fc86196ea302c50683207be04329
Core Contracts Release 6
Release Notes:
This is the sixth release of the Celo Core Contracts. It follows the release process per the docs.
Audits:
OpenZeppelin Core Contracts Release 6 Audit (to be published soon)
Key updates in this release:
Release 6 allows wallet and other application developers easier access to off-chain storage, fixes a small bug in the LockedGold contract, and cleans up an unnecessary function in Solidity libraries.
- Provide direct access to CIP8 storage URLs onchain, bypassing CIP3 (#8360)
CIP8 was originally defined on top of CIP3. This meant that two network hops were necessary to access the CIP8 storage URL (first request the CIP3 URL from the Celo blockchain, then look up the CIP3 data, including the CIP8 URL, over HTTP based on that URL). Modifying the CIP8 URL also meant modifying and reuploading the entire CIP3 file. PR 8360 adds direct access to multiple CIP8 URLs in the Accounts smart contract, making it easier to access and modify these endpoints.
- Require that slashing reporters are accounts, to ensure reporter can receive locked CELO (#8854)
Slashing rewards are denominated in locked CELO (managed by the LockedGold smart contract). Locked CELO can only be managed by accounts on the Accounts smart contract. Previously there was no check ensuring that a slashing reporter had an account, thus the locked CELO credited as a reporter reward could have ended up indefinitely unusable.
- Remove unneccesary getVersionNumber() function declaration in contract libraries (#8349).
Core Celo contracts implement a getVersionNumber()
function, as per the Celo Smart Contracts release process. This function should only be implemented on concrete, non-library smart contracts deployed on-chain, but was previously also implemented on several library contracts. The unnecessary function was removed from these libraries, forcing PATCH version increases on several contracts:
- Accounts
- Election
- Governance
- LockedGold
- Attestations
- Escrow
- SortedOracles
- Validators
Specific Version Updates:
Core Contracts
Contract Name | Old | New |
---|---|---|
Accounts |
1.1.2.0 | 1.1.3.0 |
Attestations |
1.1.1.1 | 1.1.1.2 |
Election |
1.1.2.0 | 1.1.2.1 |
Escrow |
1.1.1.1 | 1.1.1.2 |
Governance |
1.2.1.0 | 1.2.1.1 |
LockedGold |
1.1.1.1 | 1.1.1.2 |
SortedOracles |
1.1.2.0 | 1.1.2.1 |
Validators |
1.2.0.1 | 1.2.0.2 |
Attestation Service 1.4.0
Release Notes
This is a backwards-compatible release that includes the following features/fixes:
- features: local signing (via keystores) and fallback node support
- Setup instructions here
- see this PR and this PR for more details
- bugfix: logs truncation error
- see this PR for more details
Relevant Commits included
e9cc99923c75bcff14310c6fa2269483dcd283fd
ef0a683f708455b5fe2a120c929feb3ed4d32b95
Core Contracts Release 5
Release Notes:
This is the fifth release of the Celo Core Contracts. It follows the release process per the docs.
Audits:
OpenZeppelin Core Contracts Release 5 Audit
Key updates in this release:
Release 5 addresses a community demand for large volume exchanges which aren't suited for Mento or OTC. It also fixes a small bug in the Validators contract which only has implications for newborn networks (discovered on our private testnets) and adds an additional registry utility for contract developer usage.
- Granda Mento smart contract implementation #8129
Granda Mento is a mechanism to facilitate large CELO <-> stable token (e.g. cXXX) exchanges that aren't suitable via Mento or OTC. GrandaMento is a new contract that can exchange CELO <-> stable token for any stable token Governance explicitly enables. Exchanges via this contract must be approved by a multisig and can be vetoed by the Governance contract. For more detailed information, please reference CIP-0038.
- Make
updateMembershipHistory
in Validators.sol correct if epoch number is 0 #8060
This change fixes a bug in the Validators contract that has not appeared in a production environment. It is motivated by cLabs usage of mycelo testnets that apply migration results as part of genesis generation. A validator's membership history is currently not updated when there is are no history entries (ie when epoch == 0).
- UsingRegistryV2 contract with static registry address #7837
This new contract is an alternative to UsingRegistry that contains no storage variables for more lightweight inheritance.
Specific Version Updates:
Core Contracts
Contract Name | Old | New |
---|---|---|
GrandaMento |
- | 1.1.0.0 |
StableToken |
1.2.0.0 | 1.2.0.1 |
StableTokenEUR |
1.1.0.0 | 1.1.0.1 |
Validators |
1.2.0.0 | 1.2.0.1 |
Attestation Service 1.3.0
Release Notes
Commits included
77a392216d4927e85ce4b683508fc0539aa92a34