Official repository for core projects comprising the Celo platform
APACHE-2.0 License
Bot releases are hidden (Show)
Published by alecps over 1 year ago
Adds ability to timeout ODIS requests with an AbortController to the identity SDK https://github.com/celo-org/celo-monorepo/pull/10131
@celo/identity
Published by aaronmgdr almost 2 years ago
celocli governace:show
will now display human readable overview of proposed transactions when interacting with non core celo contracts (via sourcify)Published by aaronmgdr almost 2 years ago
Published by dckesler almost 2 years ago
Published by alecps almost 2 years ago
Add support for arbitrary off-chain identifiers in the @celo-org/identity sdk. Previously, the sdk was written to be phone number specific and identifiers were prefixed with tel://
after returning from ODIS. This update adds new prefixes for twitter + email and refactors the code to be identifier agnostic.
Published by alecps almost 2 years ago
ODIS 2.0.0 is a complete refactor of ODIS that adds support for
phoneNumberPrivacy-1
and the more recent version of that key share (generated during the resharing ceremony on 10/22/21) should be labeled phoneNumberPrivacy-2
. The CIP40 key share generated during the DKG ceremony on 10/22/21 should be named domains-1
.phoneNumberPrivacy
(with versions 1 and 2) and domains
(with only version 1). The KEYSTORE_GOOGLE_SECRET_NAME env variable isn't used anymore.true
in order to enable all APIs (See Signer README for more info)LEGACY_PHONE_NUMBER_PRIVACY_API_ENABLED
PHONE_NUMBER_PRIVACY_API_ENABLED
DOMAINS_API_ENABLED
NOTE / UPDATE : This upgrade is currently incompatible with MySQL. If you're using MySQL for your signer DB, please let us know and hold off on upgrading.
NOTE: You will not be able to roll back the upgrade because the database will be updated in a non-backwards compatible way. If your signer is having trouble starting up, it is almost certainly an issue with how your keys are labeled. Please double check your key configuration prior to upgrading, and if an issue does occur there's no need to worry. The system is able to handle limited downtime from 1 or 2 signers at a time and we will be readily available on discord to help troubleshoot.
master
, run yarn && yarn build
from the root directory (might take 10-15 mins), and follow the Validating before going live
instructions in the Signer README to test that your service is configured properly. If you encounter difficulties or would like further guidance, don't hesitate to reach out on Discord.Support for ODIS 2.0.0, including new types, enums, error messages, and more. From now on, request and response types should be imported directly from this package instead of the identity SDK when directly querying ODIS, or else using the convenience query methods in the identity SDK.
blind-threshold-bls
dependency to allow for browser compatibility.btoa
dependency.@celo/poprf
from ^0.1.6 to ^0.1.9Published by alecps almost 2 years ago
This release provides SDK support for querying ODIS 2.0.0, including the new ODIS quota endpoints. Changes are primarily in the @celo/identity
SDK.
getPhoneNumberIdentifier
: new required parameters -- existing function calls must be updated.queryOdis
: new required parameters -- existing function calls must be updated.getBlindedPhoneNumberSignature
: optional parameters have changed -- existing function calls should be reviewed and possibly updated.@phone-number-privacy-common
.OdisUtils.Matchmaking
, has been removed.StableTokenRegistry
, see this PR for more detailsWasmBlsBlindingClient
.@phone-number-privacy-common
from 1.0.39 to 2.0.0@celo/poprf
from ^0.1.6 to ^0.1.9Published by aaronmgdr about 2 years ago
Published by aaronmgdr about 2 years ago
Published by aaronmgdr about 2 years ago
This Release fixes issue with 1.7.1. not being able to approve until 1.3.0.0 Governance.sol is deployed. Approve fails since it expects proposal in Referendum stage.
1.7.2 is compatible with both pre 1.3.0.0 and post 1.3.0.0 Governance
Published by aaronmgdr about 2 years ago
Add Payment Delegation Commands to the CLI by @swidnikk
Parallelize approval and referendum governance stages by @pahor167
yarn add @celo/[email protected]
1.7.0 was accidentally published pointing to alpha release of @celo/contrctkit without alpha tag or name. but is otherwise essentially identical
Published by aaronmgdr about 2 years ago
Published by aaronmgdr about 2 years ago
Published by aaronmgdr about 2 years ago
Published by aaronmgdr about 2 years ago
celocli releasegold:admin-revoke
command by @yorhodes in https://github.com/celo-org/celo-monorepo/pull/8749
celocli network:parameters
by @yorhodes in https://github.com/celo-org/celo-monorepo/pull/8651
Published by aaronmgdr about 2 years ago
grandamento:execute
, grandamento:get-buy-amount
, small fixes, and some Granda Mento wrapper fns by @tkporter in https://github.com/celo-org/celo-monorepo/pull/8612
Published by 0xarthurxyz about 2 years ago
This is the eighth release of the Celo Core Contracts. It follows the release process per the docs.
Release 8 adds a new identity registry contract, FederatedAttestations.sol, to the Celo Core Contracts. Similar to Attestations.sol, this new contract records mappings from bytes32 identifiers to addresses, and is used primarily to resolve off-chain identities like phone numbers to addresses so that users can more easily send each other payments. The Federated Attestations protocol introduces 'trusted' issuers that verify claims about a user's identity, such as their phone number (see this doc for more info). In the original Celo identity protocol, Attestations.sol mappings can only be updated by a fixed 'issuer', which is a randomly selected quorum of 3 Celo Validators that must each verify the user's phone number by sending separate SMS messages. This design minimizes trust requirements, but leads to subpar UX and performance. The FederatedAttestations.sol contract partitions the identifier to address mapping by issuer so that users of the contract can filter for mappings verified by issuers they trust, such as well-known telcos or mobile wallets. This allows applications that trust each other to benefit from an open and interoperable identity protocol while retaining control of their UX and performance. For example, a mobile wallet will now be able to verify phone numbers on Celo using any method of choice (i.e. secret code, magic link, SIM card) while also optimizing success rates in regions that are most critical for its specific market strategy.
In addition to FederatedAttestations.sol, release 8 includes updates to Escrow.sol to allow escrowed payments to be gatekeeped by the same 'trusted' issuer logic described above (see this design doc for more info)
Finally, release 8 adds a new OdisPayments.sol contract to which future payments for ODIS quota will be directed. ODIS is a distributed system consisting of 7 'signers' each possessing a partial share of a BLS private key (see the docs for more info). These signers accept requests to sign blinded messages according to a rate limit determined by the request type. In both the original identity protocol and the new Federated Attestations protocol phone numbers are signed by ODIS and hashed before they are recorded on-chain to preserve user privacy. The goal of ODIS's rate limit is to impose a cost on querying phone number identifiers so that reading phone numbers from the blockchain in large quantities is prohibitively expensive. While the original ODIS rate limit imposed this cost by calculating quota as a function of on-chain transaction history, the new rate limit will impose this cost by requiring direct payments to a smart contract. This change has been made in order to make ODIS's privacy guarantees more explicit, and is enabled by the fact that most ODIS requests will now be routed through issuer servers as part of the Federated Attestations protocol. (see this PR for more details)
Contract Name | Old | New |
---|---|---|
Escrow |
1.1.1.2 | 1.2.0.0 |
FederatedAttestations |
0.0.0.0 | 1.1.0.0 |
UsingRegistryV2 |
1.0.0.0 | 1.1.1.0 |
UsingRegistryV2BackwardsCompatible |
0.0.0.0 | 1.1.0.0 |
OdisPayments |
0.0.0.0 | 1.1.0.0 |
Published by m-chrzan over 2 years ago
This is the seventh release of the Celo Core Contracts. It follows the release process per the docs.
OpenZeppelin Core Contracts Release 7 Audit: Part 1, Part 2
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.
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.
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.
A simple sanity check that ensures the Exchange's spread, which is meant to be
a percentage, is less than or equal to 100%.
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 |
Published by aaronmgdr over 2 years ago
Crypto functions and utils that were move out of the @celo/utils package to reduce bundle size
an SDK for creating PIN/password encrypted user data backups as used by PEAR
See Upgrade Guide
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
Connection
rather than a kit
as an argument.MiniContractKit
a minimal version of contract kit with acess to only a few contracts and wrappers
Published by m-chrzan over 2 years ago
This is the seventh release of the Celo Core Contracts. It follows the release process per the docs.
OpenZeppelin Core Contracts Release 7 Audit (to be published soon)
TODO
TODO