Skip to content

Releases: celo-org/celo-monorepo

CLI 1.5

12 Aug 12:21
6af818c
Compare
Choose a tag to compare

What's Changed

CLI v1.3.0

12 Aug 12:09
6e6f873
Compare
Choose a tag to compare

What's Changed

https://www.npmjs.com/package/@celo/celocli/v/1.3.0

Core Contracts Release 7

08 Jun 12:07
Compare
Choose a tag to compare
Pre-release

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

26 Apr 21:50
5cfd162
Compare
Choose a tag to compare

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 a kit 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

15 Mar 21:49
9acf3d0
Compare
Choose a tag to compare
Pre-release

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

17 Jan 15:34
Compare
Choose a tag to compare

Release Notes

This is a backwards-compatible release that includes the following features/fixes:

  • feature: configure Twilio Verify or Messaging by country
  • bugfix: signature parsing error for EIP712TypedData
  • 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 to 1.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

14 Feb 23:04
2538345
Compare
Choose a tag to compare
Pre-release

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

29 Sep 23:03
3b853bc
Compare
Choose a tag to compare

Release Notes

This is a backwards-compatible release that includes the following features/fixes:

Relevant Commits included

  • e9cc99923c75bcff14310c6fa2269483dcd283fd
  • ef0a683f708455b5fe2a120c929feb3ed4d32b95

Core Contracts Release 5

04 Aug 23:34
Compare
Choose a tag to compare

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

21 Jul 22:41
77a3922
Compare
Choose a tag to compare

Release Notes

Commits included

  • 77a392216d4927e85ce4b683508fc0539aa92a34